Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(215)

Side by Side Diff: third_party/WebKit/Source/platform/image-decoders/ImageDecoderTestHelpers.cpp

Issue 1460523002: GIF decoding to Index8, unit tests and misusing unit test as benchmark (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: cleanup. tableChanged was wrong - do proper check. Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698