New issue
Advanced search Search tips

Issue 625876 link

Starred by 2 users

Issue metadata

Status: Duplicate
Merged: issue 548429
Owner:
Closed: Sep 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug
mus

Blocked on:
issue 626412

Blocking:
issue 581462



Sign in to add a comment

Add real display configuration support to mus

Project Member Reported by kylec...@chromium.org, Jul 5 2016

Issue description

Currently mus has very basic display configuration support. It can configure one display at the native resolution.

It needs to support at least the following:
1. Multiple displays.
2. Changing display resolution/refresh.
3. Mirroring/extended mode.
4. HDCP

This list does not include display management / screen layout type tasks which will be detailed in separate bugs.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jul 7 2016

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

commit 0b41be7853346d302ffece00f31bd12112dbfa4a
Author: kylechar <kylechar@chromium.org>
Date: Thu Jul 07 13:54:07 2016

Make PlatformScreenImplOzone use DisplayConfigurator.

Currently the PlatformScreen implementation for Ozone uses
NativeDisplayDelegate directly. DisplayConfigurator is already designed
to use it and is accessible from services/ui. Change the implementation
to use DisplayConfigurator instead.

This provides PlatformScreen with much of the necessary display
configuration code it will need for multiple monitor support. For now
PlatformScreenImplOzone just forces the native resolution on 1 display.

BUG= 625876 

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

[modify] https://crrev.com/0b41be7853346d302ffece00f31bd12112dbfa4a/services/ui/ws/BUILD.gn
[modify] https://crrev.com/0b41be7853346d302ffece00f31bd12112dbfa4a/services/ui/ws/platform_screen.h
[modify] https://crrev.com/0b41be7853346d302ffece00f31bd12112dbfa4a/services/ui/ws/platform_screen_impl_ozone.cc
[modify] https://crrev.com/0b41be7853346d302ffece00f31bd12112dbfa4a/services/ui/ws/platform_screen_impl_ozone.h

Blockedon: 626412
Project Member

Comment 3 by bugdroid1@chromium.org, Jul 29 2016

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

commit 200f7a114aa28e831677db649f134e7346d825eb
Author: kylechar <kylechar@chromium.org>
Date: Fri Jul 29 13:57:14 2016

Unify display ids between Display and PlatformDisplay.

Instead of having an int32_t and int64_t id for each display, unify them
to use a single int64_t id. The int64_t id is the actual display id and
is provided by lower level code, so it makes more sense to keep it.

BUG= 625876 

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

[modify] https://crrev.com/200f7a114aa28e831677db649f134e7346d825eb/services/ui/ws/display.cc
[modify] https://crrev.com/200f7a114aa28e831677db649f134e7346d825eb/services/ui/ws/display.h
[modify] https://crrev.com/200f7a114aa28e831677db649f134e7346d825eb/services/ui/ws/display_manager.cc
[modify] https://crrev.com/200f7a114aa28e831677db649f134e7346d825eb/services/ui/ws/display_manager.h
[modify] https://crrev.com/200f7a114aa28e831677db649f134e7346d825eb/services/ui/ws/platform_display.cc
[modify] https://crrev.com/200f7a114aa28e831677db649f134e7346d825eb/services/ui/ws/platform_display.h
[modify] https://crrev.com/200f7a114aa28e831677db649f134e7346d825eb/services/ui/ws/test_utils.cc
[modify] https://crrev.com/200f7a114aa28e831677db649f134e7346d825eb/services/ui/ws/test_utils.h
[modify] https://crrev.com/200f7a114aa28e831677db649f134e7346d825eb/services/ui/ws/touch_controller.cc
[modify] https://crrev.com/200f7a114aa28e831677db649f134e7346d825eb/services/ui/ws/user_display_manager.cc
[modify] https://crrev.com/200f7a114aa28e831677db649f134e7346d825eb/services/ui/ws/window_tree.cc

Components: -MUS>Phase>1 MUS
Status: Started (was: Assigned)
Project Member

Comment 5 by bugdroid1@chromium.org, Aug 11 2016

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

commit 0dff8f03cb414500c273f158bff0635e977d206d
Author: kylechar <kylechar@chromium.org>
Date: Thu Aug 11 18:39:16 2016

