| Index: third_party/WebKit/Source/platform/exported/WebImage.cpp
|
| diff --git a/third_party/WebKit/Source/platform/exported/WebImage.cpp b/third_party/WebKit/Source/platform/exported/WebImage.cpp
|
| index bb14044c2946d29e25d81ee60d1637f7cbbb4a79..336fbc71f0af7671f40191b01d491060b1837ee7 100644
|
| --- a/third_party/WebKit/Source/platform/exported/WebImage.cpp
|
| +++ b/third_party/WebKit/Source/platform/exported/WebImage.cpp
|
| @@ -33,6 +33,7 @@
|
| #include "platform/SharedBuffer.h"
|
| #include "platform/graphics/Image.h"
|
| #include "platform/image-decoders/ImageDecoder.h"
|
| +#include "platform/image-decoders/SharedBufferSegmentReader.h"
|
| #include "public/platform/WebData.h"
|
| #include "public/platform/WebSize.h"
|
| #include "third_party/skia/include/core/SkImage.h"
|
| @@ -47,11 +48,12 @@ namespace blink {
|
| WebImage WebImage::fromData(const WebData& data, const WebSize& desiredSize)
|
| {
|
| RefPtr<SharedBuffer> buffer = PassRefPtr<SharedBuffer>(data);
|
| - OwnPtr<ImageDecoder> decoder(ImageDecoder::create(*buffer.get(), ImageDecoder::AlphaPremultiplied, ImageDecoder::GammaAndColorProfileIgnored));
|
| + RefPtr<SharedBufferSegmentReader> segmentReader = adoptRef(new SharedBufferSegmentReader(buffer));
|
| + OwnPtr<ImageDecoder> decoder(ImageDecoder::create(*segmentReader.get(), ImageDecoder::AlphaPremultiplied, ImageDecoder::GammaAndColorProfileIgnored));
|
| if (!decoder)
|
| return WebImage();
|
|
|
| - decoder->setData(buffer.get(), true);
|
| + decoder->setData(segmentReader.get(), true);
|
| if (!decoder->isSizeAvailable())
|
| return WebImage();
|
|
|
| @@ -91,11 +93,12 @@ WebVector<WebImage> WebImage::framesFromData(const WebData& data)
|
| const size_t maxFrameCount = 8;
|
|
|
| RefPtr<SharedBuffer> buffer = PassRefPtr<SharedBuffer>(data);
|
| - OwnPtr<ImageDecoder> decoder(ImageDecoder::create(*buffer.get(), ImageDecoder::AlphaPremultiplied, ImageDecoder::GammaAndColorProfileIgnored));
|
| + RefPtr<SharedBufferSegmentReader> segmentReader = adoptRef(new SharedBufferSegmentReader(buffer));
|
| + OwnPtr<ImageDecoder> decoder(ImageDecoder::create(*segmentReader.get(), ImageDecoder::AlphaPremultiplied, ImageDecoder::GammaAndColorProfileIgnored));
|
| if (!decoder)
|
| return WebVector<WebImage>();
|
|
|
| - decoder->setData(buffer.get(), true);
|
| + decoder->setData(segmentReader.get(), true);
|
| if (!decoder->isSizeAvailable())
|
| return WebVector<WebImage>();
|
|
|
|
|