Index: Source/platform/exported/WebImageSkia.cpp |
diff --git a/Source/platform/exported/WebImageSkia.cpp b/Source/platform/exported/WebImageSkia.cpp |
index 94aac9edbfab7300112353e047da60b38d40ee6f..bdde52c211447b8e9f8be96e6ce98b957b47bcb2 100644 |
--- a/Source/platform/exported/WebImageSkia.cpp |
+++ b/Source/platform/exported/WebImageSkia.cpp |
@@ -34,7 +34,6 @@ |
#include "platform/SharedBuffer.h" |
#include "platform/graphics/Image.h" |
-#include "platform/graphics/skia/NativeImageSkia.h" |
#include "platform/image-decoders/ImageDecoder.h" |
#include "public/platform/WebData.h" |
#include "public/platform/WebSize.h" |
@@ -84,11 +83,7 @@ WebImage WebImage::fromData(const WebData& data, const WebSize& desiredSize) |
if (!frame) |
return WebImage(); |
- RefPtr<NativeImageSkia> image = frame->asNewNativeImage(); |
- if (!image) |
- return WebImage(); |
- |
- return WebImage(image->bitmap()); |
+ return WebImage(frame->bitmap()); |
} |
WebVector<WebImage> WebImage::framesFromData(const WebData& data) |
@@ -121,9 +116,9 @@ WebVector<WebImage> WebImage::framesFromData(const WebData& data) |
if (!frame) |
continue; |
- RefPtr<NativeImageSkia> image = frame->asNewNativeImage(); |
- if (image && image->isDataComplete()) |
- frames.append(WebImage(image->bitmap())); |
+ const SkBitmap& bitmap = frame->bitmap(); |
+ if (!bitmap.isNull() && bitmap.isImmutable()) |
+ frames.append(WebImage(bitmap)); |
} |
return frames; |
@@ -156,11 +151,15 @@ WebImage::WebImage(const PassRefPtr<Image>& image) |
WebImage& WebImage::operator=(const PassRefPtr<Image>& image) |
{ |
- RefPtr<NativeImageSkia> p; |
- if (image && (p = image->nativeImageForCurrentFrame())) |
- assign(p->bitmap()); |
- else |
+ if (image) { |
+ SkBitmap p = image->bitmapForCurrentFrame(); |
+ if (!p.isNull()) |
+ assign(p); |
+ else |
+ reset(); |
+ } else { |
reset(); |
+ } |
return *this; |
} |