| Index: third_party/WebKit/Source/platform/image-decoders/ImageDecoderTestHelpers.cpp
|
| diff --git a/third_party/WebKit/Source/platform/image-decoders/ImageDecoderTestHelpers.cpp b/third_party/WebKit/Source/platform/image-decoders/ImageDecoderTestHelpers.cpp
|
| index 10824940aad9179c0359a15481b7e693c43902bb..19fb93788204b3421686790246c1ba1888427470 100644
|
| --- a/third_party/WebKit/Source/platform/image-decoders/ImageDecoderTestHelpers.cpp
|
| +++ b/third_party/WebKit/Source/platform/image-decoders/ImageDecoderTestHelpers.cpp
|
| @@ -7,6 +7,7 @@
|
| #include "platform/SharedBuffer.h"
|
| #include "platform/image-decoders/ImageDecoder.h"
|
| #include "platform/image-decoders/ImageFrame.h"
|
| +#include "platform/image-decoders/SharedBufferSegmentReader.h"
|
| #include "platform/testing/UnitTestHelpers.h"
|
| #include "public/platform/Platform.h"
|
| #include "public/platform/WebUnitTestSupport.h"
|
| @@ -42,7 +43,8 @@ unsigned hashBitmap(const SkBitmap& bitmap)
|
| static unsigned createDecodingBaseline(DecoderCreator createDecoder, SharedBuffer* data)
|
| {
|
| OwnPtr<ImageDecoder> decoder = createDecoder();
|
| - decoder->setData(data, true);
|
| + RefPtr<SharedBufferSegmentReader> segmentReader = adoptRef(new SharedBufferSegmentReader(data));
|
| + decoder->setData(segmentReader.get(), true);
|
| ImageFrame* frame = decoder->frameBufferAtIndex(0);
|
| return hashBitmap(frame->bitmap());
|
| }
|
| @@ -50,7 +52,8 @@ static unsigned createDecodingBaseline(DecoderCreator createDecoder, SharedBuffe
|
| void createDecodingBaseline(DecoderCreator createDecoder, SharedBuffer* data, Vector<unsigned>* baselineHashes)
|
| {
|
| OwnPtr<ImageDecoder> decoder = createDecoder();
|
| - decoder->setData(data, true);
|
| + RefPtr<SharedBufferSegmentReader> segmentReader = adoptRef(new SharedBufferSegmentReader(data));
|
| + decoder->setData(segmentReader.get(), true);
|
| size_t frameCount = decoder->frameCount();
|
| for (size_t i = 0; i < frameCount; ++i) {
|
| ImageFrame* frame = decoder->frameBufferAtIndex(i);
|
| @@ -74,13 +77,14 @@ void testByteByByteDecode(DecoderCreator createDecoder, const char* file, size_t
|
|
|
| // Pass data to decoder byte by byte.
|
| RefPtr<SharedBuffer> sourceData[2] = { SharedBuffer::create(), SharedBuffer::create() };
|
| + RefPtr<SharedBufferSegmentReader> segmentReader[2] = { adoptRef(new SharedBufferSegmentReader(sourceData[0])), adoptRef(new SharedBufferSegmentReader(sourceData[1])) };
|
| const char* source = data->data();
|
|
|
| for (size_t length = 1; length <= data->size() && !decoder->failed(); ++length) {
|
| sourceData[0]->append(source, 1);
|
| sourceData[1]->append(source++, 1);
|
| // Alternate the buffers to cover the JPEGImageDecoder::onSetData restart code.
|
| - decoder->setData(sourceData[length & 1].get(), length == data->size());
|
| + decoder->setData(segmentReader[length & 1].get(), length == data->size());
|
|
|
| EXPECT_LE(frameCount, decoder->frameCount());
|
| frameCount = decoder->frameCount();
|
| @@ -125,7 +129,8 @@ void testMergeBuffer(DecoderCreator createDecoder, const char* file)
|
| segmentedData->append(data->data(), data->size());
|
|
|
| OwnPtr<ImageDecoder> decoder = createDecoder();
|
| - decoder->setData(segmentedData.get(), true);
|
| + RefPtr<SharedBufferSegmentReader> segmentReader = adoptRef(new SharedBufferSegmentReader(data));
|
| + decoder->setData(segmentReader.get(), true);
|
|
|
| ASSERT_TRUE(decoder->isSizeAvailable());
|
|
|
|
|