Fix window/display bounds with multiple windows in mus.

Previously mus assumed that all displays and root windows had origin of
(0, 0) and were the primary display. This doesn't work with multiple
displays so use the proper display origin in screen space. Also keep
track of the primary display id.

This will ensure that root ServerWindows and ScreenMus have the correct
bounds for each display. This does not handle resizing or removing
displays correctly.

BUG= 625876 , 614070 

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

[modify] https://crrev.com/0dff8f03cb414500c273f158bff0635e977d206d/services/ui/display/platform_screen.h
[modify] https://crrev.com/0dff8f03cb414500c273f158bff0635e977d206d/services/ui/display/platform_screen_impl.cc
[modify] https://crrev.com/0dff8f03cb414500c273f158bff0635e977d206d/services/ui/display/platform_screen_impl.h
[modify] https://crrev.com/0dff8f03cb414500c273f158bff0635e977d206d/services/ui/display/platform_screen_impl_ozone.cc
[modify] https://crrev.com/0dff8f03cb414500c273f158bff0635e977d206d/services/ui/display/platform_screen_impl_ozone.h
[modify] https://crrev.com/0dff8f03cb414500c273f158bff0635e977d206d/services/ui/service.cc
[modify] https://crrev.com/0dff8f03cb414500c273f158bff0635e977d206d/services/ui/ws/display.cc
[modify] https://crrev.com/0dff8f03cb414500c273f158bff0635e977d206d/services/ui/ws/platform_display.cc
[modify] https://crrev.com/0dff8f03cb414500c273f158bff0635e977d206d/services/ui/ws/platform_display.h
[modify] https://crrev.com/0dff8f03cb414500c273f158bff0635e977d206d/services/ui/ws/platform_display_init_params.cc
[modify] https://crrev.com/0dff8f03cb414500c273f158bff0635e977d206d/services/ui/ws/platform_display_init_params.h
[modify] https://crrev.com/0dff8f03cb414500c273f158bff0635e977d206d/services/ui/ws/test_utils.cc
[modify] https://crrev.com/0dff8f03cb414500c273f158bff0635e977d206d/services/ui/ws/test_utils.h

Project Member

Comment 6 by bugdroid1@chromium.org, Aug 11 2016

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

commit 0dff8f03cb414500c273f158bff0635e977d206d
Author: kylechar <kylechar@chromium.org>
Date: Thu Aug 11 18:39:16 2016

Fix window/display bounds with multiple windows in mus.

Previously mus assumed that all displays and root windows had origin of
(0, 0) and were the primary display. This doesn't work with multiple
displays so use the proper display origin in screen space. Also keep
track of the primary display id.

This will ensure that root ServerWindows and ScreenMus have the correct
bounds for each display. This does not handle resizing or removing
displays correctly.

BUG= 625876 , 614070 

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

[modify] https://crrev.com/0dff8f03cb414500c273f158bff0635e977d206d/services/ui/display/platform_screen.h
[modify] https://crrev.com/0dff8f03cb414500c273f158bff0635e977d206d/services/ui/display/platform_screen_impl.cc
[modify] https://crrev.com/0dff8f03cb414500c273f158bff0635e977d206d/services/ui/display/platform_screen_impl.h
[modify] https://crrev.com/0dff8f03cb414500c273f158bff0635e977d206d/services/ui/display/platform_screen_impl_ozone.cc
[modify] https://crrev.com/0dff8f03cb414500c273f158bff0635e977d206d/services/ui/display/platform_screen_impl_ozone.h
[modify] https://crrev.com/0dff8f03cb414500c273f158bff0635e977d206d/services/ui/service.cc
[modify] https://crrev.com/0dff8f03cb414500c273f158bff0635e977d206d/services/ui/ws/display.cc
[modify] https://crrev.com/0dff8f03cb414500c273f158bff0635e977d206d/services/ui/ws/platform_display.cc
[modify] https://crrev.com/0dff8f03cb414500c273f158bff0635e977d206d/services/ui/ws/platform_display.h
[modify] https://crrev.com/0dff8f03cb414500c273f158bff0635e977d206d/services/ui/ws/platform_display_init_params.cc
[modify] https://crrev.com/0dff8f03cb414500c273f158bff0635e977d206d/services/ui/ws/platform_display_init_params.h
[modify] https://crrev.com/0dff8f03cb414500c273f158bff0635e977d206d/services/ui/ws/test_utils.cc
[modify] https://crrev.com/0dff8f03cb414500c273f158bff0635e977d206d/services/ui/ws/test_utils.h

