Index: Source/platform/graphics/RecordingImageBufferSurface.h |
diff --git a/Source/platform/graphics/RecordingImageBufferSurface.h b/Source/platform/graphics/RecordingImageBufferSurface.h |
index cf1eded67eb598b1ce28e5652284fdabe87e1821..a3f5c1ecfb7b8c27921060642741cf9314f0b410 100644 |
--- a/Source/platform/graphics/RecordingImageBufferSurface.h |
+++ b/Source/platform/graphics/RecordingImageBufferSurface.h |
@@ -6,6 +6,7 @@ |
#define RecordingImageBufferSurface_h |
#include "platform/graphics/ImageBufferSurface.h" |
+#include "public/platform/WebThread.h" |
#include "wtf/OwnPtr.h" |
#include "wtf/RefPtr.h" |
@@ -17,7 +18,7 @@ namespace blink { |
class GraphicsContext; |
-class PLATFORM_EXPORT RecordingImageBufferSurface : public ImageBufferSurface { |
+class PLATFORM_EXPORT RecordingImageBufferSurface : public ImageBufferSurface, public blink::WebThread::TaskObserver { |
WTF_MAKE_NONCOPYABLE(RecordingImageBufferSurface); WTF_MAKE_FAST_ALLOCATED; |
public: |
RecordingImageBufferSurface(const IntSize&, OpacityMode = NonOpaque); |
@@ -28,7 +29,7 @@ public: |
virtual PassRefPtr<SkPicture> getPicture() OVERRIDE; |
virtual bool isValid() const OVERRIDE { return true; } |
virtual void willReadback() OVERRIDE; |
- virtual void willUse() OVERRIDE; |
+ virtual void didDraw() OVERRIDE; |
virtual void didClearCanvas() OVERRIDE; |
virtual void setImageBuffer(ImageBuffer*) OVERRIDE; |
@@ -36,7 +37,11 @@ private: |
friend class ::RecordingImageBufferSurfaceTest; // for unit testing |
void fallBackToRasterCanvas(); |
void initializeCurrentFrame(); |
- bool handleOpaqueFrame(); |
+ bool finalizeFrame(); |
+ |
+ // Implementation of WebThread::TaskObserver methods |
+ virtual void willProcessTask() OVERRIDE; |
+ virtual void didProcessTask() OVERRIDE; |
OwnPtr<SkPictureRecorder> m_currentFrame; |
RefPtr<SkPicture> m_previousFrame; |
@@ -44,7 +49,7 @@ private: |
GraphicsContext* m_graphicsContext; |
int m_initialSaveCount; |
bool m_frameWasCleared; |
- bool m_surfaceUsedSincePreviousFrameWasPresented; |
+ bool m_recordedSinceLastFrameWasFinalized; |
}; |
} // namespace blink |