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

Issue 1989693002: Introduce DisplayCompositor Mojo API for Mus (Closed)

Created:
4 years, 7 months ago by Fady Samuel
Modified:
4 years, 6 months ago
Reviewers:
rjkroege, Tom Sepez, sky
CC:
chromium-reviews, rjkroege, qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, yzshen+watch_chromium.org, abarth-chromium, Aaron Boodman, darin (slow to review), ben+mojo_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Introduce DisplayCompositor Mojo API for Mus This CL introduces the following Mojo interfaces: 1. DisplayCompositor: represents a connection to the DisplayCompositor service in Mus-Gpu. 2. Display: represents a compositor for a single physical display. 3. CompositorFrameSinkFactory per display client process. 4. CompositorFrameSink: per client. 5. CompositorFrameSinkClient: events from the display compositor pertaining to a specific client. This CL only provides skeleton implementations for CompositorFrameSink and CompositorFrameSinkFactory. Other interfaces and integration in Mus will follow. BUG=610937 CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel;tryserver.chromium.win:win_optional_gpu_tests_rel Committed: https://crrev.com/7c7022d40aae6dcb714b2453b349068f4ccced5d Cr-Commit-Position: refs/heads/master@{#396364}

Patch Set 1 #

Patch Set 2 : Cleanup #

Patch Set 3 : Cleanup interface a bit more #

Total comments: 35

Patch Set 4 : Addressed Rob's comments #

Total comments: 12

Patch Set 5 : Addressed Rob's comments #

Total comments: 2

Patch Set 6 : Moved privileged API to display_compositor_host #

Total comments: 8

Patch Set 7 : Addressed Rob's comments #

Total comments: 4

Patch Set 8 : Addressed Scott's comment #

Patch Set 9 : Addressed nit #

Total comments: 2

Patch Set 10 : Rebased #

Patch Set 11 : Fix client_id #

