Index: Source/platform/graphics/RecordingImageBufferSurface.cpp |
diff --git a/Source/platform/graphics/RecordingImageBufferSurface.cpp b/Source/platform/graphics/RecordingImageBufferSurface.cpp |
index 9c8921bffeb229283b9fb52b6186e3bd7c8e4251..6cdf05f207ff668c4e2fda0599ccbbb818c576c5 100644 |
--- a/Source/platform/graphics/RecordingImageBufferSurface.cpp |
+++ b/Source/platform/graphics/RecordingImageBufferSurface.cpp |
@@ -178,6 +178,21 @@ void RecordingImageBufferSurface::willDrawVideo() |
fallBackToRasterCanvas(); |
} |
+void RecordingImageBufferSurface::draw(GraphicsContext* context, const FloatRect& destRect, const FloatRect& srcRect, CompositeOperator op, WebBlendMode blendMode, bool needsCopy) |
+{ |
+ if (m_fallbackSurface) { |
+ m_fallbackSurface->draw(context, destRect, srcRect, op, blendMode, needsCopy); |
+ return; |
+ } |
+ |
+ RefPtr<SkPicture> picture = getPicture(); |
+ if (picture) { |
+ context->compositePicture(picture.get(), destRect, srcRect, op, blendMode); |
+ } else { |
+ ImageBufferSurface::draw(context, destRect, srcRect, op, blendMode, needsCopy); |
+ } |
+} |
+ |
// Fallback passthroughs |
const SkBitmap& RecordingImageBufferSurface::bitmap() |