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

Issue 2474113002: Mus+Ash: Unified BeginFrame Skeleton (Closed)

Created:
4 years, 1 month ago by Fady Samuel
Modified:
4 years, 1 month ago
CC:
chromium-reviews, sadrul, qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, blink-reviews-platform-graphics_chromium.org, dshwang, yzshen+watch_chromium.org, rwlbuis, darin (slow to review), krit, drott+blinkwatch_chromium.org, Justin Novosad, abarth-chromium, dglazkov+blink, Rik, blink-reviews, kalyank, ajuma+watch_chromium.org, blink-reviews-api_chromium.org, cc-bugs_chromium.org, jbroman, pdr+graphicswatchlist_chromium.org, Stephen Chennney, rjkroege, Aaron Boodman, f(malita), danakj+watch_chromium.org, kylechar
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Mus+Ash: Unified BeginFrame Skeleton This CL implements a skeleton ExternalBeginFrameSource in Mus+Ash. The following are the notable changes in this patch: 1. MojoCompositorFrameSinkClient gets an OnBeginFrame method. 2. A MojoCompositorFrameSinkPrivate interface is introduced with methods to add and remove child FrameSinkIds for BeginFrame propagation. 3. ServerWindowCOmpositorFrameSink implements MojoCompositorFrameSinkPrivate. 4. ServerWindowCompositorFrameSinkManager no longer retains direct ownership of ServerWindowCompositorFrameSink, but rather creates a strong binding to the MojoCompositorFrameSinkPrivate messagepipe and holds one end of the pipe. In a future CL, ServerWindowCompositorFrameSinkManager will no longer create ServerWindowCompositorFrameSink directly but through a mojo interface on DisplayCompositor. 5. All ServerWindowCompositorFrameSinks have the root window's frame sink as their BeginFrame parent. This is temporary until Surface ID propagation details are all worked out. This will not work properly on multi-monitor yet. 6. ScheduleWindowPaint is gone throughout the window server. Instead, for now, FrameGenerator always requests a BeginFrame and calls DrawWindowTree when it receives a BeginFrame. 7. ServerWindowCompositorFrameSink no longer needs to know about ServerWindow or ServerWindowCompositorFrameSinkManager which takes us a step closer to the mus-ws/mus-gpu split. 8. WindowCompositorFrameSink holds an ExternalBeginFrameSource that is updated from Mus. BUG=653895 TBR=junov@chromium.org for trivial offscreen canvas change. CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel Committed: https://crrev.com/a6ce960a00e4b8bf5608d51b6d95eb4963271887 Cr-Commit-Position: refs/heads/master@{#430504}

Patch Set 1 #

Patch Set 2 : All clients tick via UBF #

Patch Set 3 : Remove window_tree.mojom.h #

Total comments: 2

Patch Set 4 : Fix begin_frame_args_struct_traits #

Total comments: 6

Patch Set 5 : Removed unnecessary include #

Total comments: 2

