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

Issue 636521 link

Starred by 0 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug

Blocking:
issue 624991



Sign in to add a comment

SELECT dropdown appears in wrong place in multidpi setup

Project Member Reported by kulshin@chromium.org, Aug 10 2016

Issue description

Version: 54.0.2825.0 (Official Build) canary (64-bit)
OS: Win10

I have a setup with one monitor at 100% dpi and another at 150% (see attached). When I navigate to http://www.roboform.com/filling-test-shopping-cart and click on the combobox dropdowns they appear in the wrong place on the 100% dpi monitor (see attached). The dropdowns are fine on the hidpi monitor.


 
display1.png
32.5 KB View Download
display2.png
33.0 KB View Download
multidpipopup.png
150 KB View Download
Components: UI>HighDPI
Blocking: 624991
Status: Assigned (was: Untriaged)
Labels: -Pri-3 Pri-2
I can only get this to repro if the window spans multiple displays. Once I move the Chrome window fully to the 1x monitor, the select control displays in the correct position.

I can't seem to repro this on the screenshots displayed. What else do you have on your setup that allows this to repro on a maximized window?
Tested it with M52, and it was working fine, but still repros in canary. Only thing I can think of is that I have the hidpi display set as primary. Also repros for the dropdowns in the bug tracker, so I don't think it's anything specific to that site.
I'm still not able to repro with a 1.5x primary and 1.0x secondary. Is there something else I might have to do?

I can only repro with the view straddling two monitors, and that comes down to a complication of multiple coordinate systems overlaid on a view (the left and right coordinate systems to not mesh completely, so when the view's origin is on the 1.5x screen and the rest of the view is on the 1.0x screen, the view's origin doesn't work for absolute placement on the 1.0x screen)
Still repros for me. I start with two monitors, both at 100% dpi and the left one set as the main display. Then I go into display settings, move the slider just for the left display to 150% and click apply. Then sign out of Windows when prompted and sign back in. After launching chrome (it comes up maximized on the right 100%dpi display) the bug will repro on the 100% dpi display. Everything works fine on the 150% dpi display.

It seems that the maximized bit is important: the bug repros if chrome is maximized on the 100%dpi display. If it is not maximized then the bug will not repro.
Project Member

Comment 7 by bugdroid1@chromium.org, Aug 23 2016

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

commit 9383a8485d22e2f4c3ac1c7405a8f00593c6f1d9
Author: robliao <robliao@chromium.org>
Date: Tue Aug 23 17:56:29 2016

Scale Rect Origins Using the Specified HWND's Display

Previously, the origin and rect sizing were scaled independently, which
meant that the origin could be scaled using one display and the size
could be scaled with another display.

With this change, the origin uses the same display used with the size.

Bonus Fix: GetScreenWinDisplayNearestDIPRect now returns the correct
ScreenWinDisplay. If the display touched the DIP rect, the function
would immediately return when a intersecting display would have been
a better choice.

BUG= 636521 

Review-Url: https://codereview.chromium.org/2267123002
Cr-Commit-Position: refs/heads/master@{#413782}

[modify] https://crrev.com/9383a8485d22e2f4c3ac1c7405a8f00593c6f1d9/ui/display/win/screen_win.cc
[modify] https://crrev.com/9383a8485d22e2f4c3ac1c7405a8f00593c6f1d9/ui/display/win/screen_win_unittest.cc

Status: Fixed (was: Assigned)

Sign in to add a comment