| 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;
|
| }
|
|
|
|
|