| 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..d87893be5934f2198c3c73e3f0773013d1dffcdf 100644
 | 
| --- a/cc/ipc/mojo_compositor_frame_sink.mojom
 | 
| +++ b/cc/ipc/mojo_compositor_frame_sink.mojom
 | 
| @@ -6,6 +6,8 @@ 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";
 | 
| @@ -46,8 +48,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 +77,10 @@ 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);
 | 
|  };
 | 
| 
 |