Index: Source/platform/graphics/ImageBufferSurface.cpp |
diff --git a/Source/platform/graphics/ImageBufferSurface.cpp b/Source/platform/graphics/ImageBufferSurface.cpp |
index 2869f4cc29ae5a05d3d2daffbcf23b52930bd775..1d1971021de1b41baf742b284725f362237590f9 100644 |
--- a/Source/platform/graphics/ImageBufferSurface.cpp |
+++ b/Source/platform/graphics/ImageBufferSurface.cpp |
@@ -35,6 +35,7 @@ |
#include "platform/graphics/ImageBuffer.h" |
#include "third_party/skia/include/core/SkCanvas.h" |
#include "third_party/skia/include/core/SkDevice.h" |
+#include "third_party/skia/include/core/SkPicture.h" |
namespace WebCore { |
@@ -45,6 +46,14 @@ ImageBufferSurface::ImageBufferSurface(const IntSize& size, OpacityMode opacityM |
setIsHidden(false); |
} |
+ImageBufferSurface::~ImageBufferSurface() |
+{ } |
+ |
+PassRefPtr<SkPicture> ImageBufferSurface::getPicture() |
+{ |
+ return nullptr; |
+} |
+ |
void ImageBufferSurface::clear() |
{ |
// Clear the background transparent or opaque, as required. It would be nice if this wasn't |
@@ -55,12 +64,13 @@ void ImageBufferSurface::clear() |
canvas()->drawARGB(255, 0, 0, 0, SkXfermode::kSrc_Mode); |
else |
canvas()->drawARGB(0, 0, 0, 0, SkXfermode::kClear_Mode); |
+ didClearCanvas(); |
} |
} |
-const SkBitmap& ImageBufferSurface::bitmap() const |
+const SkBitmap& ImageBufferSurface::bitmap() |
{ |
- ASSERT(canvas()); |
+ willReadback(); |
return canvas()->getTopDevice()->accessBitmap(false); |
} |