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 0d838ed11ee7831824cd70a4c261ecee3962336f..6da8c80ea67079230a8af76a821b52ad0f0e86c6 100644 |
--- a/content/browser/renderer_host/offscreen_canvas_compositor_frame_sink.h |
+++ b/content/browser/renderer_host/offscreen_canvas_compositor_frame_sink.h |
@@ -11,7 +11,7 @@ |
namespace content { |
-class OffscreenCanvasCompositorFrameSink |
+class CONTENT_EXPORT OffscreenCanvasCompositorFrameSink |
: public cc::mojom::MojoCompositorFrameSink, |
public cc::SurfaceFactoryClient { |
public: |
@@ -34,6 +34,14 @@ class OffscreenCanvasCompositorFrameSink |
const gfx::Rect& damage_rect) override; |
void SetBeginFrameSource(cc::BeginFrameSource* begin_frame_source) override; |
+ const cc::FrameSinkId& frame_sink_id() const { |
+ return surface_id_.frame_sink_id(); |
+ } |
+ |
+ base::WeakPtr<OffscreenCanvasCompositorFrameSink> GetWeakPtr() { |
Fady Samuel
2016/11/14 21:15:40
Why does this need a weak ptr?
xlai (Olivia)
2016/11/15 17:16:18
Done. My mistake of not doing a clean delete after
|
+ return weak_factory_.GetWeakPtr(); |
+ } |
+ |
private: |
void DidReceiveCompositorFrameAck(); |
@@ -43,6 +51,8 @@ class OffscreenCanvasCompositorFrameSink |
int ack_pending_count_ = 0; |
cc::ReturnedResourceArray surface_returned_resources_; |
+ base::WeakPtrFactory<OffscreenCanvasCompositorFrameSink> weak_factory_; |
+ |
DISALLOW_COPY_AND_ASSIGN(OffscreenCanvasCompositorFrameSink); |
}; |