New issue
Advanced search Search tips

Issue 649008 link

Starred by 2 users

Issue metadata

Status: Archived
Owner:
Closed: Oct 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Support HDPI with mustash display management

Project Member Reported by kylec...@chromium.org, Sep 21 2016

Issue description

We need to pass more information from display::PlatformScreen to ui::ws::DisplayManager to support High-DPI mode. We need most/all of the following:
1. Display bounds in DIP.
2. Display size in pixels.
3. Display device scale factor.
4. Display ui scale factor.

Currently we assume device scale factor and ui scale factor are 1. This means the DIP and DDP size are the same.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Sep 23 2016

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

commit d768e9a95f246bbe36f72244fdc6be15dcc99387
Author: kylechar <kylechar@chromium.org>
Date: Fri Sep 23 22:47:44 2016

Pass device scale factor from display to ws in mustash.

Pass extra info from PlatfromScreen to it's delegate so that the device
bounds in DIP, the pixel size and device scale factor are available. The
the delegate happens to be the WS and it will use this information to
support high-DPI displays.

Most of the changes inside PlatformScreenOzone are throw away.
ash::DisplayManager already has this logic. We still have to finish
separating ash::DisplayManager from the rest of ash though,
necessitating a bit of code duplication until then.

The bounds of the display are in DIP. This is the format that is
expected from clients that receive the bounds via ScreenMus. The pixel
size of the display is needed for creating the PlatformWindow.

With this change mustash should run in high-DPI mode when running on a
device with a high-DPI internal display. It can also be enabled by
specifying the DPI for the fake display in Ozone X11, for example
--screen-config=800x800^300 will be high-DPI.

BUG= 649008 

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

[add] https://crrev.com/d768e9a95f246bbe36f72244fdc6be15dcc99387/services/ui/display/OWNERS
[modify] https://crrev.com/d768e9a95f246bbe36f72244fdc6be15dcc99387/services/ui/display/platform_screen_delegate.h
[modify] https://crrev.com/d768e9a95f246bbe36f72244fdc6be15dcc99387/services/ui/display/platform_screen_ozone.cc
[modify] https://crrev.com/d768e9a95f246bbe36f72244fdc6be15dcc99387/services/ui/display/platform_screen_ozone.h
[modify] https://crrev.com/d768e9a95f246bbe36f72244fdc6be15dcc99387/services/ui/display/platform_screen_ozone_unittests.cc
[modify] https://crrev.com/d768e9a95f246bbe36f72244fdc6be15dcc99387/services/ui/display/platform_screen_stub.cc
[modify] https://crrev.com/d768e9a95f246bbe36f72244fdc6be15dcc99387/services/ui/ws/BUILD.gn
[modify] https://crrev.com/d768e9a95f246bbe36f72244fdc6be15dcc99387/services/ui/ws/display.cc
[modify] https://crrev.com/d768e9a95f246bbe36f72244fdc6be15dcc99387/services/ui/ws/display.h
[modify] https://crrev.com/d768e9a95f246bbe36f72244fdc6be15dcc99387/services/ui/ws/display_manager.cc
[modify] https://crrev.com/d768e9a95f246bbe36f72244fdc6be15dcc99387/services/ui/ws/display_manager.h
[modify] https://crrev.com/d768e9a95f246bbe36f72244fdc6be15dcc99387/services/ui/ws/frame_generator.cc
[modify] https://crrev.com/d768e9a95f246bbe36f72244fdc6be15dcc99387/services/ui/ws/frame_generator_delegate.h
[modify] https://crrev.com/d768e9a95f246bbe36f72244fdc6be15dcc99387/services/ui/ws/platform_display.cc
[modify] https://crrev.com/d768e9a95f246bbe36f72244fdc6be15dcc99387/services/ui/ws/platform_display.h
[modify] https://crrev.com/d768e9a95f246bbe36f72244fdc6be15dcc99387/services/ui/ws/platform_display_delegate.h
[modify] https://crrev.com/d768e9a95f246bbe36f72244fdc6be15dcc99387/services/ui/ws/platform_display_init_params.cc
[modify] https://crrev.com/d768e9a95f246bbe36f72244fdc6be15dcc99387/services/ui/ws/platform_display_init_params.h
[modify] https://crrev.com/d768e9a95f246bbe36f72244fdc6be15dcc99387/services/ui/ws/test_utils.cc
[add] https://crrev.com/d768e9a95f246bbe36f72244fdc6be15dcc99387/services/ui/ws/viewport_metrics.h
[modify] https://crrev.com/d768e9a95f246bbe36f72244fdc6be15dcc99387/services/ui/ws/window_tree_host_factory.cc

Status: Fixed (was: Started)

Comment 3 by dchan@chromium.org, Oct 7 2016

Labels: VerifyIn-55

Comment 4 by dchan@google.com, Nov 19 2016

Labels: VerifyIn-56

Comment 5 by dchan@google.com, Jan 21 2017

Labels: VerifyIn-57

Comment 6 by dchan@google.com, Mar 4 2017

Labels: VerifyIn-58

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

Labels: VerifyIn-59

Comment 8 by dchan@google.com, May 30 2017

Labels: VerifyIn-60

Comment 9 by dchan@chromium.org, Aug 1 2017

Labels: VerifyIn-61

Comment 10 by dchan@chromium.org, Oct 14 2017

Status: Archived (was: Fixed)

Sign in to add a comment