Index: third_party/WebKit/Source/core/html/canvas/CanvasRenderingContext.cpp |
diff --git a/third_party/WebKit/Source/core/html/canvas/CanvasRenderingContext.cpp b/third_party/WebKit/Source/core/html/canvas/CanvasRenderingContext.cpp |
index 5c4ae21aec52ea2d4574b1281738c6f4dd96f75b..83c4ec96c18e21ba51863860a677f1e340238eab 100644 |
--- a/third_party/WebKit/Source/core/html/canvas/CanvasRenderingContext.cpp |
+++ b/third_party/WebKit/Source/core/html/canvas/CanvasRenderingContext.cpp |
@@ -165,6 +165,10 @@ void CanvasRenderingContext::dispose() { |
void CanvasRenderingContext::didDraw(const SkIRect& dirtyRect) { |
canvas()->didDraw(SkRect::Make(dirtyRect)); |
+ needsFinalizeFrame(); |
+} |
+ |
+void CanvasRenderingContext::needsFinalizeFrame() { |
if (!m_finalizeFrameScheduled) { |
m_finalizeFrameScheduled = true; |
Platform::current()->currentThread()->addTaskObserver(this); |
@@ -179,6 +183,8 @@ void CanvasRenderingContext::didProcessTask() { |
// at which the current frame may be considered complete. |
if (canvas()) |
canvas()->finalizeFrame(); |
+ if (offscreenCanvas()) |
+ offscreenCanvas()->finalizeFrame(); |
finalizeFrame(); |
} |