Index: third_party/WebKit/Source/core/offscreencanvas/OffscreenCanvas.h |
diff --git a/third_party/WebKit/Source/core/offscreencanvas/OffscreenCanvas.h b/third_party/WebKit/Source/core/offscreencanvas/OffscreenCanvas.h |
index 5f9cf10836a1ad2d07ef3ec9bf14b5f91e0d6f45..6ddced621252f137bfbe3789b66151a853569ce8 100644 |
--- a/third_party/WebKit/Source/core/offscreencanvas/OffscreenCanvas.h |
+++ b/third_party/WebKit/Source/core/offscreencanvas/OffscreenCanvas.h |
@@ -13,6 +13,7 @@ |
#include "core/html/HTMLCanvasElement.h" |
#include "core/html/canvas/CanvasImageSource.h" |
#include "core/html/canvas/CanvasRenderingContextHost.h" |
+#include "core/imagebitmap/ImageBitmapSource.h" |
#include "core/offscreencanvas/ImageEncodeOptions.h" |
#include "platform/geometry/IntSize.h" |
#include "platform/graphics/OffscreenCanvasFrameDispatcher.h" |
@@ -83,6 +84,10 @@ class CORE_EXPORT OffscreenCanvas final |
disable_reading_from_canvas_ = true; |
} |
+ bool HasImageBuffer() const override { return !!image_buffer_; } |
+ void DiscardImageBuffer() override; |
+ ImageBuffer* GetImageBuffer() const override; |
+ |
void SetFrameSinkId(uint32_t client_id, uint32_t sink_id) { |
client_id_ = client_id; |
sink_id_ = sink_id; |
@@ -181,6 +186,9 @@ class CORE_EXPORT OffscreenCanvas final |
RefPtr<StaticBitmapImage> current_frame_; |
bool current_frame_is_web_gl_software_rendering_ = false; |
+ std::unique_ptr<ImageBuffer> image_buffer_; |
+ bool needs_matrix_clip_restore_ = false; |
+ |
// cc::FrameSinkId is broken into two integer components as this can be used |
// in transfer of OffscreenCanvas across threads |
// If this object is not created via |