New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 707721 link

Starred by 10 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows
Pri: 1
Type: Bug-Regression



Sign in to add a comment

dialogs are invisible when browser is maximized on second HIDPI screen

Reported by sebastia...@gmail.com, Apr 3 2017

Issue description

UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36

Steps to reproduce the problem:
1. open a maximized Chromium window on second (left) screen
2. show dialog (e.g. type "javascript:alert('test')" in address bar)
3. dialog is invisible

What is the expected behavior?
When the same steps are taken on but on my other (right) monitor, everything works as expected (dialog is visible).

What went wrong?
The dialog is only invisible when the browser window is on my left screen and maximised. Not when it is not-maximised or maximised on my right screen.

Everything worked fine in Chromium 56.

Did this work before? Yes 56

Chrome version: 57.0.2987.133  Channel: stable
OS Version: Arch Linux
Flash Version: 

Tested with both chromium and google-chrome 57.

My desktop consists of 2 4K screens next to each other (total resolution 7680x2160).
 
cast.mkv
5.4 MB Download
Forgot to mention: I'm using 2x DPI scaling.
Labels: Needs-Triage-M57
Labels: Needs-Bisect
Labels: TE-NeedsTriageFromMTV TE-Hardware-Dependency
Unable to reproduce the issue on Ubuntu 14.04 using chrome reported version #57.0.2987.133.

Attached a screen cast for reference

Following are the steps followed to reproduce the issue.
------------
1. Opened a maximized chrome window on second (left) screen.
2. Typed "javascript:alert('test')" in address bar and pressed enter.
3. Observed that dialog window remained visible as expected.

Note: The set up of 2 4K screens with (total resolution 7680x2160) is not available with India-TE.

Hence, adding labels TE-Hardware-Dependency and TE-NeedsTriageFromMTV for further investigation.

Thanks...!!
707721.mp4
3.0 MB View Download
Still happens with Chromium/Chrome 58

Comment 6 by a...@chromium.org, May 4 2017

Owner: thomasanderson@chromium.org
Tom, related to the Linux dialog issues you're working on?
I'm on archlinux with KDE and Chromium GTK Design


Chromium	59.0.3071.109 (Entwickler-Build) (64-Bit)
Überarbeitung	9f4b44b898b326679817ee5a327256f8fac6ee75
Betriebssystem	Linux
JavaScript	V8 5.9.211.38
Flash	26.0.0.131 /usr/lib/PepperFlash/libpepflashplayer.so
User-Agent	Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.109 Safari/537.36
Befehlszeile	/usr/lib/chromium/chromium --ppapi-flash-path=/usr/lib/PepperFlash/libpepflashplayer.so --ppapi-flash-version=26.0.0.131 --flag-switches-begin --ignore-gpu-blacklist --flag-switches-end
Ausführbarer Pfad	/usr/lib/chromium/chromium

No dialogs work: javascript:alert(), confirm(), right click edit bookmarks, confirm extension install.


I'm on 2xHiDPI Screens and it's broken on both screens regardless of the window size / maximization
Labels: -Needs-Bisect
Removing from Bisect bucket since TE was not able to repro.

Cc: thomasanderson@chromium.org a...@chromium.org
 Issue 727149  has been merged into this issue.
Owner: kylixrd@chromium.org
Status: Assigned (was: Unconfirmed)
Summary: dialogs are invisible when browser is maximized on second HIDPI screen (was: dialogs (alert, prompt) are invisible when browser is maximized on second screen)
Bisected the issue to:
https://chromium.googlesource.com/chromium/src/+/51116b9a03e97df9962af7b22e0f3661dbd6efb3

Allen can you ptal?  It looks like constrained_window_views.cc mixes up pixel and dip coordinates.

I can repro on my machine by doing the following:
1. Use a dual-monitor setup
2. Launch chrome with --force-device-scale-factor=2
3. Maximize the chrome window on the secondary monitor
4. Go to chrome://extensions and click the trash can icon next to an extension
   - The dialog is missing and you cannot interact with the chrome window
I *think* this was fixed in M62.

(I'm not entirely sure as the look of the header bar has changed slightly so maybe it's just that the window now has different dimensions).
Not fixed for me on M63+ for Linux.
With 63.0.3239.18-1 on Linux, works without --force-device-scale-factor=2, but broken --force-device-scale-factor=2.

My test setup:

2x 4k displays (side-by-side)