Unified diffs Side-by-side diffs Delta from patch set Stats (+592 lines, -7 lines) Patch
M components/mus/public/interfaces/BUILD.gn View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
A + components/mus/public/interfaces/gpu/BUILD.gn View 1 2 3 4 5 6 7 1 chunk +4 lines, -4 lines 0 comments Download
A components/mus/public/interfaces/gpu/display_compositor.mojom View 1 2 3 4 5 6 7 8 1 chunk +71 lines, -0 lines 0 comments Download
A components/mus/public/interfaces/gpu/display_compositor_host.mojom View 1 2 3 4 5 6 7 1 chunk +32 lines, -0 lines 0 comments Download
M components/mus/surfaces/BUILD.gn View 1 2 3 4 5 6 7 8 9 2 chunks +10 lines, -0 lines 0 comments Download
A components/mus/surfaces/compositor_frame_sink_delegate.h View 1 2 3 4 5 6 7 1 chunk +27 lines, -0 lines 0 comments Download
A components/mus/surfaces/compositor_frame_sink_factory_impl.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +55 lines, -0 lines 0 comments Download
A components/mus/surfaces/compositor_frame_sink_factory_impl.cc View 1 2 3 4 5 6 7 1 chunk +46 lines, -0 lines 0 comments Download
A components/mus/surfaces/compositor_frame_sink_impl.h View 1 2 3 4 5 6 7 1 chunk +74 lines, -0 lines 0 comments Download
A components/mus/surfaces/compositor_frame_sink_impl.cc View 1 2 3 4 5 6 7 8 9 1 chunk +118 lines, -0 lines 0 comments Download
A components/mus/surfaces/display_compositor_impl.h View 1 2 3 4 5 6 7 1 chunk +37 lines, -0 lines 0 comments Download
A components/mus/surfaces/display_compositor_impl.cc View 1 2 3 4 5 6 7 1 chunk +28 lines, -0 lines 0 comments Download
A components/mus/surfaces/display_impl.h View 1 2 3 4 5 6 7 1 chunk +44 lines, -0 lines 0 comments Download
A components/mus/surfaces/display_impl.cc View 1 2 3 4 5 6 7 1 chunk +43 lines, -0 lines 0 comments Download
M gpu/ipc/common/mailbox_holder.typemap View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M gpu/ipc/common/sync_token.typemap View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 43 (14 generated)
Fady Samuel
4 years, 7 months ago (2016-05-18 22:04:11 UTC) #3
Fady Samuel
PTAL Rob! I have iterated a bit more on this API. I'm fairly happy with ...
4 years, 7 months ago (2016-05-19 03:03:20 UTC) #4
Fady Samuel
https://codereview.chromium.org/1989693002/diff/40001/components/mus/public/interfaces/display_compositor.mojom File components/mus/public/interfaces/display_compositor.mojom (right): https://codereview.chromium.org/1989693002/diff/40001/components/mus/public/interfaces/display_compositor.mojom#newcode67 components/mus/public/interfaces/display_compositor.mojom:67: CreateClient(int32 client_id, DisplayClient& client); The more I think about ...
4 years, 7 months ago (2016-05-19 03:16:34 UTC) #5
Fady Samuel
https://codereview.chromium.org/1989693002/diff/40001/components/mus/public/interfaces/display_compositor.mojom File components/mus/public/interfaces/display_compositor.mojom (right): https://codereview.chromium.org/1989693002/diff/40001/components/mus/public/interfaces/display_compositor.mojom#newcode38 components/mus/public/interfaces/display_compositor.mojom:38: SetNeedsBeginFrame(bool needs_begin_frame); ReadbackBitmap API makes sense here.
4 years, 7 months ago (2016-05-19 15:17:42 UTC) #6
rjkroege
https://codereview.chromium.org/1989693002/diff/40001/components/mus/public/interfaces/display_compositor.mojom File components/mus/public/interfaces/display_compositor.mojom (right): https://codereview.chromium.org/1989693002/diff/40001/components/mus/public/interfaces/display_compositor.mojom#newcode17 components/mus/public/interfaces/display_compositor.mojom:17: // A CompositorFrameSinkFactory represents a single Display client. I ...
4 years, 7 months ago (2016-05-19 22:08:38 UTC) #7
Fady Samuel
PTAL Rob! Thanks! https://codereview.chromium.org/1989693002/diff/40001/components/mus/public/interfaces/display_compositor.mojom File components/mus/public/interfaces/display_compositor.mojom (right): https://codereview.chromium.org/1989693002/diff/40001/components/mus/public/interfaces/display_compositor.mojom#newcode17 components/mus/public/interfaces/display_compositor.mojom:17: // A CompositorFrameSinkFactory represents a single ...
4 years, 7 months ago (2016-05-25 12:37:01 UTC) #8
rjkroege
ask: can you come up with a naming scheme that makes it obvious at a ...
4 years, 6 months ago (2016-05-25 19:14:20 UTC) #9
Fady Samuel
PTAL Rob! https://codereview.chromium.org/1989693002/diff/60001/components/mus/public/interfaces/display_compositor.mojom File components/mus/public/interfaces/display_compositor.mojom (right): https://codereview.chromium.org/1989693002/diff/60001/components/mus/public/interfaces/display_compositor.mojom#newcode28 components/mus/public/interfaces/display_compositor.mojom:28: // 3. |nonce| is a cryptographically secure ...
4 years, 6 months ago (2016-05-25 21:55:35 UTC) #10
rjkroege
https://codereview.chromium.org/1989693002/diff/80001/components/mus/public/interfaces/display_compositor.mojom File components/mus/public/interfaces/display_compositor.mojom (right): https://codereview.chromium.org/1989693002/diff/80001/components/mus/public/interfaces/display_compositor.mojom#newcode78 components/mus/public/interfaces/display_compositor.mojom:78: // This is a privileged API to be used ...
4 years, 6 months ago (2016-05-25 22:25:33 UTC) #11
Fady Samuel
PTAL Rob! https://codereview.chromium.org/1989693002/diff/80001/components/mus/public/interfaces/display_compositor.mojom File components/mus/public/interfaces/display_compositor.mojom (right): https://codereview.chromium.org/1989693002/diff/80001/components/mus/public/interfaces/display_compositor.mojom#newcode78 components/mus/public/interfaces/display_compositor.mojom:78: // This is a privileged API to ...
4 years, 6 months ago (2016-05-25 22:50:22 UTC) #12
rjkroege
https://codereview.chromium.org/1989693002/diff/100001/components/mus/public/interfaces/display_compositor.mojom File components/mus/public/interfaces/display_compositor.mojom (right): https://codereview.chromium.org/1989693002/diff/100001/components/mus/public/interfaces/display_compositor.mojom#newcode28 components/mus/public/interfaces/display_compositor.mojom:28: // 3. |nonce| is a cryptographically secure random number ...
4 years, 6 months ago (2016-05-25 23:01:55 UTC) #13
Fady Samuel
PTAL Rob! https://codereview.chromium.org/1989693002/diff/100001/components/mus/public/interfaces/display_compositor.mojom File components/mus/public/interfaces/display_compositor.mojom (right): https://codereview.chromium.org/1989693002/diff/100001/components/mus/public/interfaces/display_compositor.mojom#newcode28 components/mus/public/interfaces/display_compositor.mojom:28: // 3. |nonce| is a cryptographically secure ...
4 years, 6 months ago (2016-05-26 00:30:07 UTC) #14
rjkroege
lgtm
4 years, 6 months ago (2016-05-26 00:48:57 UTC) #15
Fady Samuel
+sky for mus/public
4 years, 6 months ago (2016-05-26 01:05:51 UTC) #17
sky
https://codereview.chromium.org/1989693002/diff/120001/components/mus/public/interfaces/display_compositor.mojom File components/mus/public/interfaces/display_compositor.mojom (right): https://codereview.chromium.org/1989693002/diff/120001/components/mus/public/interfaces/display_compositor.mojom#newcode7 components/mus/public/interfaces/display_compositor.mojom:7: import "components/mus/public/interfaces/compositor_frame.mojom"; WDYT of putting these interfaces in a ...
4 years, 6 months ago (2016-05-26 16:00:45 UTC) #18
Fady Samuel
PTAL Scott! https://codereview.chromium.org/1989693002/diff/120001/components/mus/public/interfaces/display_compositor.mojom File components/mus/public/interfaces/display_compositor.mojom (right): https://codereview.chromium.org/1989693002/diff/120001/components/mus/public/interfaces/display_compositor.mojom#newcode7 components/mus/public/interfaces/display_compositor.mojom:7: import "components/mus/public/interfaces/compositor_frame.mojom"; On 2016/05/26 16:00:45, sky wrote: ...
4 years, 6 months ago (2016-05-26 19:37:30 UTC) #20
Fady Samuel
PTAL
4 years, 6 months ago (2016-05-26 19:49:19 UTC) #21
sky
LGTM
4 years, 6 months ago (2016-05-26 21:05:27 UTC) #22
Fady Samuel
4 years, 6 months ago (2016-05-26 21:06:17 UTC) #26
Fady Samuel
+tsepez@ for ipc
4 years, 6 months ago (2016-05-26 21:06:37 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1989693002/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1989693002/160001
4 years, 6 months ago (2016-05-26 21:06:49 UTC) #28
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/190693)
4 years, 6 months ago (2016-05-26 21:16:19 UTC) #30
Tom Sepez
lgtm https://codereview.chromium.org/1989693002/diff/160001/components/mus/surfaces/compositor_frame_sink_factory_impl.cc File components/mus/surfaces/compositor_frame_sink_factory_impl.cc (right): https://codereview.chromium.org/1989693002/diff/160001/components/mus/surfaces/compositor_frame_sink_factory_impl.cc#newcode39 components/mus/surfaces/compositor_frame_sink_factory_impl.cc:39: // TODO(fsamuel): Use nonce once patch lands: ok.
4 years, 6 months ago (2016-05-26 23:41:20 UTC) #31
Fady Samuel
CQ'ing. https://codereview.chromium.org/1989693002/diff/160001/components/mus/surfaces/compositor_frame_sink_factory_impl.cc File components/mus/surfaces/compositor_frame_sink_factory_impl.cc (right): https://codereview.chromium.org/1989693002/diff/160001/components/mus/surfaces/compositor_frame_sink_factory_impl.cc#newcode39 components/mus/surfaces/compositor_frame_sink_factory_impl.cc:39: // TODO(fsamuel): Use nonce once patch lands: On ...
4 years, 6 months ago (2016-05-26 23:49:24 UTC) #32
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1989693002/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1989693002/180001
4 years, 6 months ago (2016-05-26 23:50:30 UTC) #35
commit-bot: I haz the power
Try jobs failed on following builders: cast_shell_linux on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/cast_shell_linux/builds/167230)
4 years, 6 months ago (2016-05-27 00:05:28 UTC) #37
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1989693002/200001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1989693002/200001
4 years, 6 months ago (2016-05-27 00:45:00 UTC) #40
commit-bot: I haz the power
Committed patchset #11 (id:200001)
4 years, 6 months ago (2016-05-27 02:44:27 UTC) #41
commit-bot: I haz the power
4 years, 6 months ago (2016-05-27 02:47:48 UTC) #43
Message was sent while issue was closed.
Patchset 11 (id:??) landed as
https://crrev.com/7c7022d40aae6dcb714b2453b349068f4ccced5d
Cr-Commit-Position: refs/heads/master@{#396364}

Powered by Google App Engine
This is Rietveld 408576698