| 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
|
|
|