Project Member

Comment 8 by bugdroid1@chromium.org, Aug 19 2016

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

commit 7eacccaaa5e5cb14cafbbb25cba892adf839fb5a
Author: kylechar <kylechar@chromium.org>
Date: Fri Aug 19 15:16:07 2016

Move DisplayLayoutStore from ash to ui.

This CL moves DisplayLayoutStore from src/ash/display/ to
src/ui/display/manager. This is so that DisplayLayoutStore can be used
with services/ui/display/ code. Update references and move some utility
functions and flags used by DisplayLayoutStore.

BUG= 625876 

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

[modify] https://crrev.com/7eacccaaa5e5cb14cafbbb25cba892adf839fb5a/ash/ash.gyp
[modify] https://crrev.com/7eacccaaa5e5cb14cafbbb25cba892adf839fb5a/ash/common/ash_switches.cc
[modify] https://crrev.com/7eacccaaa5e5cb14cafbbb25cba892adf839fb5a/ash/common/ash_switches.h
[modify] https://crrev.com/7eacccaaa5e5cb14cafbbb25cba892adf839fb5a/ash/display/display_change_observer_chromeos.cc
[modify] https://crrev.com/7eacccaaa5e5cb14cafbbb25cba892adf839fb5a/ash/display/display_manager.cc
[modify] https://crrev.com/7eacccaaa5e5cb14cafbbb25cba892adf839fb5a/ash/display/display_manager.h
[modify] https://crrev.com/7eacccaaa5e5cb14cafbbb25cba892adf839fb5a/ash/display/display_manager_unittest.cc
[modify] https://crrev.com/7eacccaaa5e5cb14cafbbb25cba892adf839fb5a/ash/display/extended_mouse_warp_controller_unittest.cc
[modify] https://crrev.com/7eacccaaa5e5cb14cafbbb25cba892adf839fb5a/ash/display/mouse_cursor_event_filter_unittest.cc
[modify] https://crrev.com/7eacccaaa5e5cb14cafbbb25cba892adf839fb5a/ash/display/window_tree_host_manager.cc
[modify] https://crrev.com/7eacccaaa5e5cb14cafbbb25cba892adf839fb5a/ash/display/window_tree_host_manager_unittest.cc
[modify] https://crrev.com/7eacccaaa5e5cb14cafbbb25cba892adf839fb5a/ash/test/display_manager_test_api.cc
[modify] https://crrev.com/7eacccaaa5e5cb14cafbbb25cba892adf839fb5a/chrome/browser/chromeos/display/display_preferences.cc
[modify] https://crrev.com/7eacccaaa5e5cb14cafbbb25cba892adf839fb5a/chrome/browser/chromeos/display/display_preferences_unittest.cc
[modify] https://crrev.com/7eacccaaa5e5cb14cafbbb25cba892adf839fb5a/ui/display/BUILD.gn
[modify] https://crrev.com/7eacccaaa5e5cb14cafbbb25cba892adf839fb5a/ui/display/display_switches.cc
[modify] https://crrev.com/7eacccaaa5e5cb14cafbbb25cba892adf839fb5a/ui/display/display_switches.h
[rename] https://crrev.com/7eacccaaa5e5cb14cafbbb25cba892adf839fb5a/ui/display/manager/display_layout_store.cc
[rename] https://crrev.com/7eacccaaa5e5cb14cafbbb25cba892adf839fb5a/ui/display/manager/display_layout_store.h

Blockedon: 641012
Blockedon: -641012
Mergedinto: 548429
Status: Duplicate (was: Started)
Merging into an older bug that has the same scope.
Components: -MUS Internals>Services>WindowService

Sign in to add a comment