Index: third_party/WebKit/Source/platform/graphics/CanvasSurfaceLayerBridge.h |
diff --git a/third_party/WebKit/Source/platform/graphics/CanvasSurfaceLayerBridge.h b/third_party/WebKit/Source/platform/graphics/CanvasSurfaceLayerBridge.h |
index de6d5c82e871e0d7d510089d5f3fa163c9938213..c7a033c3c446348e82d1f93748083f846d67c2f0 100644 |
--- a/third_party/WebKit/Source/platform/graphics/CanvasSurfaceLayerBridge.h |
+++ b/third_party/WebKit/Source/platform/graphics/CanvasSurfaceLayerBridge.h |
@@ -7,6 +7,7 @@ |
#include "base/memory/ref_counted.h" |
#include "cc/surfaces/surface_id.h" |
+#include "mojo/public/cpp/bindings/binding.h" |
#include "platform/PlatformExport.h" |
#include "public/platform/modules/offscreencanvas/offscreen_canvas_surface.mojom-blink.h" |
#include <memory> |
@@ -20,7 +21,8 @@ namespace blink { |
class WebLayer; |
-class PLATFORM_EXPORT CanvasSurfaceLayerBridge { |
+class PLATFORM_EXPORT CanvasSurfaceLayerBridge |
+ : WTF_NON_EXPORTED_BASE(public mojom::blink::OffscreenCanvasSurfaceClient) { |
public: |
explicit CanvasSurfaceLayerBridge(mojom::blink::OffscreenCanvasSurfacePtr); |
~CanvasSurfaceLayerBridge(); |
@@ -31,10 +33,17 @@ class PLATFORM_EXPORT CanvasSurfaceLayerBridge { |
void satisfyCallback(const cc::SurfaceSequence&); |
void requireCallback(const cc::SurfaceId&, const cc::SurfaceSequence&); |
+ // Implementation of mojom::blink::OffscreenCanvasSurfaceClient |
+ void OnSurfaceSizeChanged(const cc::SurfaceId& newSurfaceId, |
+ uint32_t newWidth, |
+ uint32_t newHeight) override; |
+ |
private: |
+ void createNewSurfaceLayer(const cc::SurfaceId&, gfx::Size); |
scoped_refptr<cc::SurfaceLayer> m_surfaceLayer; |
std::unique_ptr<WebLayer> m_webLayer; |
mojom::blink::OffscreenCanvasSurfacePtr m_service; |
+ mojo::Binding<mojom::blink::OffscreenCanvasSurfaceClient> m_binding; |
cc::SurfaceId m_surfaceId; |
}; |