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

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

Issue 2614493003: Manage OffscreenCanvasCompositorFrameSink lifetime explicitly (Closed)
Patch Set: Rebased Created 3 years, 11 months 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
« no previous file with comments | « no previous file | content/browser/renderer_host/offscreen_canvas_compositor_frame_sink.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/renderer_host/offscreen_canvas_compositor_frame_sink.h
diff --git a/content/browser/renderer_host/offscreen_canvas_compositor_frame_sink.h b/content/browser/renderer_host/offscreen_canvas_compositor_frame_sink.h
index c526e0b63b32ee5c7255f3289b32d5098c3672c7..db1967953364cd6445609077bfd1deecda0df363 100644
--- a/content/browser/renderer_host/offscreen_canvas_compositor_frame_sink.h
+++ b/content/browser/renderer_host/offscreen_canvas_compositor_frame_sink.h
@@ -14,18 +14,16 @@
namespace content {
+class OffscreenCanvasCompositorFrameSinkProviderImpl;
+
class OffscreenCanvasCompositorFrameSink
: public cc::CompositorFrameSinkSupportClient,
public cc::mojom::MojoCompositorFrameSink {
public:
- static void Create(const cc::FrameSinkId& frame_sink_id,
- cc::SurfaceManager* surface_manager,
- cc::mojom::MojoCompositorFrameSinkClientPtr client,
- cc::mojom::MojoCompositorFrameSinkRequest request);
-
OffscreenCanvasCompositorFrameSink(
+ OffscreenCanvasCompositorFrameSinkProviderImpl* provider,
const cc::FrameSinkId& frame_sink_id,
- cc::SurfaceManager* surface_manager,
+ cc::mojom::MojoCompositorFrameSinkRequest request,
cc::mojom::MojoCompositorFrameSinkClientPtr client);
~OffscreenCanvasCompositorFrameSink() override;
@@ -50,10 +48,14 @@ class OffscreenCanvasCompositorFrameSink
void WillDrawSurface() override;
private:
+ void OnClientConnectionLost();
+
+ OffscreenCanvasCompositorFrameSinkProviderImpl* const provider_;
+
cc::CompositorFrameSinkSupport support_;
cc::mojom::MojoCompositorFrameSinkClientPtr client_;
cc::ReturnedResourceArray surface_returned_resources_;
- mojo::StrongBindingPtr<cc::mojom::MojoCompositorFrameSink> binding_;
+ mojo::Binding<cc::mojom::MojoCompositorFrameSink> binding_;
DISALLOW_COPY_AND_ASSIGN(OffscreenCanvasCompositorFrameSink);
};
« no previous file with comments | « no previous file | content/browser/renderer_host/offscreen_canvas_compositor_frame_sink.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698