Index: third_party/WebKit/Source/core/frame/ImageBitmap.cpp |
diff --git a/third_party/WebKit/Source/core/frame/ImageBitmap.cpp b/third_party/WebKit/Source/core/frame/ImageBitmap.cpp |
index bb45b3f009b97649d272ffb1158c13e864aee62a..393eabe78cdaf856ded22d97234cae7a78b389d7 100644 |
--- a/third_party/WebKit/Source/core/frame/ImageBitmap.cpp |
+++ b/third_party/WebKit/Source/core/frame/ImageBitmap.cpp |
@@ -181,6 +181,21 @@ PassRefPtrWillBeRawPtr<ImageBitmap> ImageBitmap::create(Image* image, const IntR |
return adoptRefWillBeNoop(new ImageBitmap(image, normalizedCropRect)); |
} |
+PassRefPtrWillBeRawPtr<ImageBitmap> ImageBitmap::transfer() |
+{ |
+ RefPtrWillBeRawPtr<ImageBitmap> bitmap = adoptRefWillBeNoop(new ImageBitmap(this, m_cropRect)); |
+ if (m_imageElement) |
+ m_imageElement.clear(); |
+ if (m_bitmap) |
+ m_bitmap.clear(); |
+ m_bitmapRect.setLocation(IntPoint(0, 0)); |
+ m_bitmapRect.setSize(IntSize(0, 0)); |
+ m_cropRect = m_bitmapRect; |
+ m_bitmapOffset.setX(0); |
+ m_bitmapOffset.setY(0); |
+ return bitmap.release(); |
+} |
+ |
void ImageBitmap::notifyImageSourceChanged() |
{ |
m_bitmap = cropImage(m_imageElement->cachedImage()->image(), m_cropRect); |