New issue
Advanced search Search tips

Issue 658787 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Dec 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 3
Type: Bug-Regression



Sign in to add a comment

Tabs UI usability (+visual) problem

Reported by scorpe...@gmail.com, Oct 24 2016

Issue description

Chrome Version       : 54.0.2840.71 m
URLs (if applicable) :
Other browsers tested: Chrome UI-specific issue
(tested on Windows 10)

What steps will reproduce the problem?
(1) Set the DPI in Windows to be above 100% (even 125% will do, I'm using it at 200% on my 4K monitor)
(2) Maximize Chrome

What is the expected result?
Tabs are on the very top of the display, so clicking at the top of the display will switch to that tab.


What happens instead?
There is a gap between the tabs and the top of the display. Clicking at it won't switch to that tab, because you're only clicking at the gap. The mouse icon at the top of the display (over the gap) is a resize icon despite Chrome being maximized and clicking it won't do anything.


Please provide any additional information below. Attach a screenshot if
possible.
Tested on another machine and on Chrome 53 this seems to be OK, this issue was probably introduced in 54.

Added screenshots with 100% spi (no issue) and 200% dpi (issue marked with red).
 
chrome54_100dpi.png
2.1 KB View Download
chrome54_200dpi_marked.png
4.5 KB View Download
Cc: kkaluri@chromium.org
Labels: -Type-Bug hasbisect OS-Windows Type-Bug-Regression
Owner: robliao@chromium.org
Status: Assigned (was: Unconfirmed)
Able to reproduce this issue on both Windows 10 on latest chrome stable version 54.0.2840.71 
Issue is broken in M53. 

Below are the bisect details for the same:

Bisect Info:
===========

Good build:53.0.2781.0,  Revision Range(402177)
Bad build: 53.0.2782.0,  Revision Range(402386)


After executing the bisect script, i got all good builds, so then manually looking into CL's between these two builds
i got the following CL

=============================================================================================== 
https://chromium.googlesource.com/chromium/src/+log/53.0.2781.0..53.0.2782.0?pretty=fuller&n=10000


The suspecting Change Log is :
-----------
https://chromium.googlesource.com/chromium/src/+/d71e32d341aeff06994f268bda7b110fb2df48be

From the above CL suspecting the below change
Review URL:  https://codereview.chromium.org/2093993003

robliao@- Could you please look into this issue, if it's related to your change?  if not could you please help us to reassign this issue to the right owner.

Thanks.!

Cc: robliao@chromium.org
Components: UI>HighDPI
Owner: ----
Status: Available (was: Assigned)
It's unlikely caused by this change as WM_DPICHANGED is targeted systems with multiple monitors.

Comment 3 by bsep@chromium.org, Nov 2 2016

Cc: -robliao@chromium.org bsep@chromium.org
Owner: robliao@chromium.org
Rob: I think this is related to multi-mon support more generally.

When I fixed this same issue previously, it was because SM_CYSIZEFRAME was being converted to dips lossily. I took at look at that code and there's a call to GetDPIScale there now (https://cs.chromium.org/chromium/src/chrome/browser/ui/views/frame/glass_browser_frame_view.cc?q=glass_browser_frame_view.cc&sq=package:chromium&dr&l=464), which I think is deprecated, so maybe that's causing trouble?

I have one monitor configured right now. When I changed from 1.5 -> 2.0 dsf it reproduced at first, but when I logged out and back in it stopped reproducing. I'm guessing it'll also reproduce with a multimon setup, since GetDPIScale doesn't take that into account.

I don't mind helping fix this if you're busy, since it's an area I'm somewhat familiar with.

Comment 4 by scorpe...@gmail.com, Nov 27 2016

After some further testing, sometimes I had trouble reproducing this issue and sometimes I could, and now I think this might be more of a system-level (Windows) problem than just Chrome-specific.

The reason why I think this is because
-it always happens after a cold boot (meaning that my PC was off for several hours before). After restarting my PC or just re-logging in to Windows the issue is gone
-everytime it happens, also some (but not all) of my desktop icons are messed up too

Attached some screenshots where you can see what's wrong.
So it looks like some system-level Windows issue in high-dpi mode. But I haven't found this bug elsewhere and not sure where to report it.
icons_good_cropped.png
199 KB View Download
icons_bad_cropped.png
199 KB View Download
chrome_good.png
247 KB View Download
chrome_bad.png
248 KB View Download
Project Member

Comment 5 by bugdroid1@chromium.org, Dec 14 2016

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

commit b297db871b54cd58c32c96897a7a59af295ba796
Author: robliao <robliao@chromium.org>
Date: Wed Dec 14 23:36:17 2016

Call EnableNonClientDpiScaling

Windows versions after 10.0.14393.0 have EnableNonClientDpiScaling,
performing the same function as EnableChildWindowDpiMessage for us.

EnableChildWindowDpiMessage was also removed in 10.0.14393.0 if not
earlier.

This change also allows delegates to handle the WM_NCCREATE message,
required to properly call EnableNonClientDpiScaling.

BUG= 642956 ,  658787 

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

[modify] https://crrev.com/b297db871b54cd58c32c96897a7a59af295ba796/ui/events/win/event_utils_win_unittest.cc
[modify] https://crrev.com/b297db871b54cd58c32c96897a7a59af295ba796/ui/gfx/win/window_impl.cc
[modify] https://crrev.com/b297db871b54cd58c32c96897a7a59af295ba796/ui/views/win/hwnd_message_handler.cc
[modify] https://crrev.com/b297db871b54cd58c32c96897a7a59af295ba796/ui/views/win/hwnd_message_handler.h

Status: Fixed (was: Available)
Tab strip is now laying out correctly for me in 2x and 1x on 57.0.2952.0. If I've missed a repro case. Feel free to reopen.

Sign in to add a comment