New issue
Advanced search Search tips

Issue 734758 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner: ----
Closed: Jul 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug



Sign in to add a comment

iFrame becomes unresponsive in multi-monitor setup

Reported by o...@streak.com, Jun 19 2017

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.32 Safari/537.36

Steps to reproduce the problem:
I tried to make them as small as possible, but unfortunately still complex.

1. Use a retina macbook pro (I have a late 2013 15" model)
2. Connect monitor to Apple Thunderbolt Display
3. unzip attached "brokenIframe.zip" file
4. install brokenIframe folder as an unpacked extension
5. go to the brokeniframe folder in your terminal
6. start a webserver on port 8000. (I used python -m SimpleHTTPServer 8000)
7. navigate to http://localhost:8000
8. You'll see the yellow modal come up and if nothing further happens that means a pop-up got blocked. Look at the address bar and go to the pop-up and authorize the app
9. the drive picker interface should now load up and be interactive
10. move the tab to the other monitor
11. notice that the drive picker interface is no longer interactive
12. move the tab back to the original monitor and notice the drive picker interface is interactive again

What is the expected behavior?
The drive picker should always be interactive.

What went wrong?
The drive picker became "frozen" and couldn't be interacted with when moved to another monitor.

Here's a video demonstrating the issue: https://goo.gl/photos/f5oXoRLSQPGykpFv9

Did this work before? N/A 

Does this work in other browsers? N/A

Chrome version: 60.0.3112.32  Channel: beta
OS Version: OS X 10.12.0
Flash Version: 

This doesn't appear to cause a problem when using a non-retina macbook (i.e. older macbook air).
 
brokenIframe.zip
3.7 KB Download

Comment 1 by o...@streak.com, Jun 19 2017

One more thing: this is broken on 59 as well. I'm using Chrome 60 beta because it has better iframe debugging.
Cc: rbasuvula@chromium.org
Components: UI
Labels: TE-NeedsTriageHelp
As per comment #6&7 in-house team not having the permission to create a local host.Adding respective label to triage the issue further.

Thank You! 
Correction : Point #6&7.
Components: -UI Blink>HTML>IFrame

Comment 5 by tkent@chromium.org, Jul 11 2017

Components: Blink>Input
Does the scenario work well if the secondary monitor is placed at the right or bottom of the primary monitor?

Comment 6 by o...@streak.com, Jul 11 2017

I'll check this first thing tomorrow morning.
ᐧ

Comment 7 by o...@streak.com, Jul 11 2017

I tried all arranging the monitors in all cardinal directions (i.e. primary
monitor top, bottom, left, and right) and all exhibited the same
problematic behavior.
ᐧ

Comment 8 by tkent@chromium.org, Jul 14 2017

Components: -Blink>HTML>IFrame

Comment 9 by o...@streak.com, Jul 20 2017

I have an updated/easier reproduction case so you don't have to run your own server.

All the code is in this repository: https://github.com/StreakYC/brokenIframe

New steps:

1. Use a retina macbook pro (I have a late 2013 15" model)
2. Connect monitor to Apple Thunderbolt Display
3. download the github repo zip (https://github.com/StreakYC/brokenIframe/archive/master.zip) and unzip it to a local folder
4. install brokenIframe folder as an unpacked extension
5. go to https://github.com/StreakYC/brokenIframe
6. You'll see the yellow modal come up and if nothing further happens that means a pop-up got blocked. Look at the address bar and go to the pop-up and authorize the app
7. the drive picker interface should now load up and be interactive
8. move the tab to the other monitor
9. notice that the drive picker interface is no longer interactive
10. move the tab back to the original monitor and notice the drive picker interface is interactive again

Cc: lfg@chromium.org
Status: Fixed (was: Unconfirmed)
I did a bisect and ended up finding the range below. It is already fixed in Chrome 61 which is our best candidate to fix this in. Try a dev or canary version and you will see it no longer reproduces.

This is likely fixed by lfg@'s change because it is sending a resize event when the frame moves off a hidpi display to a low dpi display and vice versa.

https://chromium.googlesource.com/chromium/src/+/95f00bd53528fee18ef3ccaa08690c6a1996045d

You are probably looking for a change made after 477789 (known bad), but no later than 477820 (first known good).
CHANGELOG URL:
  https://chromium.googlesource.com/chromium/src/+log/e164e3ceab4dd13fb4e240e5d663e8ddb43b2a03..2b07f89b0ab15ff76a01ede77d347e90bdcc6582

Comment 11 by o...@streak.com, Jul 24 2017

Thanks for the update! Since Chrome 61 is a couple of months away from stable is there anything we can do on our side in js/css/html to work around the issue (with the constraint that we still need the double embedded iframe structure)?

Sign in to add a comment