| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "config.h" | 5 #include "config.h" |
| 6 #include "platform/image-decoders/ImageDecoderTestHelpers.h" | 6 #include "platform/image-decoders/ImageDecoderTestHelpers.h" |
| 7 | 7 |
| 8 #include "platform/SharedBuffer.h" | 8 #include "platform/SharedBuffer.h" |
| 9 #include "platform/image-decoders/ImageDecoder.h" | 9 #include "platform/image-decoders/ImageDecoder.h" |
| 10 #include "platform/image-decoders/ImageFrame.h" | |
| 11 #include "public/platform/Platform.h" | 10 #include "public/platform/Platform.h" |
| 12 #include "public/platform/WebUnitTestSupport.h" | 11 #include "public/platform/WebUnitTestSupport.h" |
| 13 #include "wtf/OwnPtr.h" | 12 #include "wtf/OwnPtr.h" |
| 14 #include "wtf/StringHasher.h" | 13 #include "wtf/StringHasher.h" |
| 15 #include <gtest/gtest.h> | 14 #include <gtest/gtest.h> |
| 16 | 15 |
| 17 namespace blink { | 16 namespace blink { |
| 18 | 17 |
| 19 PassRefPtr<SharedBuffer> readFile(const char* fileName) | 18 PassRefPtr<SharedBuffer> readFile(const char* fileName) |
| 20 { | 19 { |
| (...skipping 19 matching lines...) Expand all Loading... |
| 40 } | 39 } |
| 41 | 40 |
| 42 static unsigned createDecodingBaseline(DecoderCreator createDecoder, SharedBuffe
r* data) | 41 static unsigned createDecodingBaseline(DecoderCreator createDecoder, SharedBuffe
r* data) |
| 43 { | 42 { |
| 44 OwnPtr<ImageDecoder> decoder = createDecoder(); | 43 OwnPtr<ImageDecoder> decoder = createDecoder(); |
| 45 decoder->setData(data, true); | 44 decoder->setData(data, true); |
| 46 ImageFrame* frame = decoder->frameBufferAtIndex(0); | 45 ImageFrame* frame = decoder->frameBufferAtIndex(0); |
| 47 return hashBitmap(frame->bitmap()); | 46 return hashBitmap(frame->bitmap()); |
| 48 } | 47 } |
| 49 | 48 |
| 50 void createDecodingBaseline(DecoderCreator createDecoder, SharedBuffer* data, Ve
ctor<unsigned>* baselineHashes) | 49 void createDecodingBaseline(DecoderCreator createDecoder, SharedBuffer* data, Ve
ctor<unsigned>* baselineHashes, ImageFrame::ColorType outputType) |
| 51 { | 50 { |
| 52 OwnPtr<ImageDecoder> decoder = createDecoder(); | 51 OwnPtr<ImageDecoder> decoder = createDecoder(); |
| 53 decoder->setData(data, true); | 52 decoder->setData(data, true); |
| 54 size_t frameCount = decoder->frameCount(); | 53 size_t frameCount = decoder->frameCount(); |
| 55 for (size_t i = 0; i < frameCount; ++i) { | 54 for (size_t i = 0; i < frameCount; ++i) { |
| 56 ImageFrame* frame = decoder->frameBufferAtIndex(i); | 55 ImageFrame* frame = decoder->frameBufferAtIndex(i, outputType); |
| 57 baselineHashes->append(hashBitmap(frame->getSkBitmap())); | 56 baselineHashes->append(hashBitmap(frame->getSkBitmap())); |
| 58 } | 57 } |
| 59 } | 58 } |
| 60 | 59 |
| 61 void testByteByByteDecode(DecoderCreator createDecoder, const char* file, size_t
expectedFrameCount, int expectedRepetitionCount) | 60 void testByteByByteDecode(DecoderCreator createDecoder, const char* file, size_t
expectedFrameCount, int expectedRepetitionCount) |
| 62 { | 61 { |
| 63 RefPtr<SharedBuffer> data = readFile(file); | 62 RefPtr<SharedBuffer> data = readFile(file); |
| 64 ASSERT_TRUE(data.get()); | 63 ASSERT_TRUE(data.get()); |
| 65 | 64 |
| 66 Vector<unsigned> baselineHashes; | 65 Vector<unsigned> baselineHashes; |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 128 // data in a segment, its pointer would no longer be valid. | 127 // data in a segment, its pointer would no longer be valid. |
| 129 segmentedData->data(); | 128 segmentedData->data(); |
| 130 | 129 |
| 131 ImageFrame* frame = decoder->frameBufferAtIndex(0); | 130 ImageFrame* frame = decoder->frameBufferAtIndex(0); |
| 132 ASSERT_FALSE(decoder->failed()); | 131 ASSERT_FALSE(decoder->failed()); |
| 133 EXPECT_EQ(frame->status(), ImageFrame::FrameComplete); | 132 EXPECT_EQ(frame->status(), ImageFrame::FrameComplete); |
| 134 EXPECT_EQ(hashBitmap(frame->bitmap()), hash); | 133 EXPECT_EQ(hashBitmap(frame->bitmap()), hash); |
| 135 } | 134 } |
| 136 | 135 |
| 137 } // namespace blink | 136 } // namespace blink |
| OLD | NEW |