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)); |
} |