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

Unified Diff: cc/ipc/display_compositor.mojom

Issue 2579693004: GpuCompositorFrameSink implements cc::mojom::DisplayPrivate (Closed)
Patch Set: Addresed comments Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: cc/ipc/display_compositor.mojom
diff --git a/cc/ipc/display_compositor.mojom b/cc/ipc/display_compositor.mojom
index 06abdbd55d3d1ec4b2b64cde7f43aa327679764b..a38e29a25235dbdec2efdadc1c248757831009f7 100644
--- a/cc/ipc/display_compositor.mojom
+++ b/cc/ipc/display_compositor.mojom
@@ -9,7 +9,17 @@ import "cc/ipc/mojo_compositor_frame_sink.mojom";
import "cc/ipc/surface_id.mojom";
import "cc/ipc/surface_sequence.mojom";
import "gpu/ipc/common/surface_handle.mojom";
+import "mojo/common/time.mojom";
import "ui/gfx/geometry/mojo/geometry.mojom";
+import "ui/gfx/mojo/color_space.mojom";
+
+// See cc/surfaces/display.h
rjkroege 2016/12/20 00:51:51 I'd like the .mojom to have more detailed document
Alex Z. 2016/12/20 15:36:52 Currently ash talks to cc::Display through Context
Alex Z. 2016/12/20 15:49:11 Done.
rjkroege 2016/12/20 19:18:08 Given the above, it's not appropriate to reference
Alex Z. 2016/12/20 19:55:54 Done.
+interface DisplayPrivate {
+ SetDisplayVisible(bool visible);
+ ResizeDisplay(gfx.mojom.Size size_in_pixel);
+ SetDisplayColorSpace(gfx.mojom.ColorSpace color_space);
+ SetOutputIsSecure(bool secure);
+};
// The DisplayCompositor interface is a privileged interface that allows
// the display compositor host (browser or window server) to create
@@ -23,13 +33,20 @@ import "ui/gfx/geometry/mojo/geometry.mojom";
// will typically simply request a CompositorFrameSink from the display
// compositor host which will forward the request to the display compositor.
interface DisplayCompositor {
+ // Create a CompositorFrameSink for a privileged client (e.g. WindowServer).
+ // This is only used by privileged clients. The client can call methods that
+ // talks to the cc::Display (e.g. ResizeDisplay(), SetDisplayVisible(), etc)
CreateDisplayCompositorFrameSink(
cc.mojom.FrameSinkId frame_sink_id,
gpu.mojom.SurfaceHandle widget,
cc.mojom.MojoCompositorFrameSink& compositor_frame_sink,
cc.mojom.MojoCompositorFrameSinkPrivate& compositor_frame_sink_private,
- cc.mojom.MojoCompositorFrameSinkClient compositor_frame_sink_client);
+ cc.mojom.MojoCompositorFrameSinkClient compositor_frame_sink_client,
+ DisplayPrivate& display_private);
+ // CreateOffscreenCompositorFrameSink is used by non-privileged clients.
+ // An off screen CompositorFrameSink only submits frames to a buffer instead
+ // of a display.
CreateOffscreenCompositorFrameSink(
cc.mojom.FrameSinkId frame_sink_id,
cc.mojom.MojoCompositorFrameSink& compositor_frame_sink,
« no previous file with comments | « no previous file | cc/surfaces/compositor_frame_sink_support.h » ('j') | services/ui/surfaces/gpu_compositor_frame_sink.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698