Chromium Code Reviews| 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 bf2e196f79956523a6f3e578a2decc796cd35959..1826ca8a2da795e89d962a782ed6c2bce4d35daa 100644 |
| --- a/cc/ipc/mojo_compositor_frame_sink.mojom |
| +++ b/cc/ipc/mojo_compositor_frame_sink.mojom |
| @@ -6,11 +6,15 @@ module cc.mojom; |
| import "cc/ipc/begin_frame_args.mojom"; |
| import "cc/ipc/compositor_frame.mojom"; |
| +import "cc/ipc/copy_output_request.mojom"; |
| +import "cc/ipc/copy_output_result.mojom"; |
| import "cc/ipc/frame_sink_id.mojom"; |
| import "cc/ipc/local_surface_id.mojom"; |
| import "cc/ipc/surface_reference.mojom"; |
| import "cc/ipc/returned_resource.mojom"; |
| import "cc/ipc/surface_sequence.mojom"; |
| +import "gpu/ipc/common/mailbox.mojom"; |
| +import "gpu/ipc/common/sync_token.mojom"; |
| // A MojoCompositorFrameSink is an interface for receiving CompositorFrame |
| // structs. A CompositorFrame contains the complete output meant for display. |
| @@ -46,8 +50,6 @@ interface MojoCompositorFrameSink { |
| // Mark the sequence as satisfied and garbage collect surfaces. |
| Satisfy(cc.mojom.SurfaceSequence sequence); |
| - |
| - // TODO(fsamuel): ReadbackBitmap API would be useful here. |
| }; |
| interface MojoCompositorFrameSinkClient { |
| @@ -77,4 +79,15 @@ interface MojoCompositorFrameSinkClient { |
| interface MojoCompositorFrameSinkPrivate { |
| AddChildFrameSink(FrameSinkId child_frame_sink_id); |
| RemoveChildFrameSink(FrameSinkId child_frame_sink_id); |
| + |
| + // Requests that the renderer send back a copy of the surface that this |
| + // CompositorFrameSink submits to. The result can be in form of a bitmap |
| + // or a texture. See cc::CopyOutputRequest and cc::CopyOutputResult. |
| + RequestCopyOfSurface(cc.mojom.CopyOutputRequest request) |
| + => (cc.mojom.CopyOutputResult result); |
| + |
| + // If the copy returned by RequestCopyOfSurface is a texture, this method |
|
danakj
2017/02/06 23:02:12
This might be off-topic but what if it's a bitmap,
Saman Sami
2017/02/06 23:09:54
We serialize the bitmap and send it over IPC. I'm
danakj
2017/02/06 23:24:07
Yeh it would have to. We should do that cuz copyin
Saman Sami
2017/02/13 23:07:37
I agree. I created a new bug to track this issue.
|
| + // must be used to release it. |
| + ReleaseCopyOfSurface(gpu.mojom.Mailbox mailbox, |
| + gpu.mojom.SyncToken sync_token, bool is_lost); |
| }; |