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

Unified Diff: third_party/WebKit/Source/platform/graphics/CanvasSurfaceLayerBridge.h

Issue 2521013003: Compositing Layer update for OffscreenCanvas resize (Closed)
Patch Set: test 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: 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;
};

Powered by Google App Engine
This is Rietveld 408576698