Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1195)

Unified Diff: content/browser/renderer_host/offscreen_canvas_compositor_frame_sink.cc

Issue 2479563005: Create manager to track OffscreenCanvasSurfaceImpl instances (Closed)
Patch Set: Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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));
}

Powered by Google App Engine
This is Rietveld 408576698