Chromium Code Reviews| 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); |
|
f(malita)
2016/03/23 16:41:58
If we update setData to take a PassRefPtr, this sh
|
| 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); |
|
f(malita)
2016/03/23 16:41:58
ditto
|
| 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()); |