Index: third_party/WebKit/Source/core/html/canvas/CanvasRenderingContext.h |
diff --git a/third_party/WebKit/Source/core/html/canvas/CanvasRenderingContext.h b/third_party/WebKit/Source/core/html/canvas/CanvasRenderingContext.h |
index 406457ddcac348e06bfbcbbc9bb849fe067e16c0..b420788e72f6fa6d018efc27dcac81a464d22691 100644 |
--- a/third_party/WebKit/Source/core/html/canvas/CanvasRenderingContext.h |
+++ b/third_party/WebKit/Source/core/html/canvas/CanvasRenderingContext.h |
@@ -32,6 +32,7 @@ |
#include "core/layout/HitTestCanvasResult.h" |
#include "core/offscreencanvas/OffscreenCanvas.h" |
#include "platform/graphics/ColorBehavior.h" |
+#include "public/platform/WebThread.h" |
#include "third_party/skia/include/core/SkColorSpace.h" |
#include "third_party/skia/include/core/SkImageInfo.h" |
#include "wtf/HashSet.h" |
@@ -56,7 +57,8 @@ enum CanvasColorSpace { |
class CORE_EXPORT CanvasRenderingContext |
: public GarbageCollectedFinalized<CanvasRenderingContext>, |
- public ScriptWrappable { |
+ public ScriptWrappable, |
+ public WebThread::TaskObserver { |
WTF_MAKE_NONCOPYABLE(CanvasRenderingContext); |
USING_PRE_FINALIZER(CanvasRenderingContext, dispose); |
@@ -109,6 +111,7 @@ class CORE_EXPORT CanvasRenderingContext |
NOTREACHED(); |
} |
virtual bool isPaintable() const = 0; |
+ virtual void didDraw(const SkIRect& dirtyRect); |
// Return true if the content is updated. |
virtual bool paintRenderingResultsToCanvas(SourceDrawingBuffer) { |
@@ -131,6 +134,10 @@ class CORE_EXPORT CanvasRenderingContext |
}; |
virtual void loseContext(LostContextMode) {} |
+ // WebThread::TaskObserver implementation |
+ void didProcessTask() override; |
+ void willProcessTask() final {} |
+ |
// Canvas2D-specific interface |
virtual bool is2d() const { return false; } |
virtual void restoreCanvasMatrixClipStack(PaintCanvas*) const {} |
@@ -199,6 +206,7 @@ class CORE_EXPORT CanvasRenderingContext |
HashSet<String> m_dirtyURLs; |
CanvasColorSpace m_colorSpace; |
CanvasContextCreationAttributes m_creationAttributes; |
+ bool m_finalizeFrameScheduled = false; |
}; |
} // namespace blink |