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 "platform/image-decoders/ImageDecoderTestHelpers.h" | 5 #include "platform/image-decoders/ImageDecoderTestHelpers.h" |
6 | 6 |
7 #include "platform/SharedBuffer.h" | 7 #include "platform/SharedBuffer.h" |
8 #include "platform/image-decoders/ImageDecoder.h" | 8 #include "platform/image-decoders/ImageDecoder.h" |
9 #include "platform/image-decoders/ImageFrame.h" | 9 #include "platform/image-decoders/ImageFrame.h" |
10 #include "platform/testing/UnitTestHelpers.h" | 10 #include "platform/testing/UnitTestHelpers.h" |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 OwnPtr<ImageDecoder> decoder = createDecoder(); | 68 OwnPtr<ImageDecoder> decoder = createDecoder(); |
69 | 69 |
70 size_t frameCount = 0; | 70 size_t frameCount = 0; |
71 size_t framesDecoded = 0; | 71 size_t framesDecoded = 0; |
72 | 72 |
73 // Pass data to decoder byte by byte. | 73 // Pass data to decoder byte by byte. |
74 RefPtr<SharedBuffer> sourceData[2] = { SharedBuffer::create(), SharedBuffer:
:create() }; | 74 RefPtr<SharedBuffer> sourceData[2] = { SharedBuffer::create(), SharedBuffer:
:create() }; |
75 const char* source = data->data(); | 75 const char* source = data->data(); |
76 | 76 |
77 for (size_t length = 1; length <= data->size() && !decoder->failed(); ++leng
th) { | 77 for (size_t length = 1; length <= data->size() && !decoder->failed(); ++leng
th) { |
78 sourceData[0]->append(source, 1); | 78 sourceData[0]->append(source, 1u); |
79 sourceData[1]->append(source++, 1); | 79 sourceData[1]->append(source++, 1u); |
80 // Alternate the buffers to cover the JPEGImageDecoder::onSetData restar
t code. | 80 // Alternate the buffers to cover the JPEGImageDecoder::onSetData restar
t code. |
81 decoder->setData(sourceData[length & 1].get(), length == data->size()); | 81 decoder->setData(sourceData[length & 1].get(), length == data->size()); |
82 | 82 |
83 EXPECT_LE(frameCount, decoder->frameCount()); | 83 EXPECT_LE(frameCount, decoder->frameCount()); |
84 frameCount = decoder->frameCount(); | 84 frameCount = decoder->frameCount(); |
85 | 85 |
86 if (!decoder->isSizeAvailable()) | 86 if (!decoder->isSizeAvailable()) |
87 continue; | 87 continue; |
88 | 88 |
89 ImageFrame* frame = decoder->frameBufferAtIndex(frameCount - 1); | 89 ImageFrame* frame = decoder->frameBufferAtIndex(frameCount - 1); |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
132 // data in a segment, its pointer would no longer be valid. | 132 // data in a segment, its pointer would no longer be valid. |
133 segmentedData->data(); | 133 segmentedData->data(); |
134 | 134 |
135 ImageFrame* frame = decoder->frameBufferAtIndex(0); | 135 ImageFrame* frame = decoder->frameBufferAtIndex(0); |
136 ASSERT_FALSE(decoder->failed()); | 136 ASSERT_FALSE(decoder->failed()); |
137 EXPECT_EQ(frame->status(), ImageFrame::FrameComplete); | 137 EXPECT_EQ(frame->status(), ImageFrame::FrameComplete); |
138 EXPECT_EQ(hashBitmap(frame->bitmap()), hash); | 138 EXPECT_EQ(hashBitmap(frame->bitmap()), hash); |
139 } | 139 } |
140 | 140 |
141 } // namespace blink | 141 } // namespace blink |
OLD | NEW |