New issue
Advanced search Search tips

Issue 659673 link

Starred by 3 users

Issue metadata

Status: Verified
Owner:
Closed: Jan 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug

Blocking:
issue 600815



Sign in to add a comment

Mash has wrong display bounds with HDPI

Project Member Reported by kylec...@chromium.org, Oct 26 2016

Issue description

Mash isn't handling display bounds correctly with HDPI devices. It looks like mash is using the DIP display bounds found in the display::Display. I think that is correct as mash should operate in DIP. However, it's sending those coordinates back to mus without converting to physical pixels, so it's only drawing to 1/4 of the screen if device_scale_factor=2. See attached screenshot.

Steps to reproduce:
./chrome --mash --ash-debug-shortcuts --ash-dev-shortcuts --screen-config=1000x1000^300

sadrul@ mentioned the client lib should handle the DIP to physical pixel conversion.
 
Screenshot from 2016-10-26 11:52:30.png
37.8 KB View Download

Comment 1 by sadrul@chromium.org, Oct 26 2016

Owner: riajiang@chromium.org
Status: Assigned (was: Untriaged)
"However, it's sending those coordinates back to mus without converting ..."

Just to be clear: I assume you mean the window bounds, right? (since mash wouldn't be sending display bounds to mus)

--> riajiang@
sadrul: yes, windows bounds.
Components: UI>Shell
Labels: Proj-Mustash-Milestone-Tadpole
Project Member

Comment 4 by bugdroid1@chromium.org, Oct 27 2016

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

commit 9755471c9184c02067587445e7781ec66309c214
Author: kylechar <kylechar@chromium.org>
Date: Thu Oct 27 22:22:07 2016

Use physical pixels for display root ServerWindow.

The WS window tree for a display should be in physical pixels instead of
DIP. Change the display root ServerWindow size so this is true.

BUG= 659673 

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

[modify] https://crrev.com/9755471c9184c02067587445e7781ec66309c214/services/ui/ws/display.cc
[modify] https://crrev.com/9755471c9184c02067587445e7781ec66309c214/services/ui/ws/display.h

Labels: -display-mustash mustash-display
Project Member

Comment 6 by bugdroid1@chromium.org, Nov 10 2016

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

commit 47a013537bc0f554137b3ac2db6ce7762ff624f6
Author: kylechar <kylechar@chromium.org>
Date: Thu Nov 10 00:37:39 2016

Fix root ServerWindow size.

The root ServerWindow was changed to be created using physical pixel
size. When the root ServerWindow gets updated however it was still using
DIP size.

Use physical pixel size instead of DIP size. Also, don't need to check
if root_ exists, as it is initialized in the constructor, so should
always be there.

BUG= 659673 

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

[modify] https://crrev.com/47a013537bc0f554137b3ac2db6ce7762ff624f6/services/ui/ws/display.cc
[modify] https://crrev.com/47a013537bc0f554137b3ac2db6ce7762ff624f6/services/ui/ws/display.h
[modify] https://crrev.com/47a013537bc0f554137b3ac2db6ce7762ff624f6/services/ui/ws/display_manager.cc
[modify] https://crrev.com/47a013537bc0f554137b3ac2db6ce7762ff624f6/services/ui/ws/platform_display.cc

Labels: -Pri-2 -Proj-Mustash-Mash Proj-Mustash-Mash-WM Pri-1
Components: Internals>MUS
Blocking: 600815
Status: Fixed (was: Assigned)
Labels: mash

Comment 12 by dchan@google.com, Apr 17 2017

Labels: VerifyIn-59
Status: Verified (was: Fixed)
Components: -Internals>MUS Internals>Services>WindowService

Sign in to add a comment