Patch Set 6 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+273 lines, -222 lines) Patch
M cc/ipc/BUILD.gn View 1 chunk +1 line, -0 lines 0 comments Download
M cc/ipc/begin_frame_args_struct_traits.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M cc/ipc/mojo_compositor_frame_sink.mojom View 2 chunks +14 lines, -0 lines 0 comments Download
M services/ui/public/cpp/window_compositor_frame_sink.h View 1 2 chunks +7 lines, -2 lines 0 comments Download
M services/ui/public/cpp/window_compositor_frame_sink.cc View 1 3 chunks +10 lines, -4 lines 0 comments Download
M services/ui/ws/display.h View 1 1 chunk +0 lines, -3 lines 0 comments Download
M services/ui/ws/display.cc View 1 1 chunk +0 lines, -6 lines 0 comments Download
M services/ui/ws/display_manager.h View 1 1 chunk +1 line, -1 line 0 comments Download
M services/ui/ws/display_manager.cc View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M services/ui/ws/frame_generator.h View 1 2 3 4 2 chunks +2 lines, -15 lines 0 comments Download
M services/ui/ws/frame_generator.cc View 1 2 3 4 5 4 chunks +21 lines, -35 lines 0 comments Download
M services/ui/ws/platform_display.h View 1 2 3 4 5 4 chunks +0 lines, -10 lines 0 comments Download
M services/ui/ws/platform_display.cc View 1 2 3 4 5 3 chunks +0 lines, -17 lines 0 comments Download
M services/ui/ws/server_window.cc View 1 3 chunks +0 lines, -3 lines 0 comments Download
M services/ui/ws/server_window_compositor_frame_sink.h View 1 2 6 chunks +39 lines, -8 lines 0 comments Download
M services/ui/ws/server_window_compositor_frame_sink.cc View 1 8 chunks +62 lines, -21 lines 0 comments Download
M services/ui/ws/server_window_compositor_frame_sink_manager.h View 1 1 chunk +23 lines, -6 lines 0 comments Download
M services/ui/ws/server_window_compositor_frame_sink_manager.cc View 1 2 3 4 3 chunks +46 lines, -7 lines 0 comments Download
M services/ui/ws/server_window_delegate.h View 1 1 chunk +1 line, -4 lines 0 comments Download
M services/ui/ws/test_server_window_delegate.h View 1 1 chunk +3 lines, -4 lines 0 comments Download
M services/ui/ws/test_server_window_delegate.cc View 1 1 chunk +2 lines, -4 lines 0 comments Download
M services/ui/ws/test_utils.cc View 1 2 3 4 5 2 chunks +0 lines, -3 lines 0 comments Download
M services/ui/ws/window_server.h View 1 4 chunks +8 lines, -10 lines 0 comments Download
M services/ui/ws/window_server.cc View 1 9 chunks +8 lines, -51 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/OffscreenCanvasFrameDispatcherImpl.h View 2 chunks +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/OffscreenCanvasFrameDispatcherImpl.cpp View 1 chunk +3 lines, -0 lines 0 comments Download
M third_party/WebKit/public/blink_typemaps.gni View 1 chunk +1 line, -0 lines 0 comments Download
M ui/aura/mus/window_compositor_frame_sink.h View 1 2 chunks +7 lines, -2 lines 0 comments Download
M ui/aura/mus/window_compositor_frame_sink.cc View 1 3 chunks +10 lines, -4 lines 0 comments Download

Messages

