Chromium Code Reviews| Index: content/browser/renderer_host/offscreen_canvas_compositor_frame_sink.cc |
| diff --git a/content/browser/renderer_host/offscreen_canvas_compositor_frame_sink.cc b/content/browser/renderer_host/offscreen_canvas_compositor_frame_sink.cc |
| index 20515bdcf68353f833d9110638ff4ac5ca3efc37..0519ff1cdc8ca27bd6f16eea40ff39570dc80232 100644 |
| --- a/content/browser/renderer_host/offscreen_canvas_compositor_frame_sink.cc |
| +++ b/content/browser/renderer_host/offscreen_canvas_compositor_frame_sink.cc |
| @@ -7,14 +7,22 @@ |
| #include "cc/surfaces/surface.h" |
| #include "cc/surfaces/surface_manager.h" |
| #include "content/browser/compositor/surface_utils.h" |
| +#include "content/browser/renderer_host/offscreen_canvas_surface_manager.h" |
| #include "mojo/public/cpp/bindings/strong_binding.h" |
| namespace content { |
| OffscreenCanvasCompositorFrameSink::OffscreenCanvasCompositorFrameSink( |
| + uint32_t canvas_id, |
| const cc::SurfaceId& surface_id, |
| cc::mojom::MojoCompositorFrameSinkClientPtr client) |
| - : surface_id_(surface_id), client_(std::move(client)) {} |
| + : canvas_id_(canvas_id), |
|
dcheng
2016/11/08 18:30:23
Please make sure that |canvas_id_| and |canvas_id|
xlai (Olivia)
2016/11/10 15:45:11
This canvas_id_ is a unique identifier for this pa
|
| + surface_id_(surface_id), |
| + client_(std::move(client)), |
| + weak_factory_(this) { |
| + OffscreenCanvasSurfaceManager::GetInstance() |
| + ->RegisterCompositorFrameSinkInstance(canvas_id_, this); |
| +} |
| OffscreenCanvasCompositorFrameSink::~OffscreenCanvasCompositorFrameSink() { |
| if (surface_factory_) { |
| @@ -32,11 +40,12 @@ OffscreenCanvasCompositorFrameSink::~OffscreenCanvasCompositorFrameSink() { |
| // static |
| void OffscreenCanvasCompositorFrameSink::Create( |
| + uint32_t canvas_id, |
| const cc::SurfaceId& surface_id, |
| cc::mojom::MojoCompositorFrameSinkClientPtr client, |
| cc::mojom::MojoCompositorFrameSinkRequest request) { |
| mojo::MakeStrongBinding(base::MakeUnique<OffscreenCanvasCompositorFrameSink>( |
| - surface_id, std::move(client)), |
| + canvas_id, surface_id, std::move(client)), |
| std::move(request)); |
| } |