Index: cc/ipc/mojo_compositor_frame_sink.mojom |
diff --git a/cc/ipc/mojo_compositor_frame_sink.mojom b/cc/ipc/mojo_compositor_frame_sink.mojom |
index f75ded36f8a57d4d312df7bc5333c9865520957a..58f69d61916f7a4752e04a3dfd99b940544448bd 100644 |
--- a/cc/ipc/mojo_compositor_frame_sink.mojom |
+++ b/cc/ipc/mojo_compositor_frame_sink.mojom |
@@ -4,7 +4,9 @@ |
module cc.mojom; |
+import "cc/ipc/begin_frame_args.mojom"; |
import "cc/ipc/compositor_frame.mojom"; |
+import "cc/ipc/frame_sink_id.mojom"; |
import "cc/ipc/returned_resource.mojom"; |
// A MojoCompositorFrameSink is an interface for receiving CompositorFrame |
@@ -38,6 +40,18 @@ interface MojoCompositorFrameSinkClient { |
// rid of it. |
DidReceiveCompositorFrameAck(); |
+ // Notification for the client to generate a CompositorFrame. |
+ OnBeginFrame(BeginFrameArgs args); |
+ |
// Returns resources sent to SubmitCompositorFrame to be reused or freed. |
ReclaimResources(ReturnedResourceArray resources); |
}; |
+ |
+// MojoCompositorFrameSinkPrivate is used by the display compositor host to set |
+// up BeginFrameSource hierarchies. This API lives in SurfaceManager but is |
+// called from here in order to ensure that hierarchy registration does not race |
+// CompositorFrameSink creation. |
+interface MojoCompositorFrameSinkPrivate { |
+ AddChildFrameSink(FrameSinkId child_frame_sink_id); |
+ RemoveChildFrameSink(FrameSinkId child_frame_sink_id); |
+}; |