Total messages: 48 (30 generated)
Fady Samuel
+enne@ for cc +rjkroege@ for services/ui +sadrul@ for ui/aura. +tsepez@ for ipc.
4 years, 1 month ago (2016-11-03 22:01:27 UTC) #6
Tom Sepez
https://codereview.chromium.org/2474113002/diff/40001/cc/ipc/mojo_compositor_frame_sink.mojom File cc/ipc/mojo_compositor_frame_sink.mojom (right): https://codereview.chromium.org/2474113002/diff/40001/cc/ipc/mojo_compositor_frame_sink.mojom#newcode55 cc/ipc/mojo_compositor_frame_sink.mojom:55: AddChildFrameSink(FrameSinkId child_frame_sink_id); Remind me, are these guessable? Do we ...
4 years, 1 month ago (2016-11-03 22:25:52 UTC) #7
Fady Samuel
PTAL Tom https://codereview.chromium.org/2474113002/diff/40001/cc/ipc/mojo_compositor_frame_sink.mojom File cc/ipc/mojo_compositor_frame_sink.mojom (right): https://codereview.chromium.org/2474113002/diff/40001/cc/ipc/mojo_compositor_frame_sink.mojom#newcode55 cc/ipc/mojo_compositor_frame_sink.mojom:55: AddChildFrameSink(FrameSinkId child_frame_sink_id); On 2016/11/03 22:25:52, Tom Sepez ...
4 years, 1 month ago (2016-11-03 22:27:29 UTC) #8
Tom Sepez
OK, LGTM. Thanks for the explanation.
4 years, 1 month ago (2016-11-03 22:31:34 UTC) #9
Fady Samuel
+junov@ for offscreen canvas.
4 years, 1 month ago (2016-11-04 00:43:36 UTC) #17
rjkroege
lgtm https://codereview.chromium.org/2474113002/diff/60001/cc/ipc/begin_frame_args_struct_traits.h File cc/ipc/begin_frame_args_struct_traits.h (right): https://codereview.chromium.org/2474113002/diff/60001/cc/ipc/begin_frame_args_struct_traits.h#newcode8 cc/ipc/begin_frame_args_struct_traits.h:8: #include "cc/ipc/begin_frame_args.mojom-shared.h" when did we decide to use ...
4 years, 1 month ago (2016-11-05 00:59:50 UTC) #20
Fady Samuel
+sky@ for services/ui https://codereview.chromium.org/2474113002/diff/60001/cc/ipc/begin_frame_args_struct_traits.h File cc/ipc/begin_frame_args_struct_traits.h (right): https://codereview.chromium.org/2474113002/diff/60001/cc/ipc/begin_frame_args_struct_traits.h#newcode8 cc/ipc/begin_frame_args_struct_traits.h:8: #include "cc/ipc/begin_frame_args.mojom-shared.h" On 2016/11/05 00:59:50, rjkroege ...
4 years, 1 month ago (2016-11-05 11:56:03 UTC) #22
sky
https://codereview.chromium.org/2474113002/diff/80001/services/ui/ws/server_window.cc File services/ui/ws/server_window.cc (left): https://codereview.chromium.org/2474113002/diff/80001/services/ui/ws/server_window.cc#oldcode291 services/ui/ws/server_window.cc:291: delegate_->OnScheduleWindowPaint(this); How does this and other functions in this ...
4 years, 1 month ago (2016-11-07 16:34:08 UTC) #27
Fady Samuel
PTAL sky@ https://codereview.chromium.org/2474113002/diff/80001/services/ui/ws/server_window.cc File services/ui/ws/server_window.cc (left): https://codereview.chromium.org/2474113002/diff/80001/services/ui/ws/server_window.cc#oldcode291 services/ui/ws/server_window.cc:291: delegate_->OnScheduleWindowPaint(this); On 2016/11/07 16:34:08, sky wrote: > ...
4 years, 1 month ago (2016-11-07 16:42:02 UTC) #28
sky
Ok, LGTM
4 years, 1 month ago (2016-11-07 17:20:01 UTC) #29
vmpstr
cc lgtm
4 years, 1 month ago (2016-11-07 17:37:57 UTC) #31
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/2474113002/80001
4 years, 1 month ago (2016-11-07 17:42:39 UTC) #35
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/326908)
4 years, 1 month ago (2016-11-07 21:13:28 UTC) #37
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/2474113002/80001
4 years, 1 month ago (2016-11-07 21:42:38 UTC) #39
commit-bot: I haz the power
Failed to apply patch for services/ui/ws/frame_generator.cc: While running git apply --index -3 -p1; error: patch ...
4 years, 1 month ago (2016-11-07 23:37:47 UTC) #41
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/2474113002/100001
4 years, 1 month ago (2016-11-08 01:09:06 UTC) #44
commit-bot: I haz the power
Committed patchset #6 (id:100001)
4 years, 1 month ago (2016-11-08 03:37:18 UTC) #46
commit-bot: I haz the power
4 years, 1 month ago (2016-11-08 03:41:44 UTC) #48
Message was sent while issue was closed.
Patchset 6 (id:??) landed as
https://crrev.com/a6ce960a00e4b8bf5608d51b6d95eb4963271887
Cr-Commit-Position: refs/heads/master@{#430504}

Powered by Google App Engine
This is Rietveld 408576698