Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(165)

Issue 2274353003: Add PlatformScreenDelegate and start implementation. (Closed)

Created:
4 years, 3 months ago by kylechar
Modified:
4 years, 3 months ago
Reviewers:
sky
CC:
chromium-reviews, rjkroege
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Add PlatformScreenDelegate and start implementation. There is currently a single callback provided to PlatformScreen for when new displays are added. We need to be able to notify not only when new displays are added but also when displays are modified or removed. Instead of having three callbacks, the PlatformScreenDelegate interface is added. The ui::ws::DisplayManager class implements PlatformScreenDelegate. This is ultimately the class that needs to know about changes to displays so it can update root windows accordingly. There are some changes to ownership and constructor parameters to facilitate having DisplayManager implement PlatformScreenDelegate. The WindowServer instance is passed into DisplayManager, as it doesn't make sense that Display objects owned by DisplayManager are allowed to know about WindowServer but DisplayManager is not. The DisplayManagerDelegate interface is simplified and changed to UserDisplayManagerDelegate as it's no longer needed for DisplayManager. The instantiation of SurfaceState is moved from Service to WindowServer. There is no need to have Service know about SurfaceState anymore. Also, SurfaceState will be moving to the GPU processes regardless. BUG=641012 Committed: https://crrev.com/5ea85f775041eb6ccb4813bdf91e1672f829c577 Cr-Commit-Position: refs/heads/master@{#414710}

Patch Set 1 #

Patch Set 2 : Fixes after once over. #

Total comments: 6

Patch Set 3 : Fixes for comments. #

Total comments: 4

Patch Set 4 : More fixes for comments. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+216 lines, -219 lines) Patch
M services/ui/display/BUILD.gn View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M services/ui/display/platform_screen.h View 1 2 3 2 chunks +7 lines, -17 lines 0 comments Download
A services/ui/display/platform_screen_delegate.h View 1 2 3 1 chunk +42 lines, -0 lines 0 comments Download
M services/ui/display/platform_screen_impl.h View 1 2 3 2 chunks +9 lines, -3 lines 0 comments Download
M services/ui/display/platform_screen_impl.cc View 1 2 3 2 chunks +12 lines, -11 lines 0 comments Download
M services/ui/display/platform_screen_impl_ozone.h View 1 2 3 3 chunks +2 lines, -7 lines 0 comments Download
M services/ui/display/platform_screen_impl_ozone.cc View 1 2 3 2 chunks +5 lines, -7 lines 0 comments Download
M services/ui/service.h View 1 2 3 4 chunks +1 line, -10 lines 0 comments Download
M services/ui/service.cc View 1 2 3 6 chunks +11 lines, -26 lines 0 comments Download
M services/ui/ws/BUILD.gn View 1 2 3 2 chunks +1 line, -1 line 0 comments Download
M services/ui/ws/cursor_unittest.cc View 1 chunk +1 line, -3 lines 0 comments Download
M services/ui/ws/display_manager.h View 1 2 3 chunks +13 lines, -5 lines 0 comments Download
M services/ui/ws/display_manager.cc View 1 2 5 chunks +37 lines, -8 lines 0 comments Download
D services/ui/ws/display_manager_delegate.h View 1 chunk +0 lines, -38 lines 0 comments Download
M services/ui/ws/display_unittest.cc View 1 chunk +1 line, -2 lines 0 comments Download
M services/ui/ws/test_utils.h View 1 chunk +1 line, -0 lines 0 comments Download
M services/ui/ws/test_utils.cc View 1 chunk +1 line, -2 lines 0 comments Download
M services/ui/ws/user_display_manager.h View 3 chunks +3 lines, -3 lines 0 comments Download
M services/ui/ws/user_display_manager.cc View 1 chunk +2 lines, -2 lines 0 comments Download
A + services/ui/ws/user_display_manager_delegate.h View 2 chunks +5 lines, -11 lines 0 comments Download
M services/ui/ws/user_display_manager_unittest.cc View 1 chunk +1 line, -2 lines 0 comments Download
M services/ui/ws/window_server.h View 1 5 chunks +15 lines, -14 lines 0 comments Download
M services/ui/ws/window_server.cc View 1 4 chunks +33 lines, -35 lines 0 comments Download
M services/ui/ws/window_server_delegate.h View 1 2 1 chunk +4 lines, -0 lines 0 comments Download
M services/ui/ws/window_tree_host_factory.h View 2 chunks +2 lines, -5 lines 0 comments Download
M services/ui/ws/window_tree_host_factory.cc View 1 chunk +6 lines, -7 lines 0 comments Download

Messages

Total messages: 14 (5 generated)
kylechar
4 years, 3 months ago (2016-08-25 17:00:46 UTC) #3
sky
https://codereview.chromium.org/2274353003/diff/40001/services/ui/display/platform_screen.h File services/ui/display/platform_screen.h (right): https://codereview.chromium.org/2274353003/diff/40001/services/ui/display/platform_screen.h#newcode22 services/ui/display/platform_screen.h:22: class PlatformScreenDelegate { It's common chrome practice (and mentioned ...
4 years, 3 months ago (2016-08-25 19:18:43 UTC) #4
kylechar
https://codereview.chromium.org/2274353003/diff/40001/services/ui/display/platform_screen.h File services/ui/display/platform_screen.h (right): https://codereview.chromium.org/2274353003/diff/40001/services/ui/display/platform_screen.h#newcode22 services/ui/display/platform_screen.h:22: class PlatformScreenDelegate { On 2016/08/25 19:18:43, sky wrote: > ...
4 years, 3 months ago (2016-08-25 20:26:02 UTC) #5
sky
https://codereview.chromium.org/2274353003/diff/60001/services/ui/display/platform_screen.h File services/ui/display/platform_screen.h (right): https://codereview.chromium.org/2274353003/diff/60001/services/ui/display/platform_screen.h#newcode28 services/ui/display/platform_screen.h:28: virtual void InitialConfig(PlatformScreenDelegate* delegate) = 0; optional: I think ...
4 years, 3 months ago (2016-08-25 23:40:32 UTC) #6
sky
LGTM
4 years, 3 months ago (2016-08-25 23:40:40 UTC) #7
kylechar
Thanks! https://codereview.chromium.org/2274353003/diff/60001/services/ui/display/platform_screen.h File services/ui/display/platform_screen.h (right): https://codereview.chromium.org/2274353003/diff/60001/services/ui/display/platform_screen.h#newcode28 services/ui/display/platform_screen.h:28: virtual void InitialConfig(PlatformScreenDelegate* delegate) = 0; On 2016/08/25 ...
4 years, 3 months ago (2016-08-26 13:21:19 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2274353003/80001
4 years, 3 months ago (2016-08-26 13:27:48 UTC) #11
commit-bot: I haz the power
Committed patchset #4 (id:80001)
4 years, 3 months ago (2016-08-26 14:48:35 UTC) #12
commit-bot: I haz the power
4 years, 3 months ago (2016-08-26 14:50:47 UTC) #14
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/5ea85f775041eb6ccb4813bdf91e1672f829c577
Cr-Commit-Position: refs/heads/master@{#414710}

Powered by Google App Engine
This is Rietveld 408576698