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 3e9f3208198862f40c066485ec845ee15ee73542..262db646bc7a36a5db532f4efce090e65841ff29 100644 |
--- a/third_party/WebKit/Source/platform/graphics/CanvasSurfaceLayerBridge.h |
+++ b/third_party/WebKit/Source/platform/graphics/CanvasSurfaceLayerBridge.h |
@@ -6,13 +6,15 @@ |
#define CanvasSurfaceLayerBridge_h |
#include "base/memory/ref_counted.h" |
+#include "cc/surfaces/surface_id.h" |
#include "platform/PlatformExport.h" |
+#include "public/platform/modules/offscreencanvas/offscreen_canvas_surface_service.mojom-blink.h" |
#include "wtf/OwnPtr.h" |
namespace cc { |
-// TODO(611796): replace SolidColorLayer with SurfaceLayer |
-class SolidColorLayer; |
-} |
+class SurfaceLayer; |
+struct SurfaceSequence; |
+} // namespace cc |
namespace blink { |
@@ -21,14 +23,29 @@ class WebLayer; |
class PLATFORM_EXPORT CanvasSurfaceLayerBridge { |
public: |
explicit CanvasSurfaceLayerBridge(); |
- ~CanvasSurfaceLayerBridge(); |
+ virtual ~CanvasSurfaceLayerBridge(); |
+ bool createSurfaceLayer(int canvasWidth, int canvasHeight); |
WebLayer* getWebLayer() const { return m_webLayer.get(); } |
+ void satisfyCallback(cc::SurfaceSequence); |
+ void requireCallback(cc::SurfaceId, cc::SurfaceSequence); |
+ |
+protected: |
+ // Virtual functions for unit tests |
+ virtual bool syncGetServiceId(); |
+ virtual void asyncRequestSurfaceCreation(); |
+ virtual void asyncSatisfy(const cc::SurfaceSequence&); |
+ virtual void asyncRequire(const cc::SurfaceId&, const cc::SurfaceSequence&); |
+ mojom::blink::SurfaceIdPtr m_surfaceIdPtr; |
+ cc::SurfaceId m_surfaceId; |
+ |
private: |
- scoped_refptr<cc::SolidColorLayer> m_solidColorLayer; |
+ scoped_refptr<cc::SurfaceLayer> m_surfaceLayer; |
OwnPtr<WebLayer> m_webLayer; |
+ |
+ mojom::blink::OffscreenCanvasSurfaceServicePtr m_service; |
}; |
-} |
+} // namespace blink |
#endif // CanvasSurfaceLayerBridge |