Start 63.0.3239.18 with:

google-chrome-beta --force-device-scale-factor=2 --user-data-dir=/tmp/tmp3

Maximise Chrome window full screen on the right-hand display (DP-2-8 connected 3840x2160+3840+0), then log in to Google account (via person icon at top-right).  The final "you are logged in" modal popup doesn't display (so e.g. ctrl-t doesn't open a new tab).  The invisible popup can be dismissed with return or Esc, then ctrl-t works.
Cc: dalecur...@chromium.org
Labels: M-64
@kylixrd, this is a serious regression that has been going on for more than 6 months. Can you please provide an update? If you're not planning to look at this, I'll try to find some time to dig in otherwise.
Still an issue in Chromium 64. I've created another cast that shows some strange behavior which might help you fix it.
cast.mp4
4.5 MB View Download
Components: Blink>WindowDialog
Labels: -Pri-2 Pri-1
Bumping pri in that case; +what might be the right component?
Labels: -Needs-Triage-M57 -M-64 M-66
M64 has already shipped.
I'm unable to reproduce this issue. By chance, do those that can reproduce this have dual-GPUs? Such as a laptop using the internal display along with an external one? Does turning off hardware acceleration help?
No, single Nvidia GeForce GTX 970 on a desktop machine. Turning off hardware acceleration does not help.
By the way, I can no longer reproduce this by typing "javascript:alert('test')" in my address bar. 

Other methods such as prompts when leaving a page or uninstalling extensions from chrome://extensions still cause the problem.
c#20: Did you try the repro steps in c#11?  On Linux at least, it only reproduces when the scale factor is >1, so I use --force-device-scale-factor=2 (Chrome UI should look huge).  Not sure if that flag works on Windows though.
I can reliably reproduce it on my corp linux machine. Turning off hardware acceleration also didn't help. It's the standard Z440v2 build we use for most workstations. The frustrating thing is this is the only linux machine I have that exhibits this behavior, and I've not been able to figure out what I've done to curse this one specifically.




Yes, I tried that. I see the dialog. I'm also using the latest version I built on my corp machine.

Has this been reproduced on the latest Canary build?
Oh, I should note that for me, the dialogs are only invisible when the window *isn't* maximized. On a maximized window they show up fine.
I use Windows exclusively for Chrome development. I only build for Linux on a Cloudtop instance, into which I login to using Chromoting. Those instances don't support multiple monitors.

If this reproduces more readily on Linux, I'd recommend someone doing Chrome Linux development take this.
c#25: Yes, I can repro on Google Chrome 66.0.3346.8 dev and 968a8093f6234763dae7b4ca9d367cb7e345646a ToT

Comment 29 by drott@chromium.org, May 28 2018

Cc: drott@chromium.org
Cc: robliao@chromium.org
Ping. This has 10 stars and is Pri-1 with a known bisect. Please fix or reassign to someone who can. +robliao 
Cc: timbrown@chromium.org
+timbrown could you ptal?  We have a bisect and repro instructions in c#11
Cc: kylixrd@chromium.org
Owner: thomasanderson@chromium.org
Status: Started (was: Assigned)
I did some small investigations on this yesterday. I suspect there are two issues.

One is the confusion between pixel and dip coordinates.

The other thing I found (on linux) is that the work area for a forced scaling factor of 2 on the second monitor has its origin at 0,0 (and the first monitor has the origin where the 2nd should). In other words, the origins for the work areas of the monitors are reversed (but only for a scaling factor of 2). I didn't track down where this came from.
Project Member

Comment 34 by bugdroid1@chromium.org, Jun 4 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2752a03ba6435130848aa620b7ab4246eec2f77a

commit 2752a03ba6435130848aa620b7ab4246eec2f77a
Author: Tom Anderson <thomasanderson@chromium.org>
Date: Mon Jun 04 22:09:08 2018

X11: Fix mixup between DIP/pixel coordinates

BUG= 707721 
R=sky

Change-Id: Ibbbff9c2c815700324f553a3b66e878f76938534
Reviewed-on: https://chromium-review.googlesource.com/1083692
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#564261}
[modify] https://crrev.com/2752a03ba6435130848aa620b7ab4246eec2f77a/ui/views/widget/desktop_aura/desktop_screen_x11.cc

Status: Fixed (was: Started)
I can confirm that the issue is now fixed. Thanks all!

Sign in to add a comment