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

Side by Side Diff: third_party/WebKit/Source/platform/graphics/ImageDecodingStoreTest.cpp

Issue 2787053004: Respect colorSpace in DecodingImageGenerator::onGetPixels() (Closed)
Patch Set: Rebase Created 3 years, 8 months 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 /* 1 /*
2 * Copyright (C) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 const SkISize size = SkISize::Make(1, 1); 76 const SkISize size = SkISize::Make(1, 1);
77 std::unique_ptr<ImageDecoder> decoder = MockImageDecoder::Create(this); 77 std::unique_ptr<ImageDecoder> decoder = MockImageDecoder::Create(this);
78 decoder->SetSize(1, 1); 78 decoder->SetSize(1, 1);
79 const ImageDecoder* ref_decoder = decoder.get(); 79 const ImageDecoder* ref_decoder = decoder.get();
80 ImageDecodingStore::Instance().InsertDecoder(generator_.Get(), 80 ImageDecodingStore::Instance().InsertDecoder(generator_.Get(),
81 std::move(decoder)); 81 std::move(decoder));
82 EXPECT_EQ(1, ImageDecodingStore::Instance().CacheEntries()); 82 EXPECT_EQ(1, ImageDecodingStore::Instance().CacheEntries());
83 EXPECT_EQ(4u, ImageDecodingStore::Instance().MemoryUsageInBytes()); 83 EXPECT_EQ(4u, ImageDecodingStore::Instance().MemoryUsageInBytes());
84 84
85 ImageDecoder* test_decoder; 85 ImageDecoder* test_decoder;
86 EXPECT_TRUE(ImageDecodingStore::Instance().LockDecoder(generator_.Get(), size, 86 EXPECT_TRUE(ImageDecodingStore::Instance().LockDecoder(
87 &test_decoder)); 87 generator_.Get(), size, ImageDecoder::kAlphaPremultiplied,
88 &test_decoder));
88 EXPECT_TRUE(test_decoder); 89 EXPECT_TRUE(test_decoder);
89 EXPECT_EQ(ref_decoder, test_decoder); 90 EXPECT_EQ(ref_decoder, test_decoder);
90 ImageDecodingStore::Instance().UnlockDecoder(generator_.Get(), test_decoder); 91 ImageDecodingStore::Instance().UnlockDecoder(generator_.Get(), test_decoder);
91 EXPECT_EQ(1, ImageDecodingStore::Instance().CacheEntries()); 92 EXPECT_EQ(1, ImageDecodingStore::Instance().CacheEntries());
92 } 93 }
93 94
94 TEST_F(ImageDecodingStoreTest, evictDecoder) { 95 TEST_F(ImageDecodingStoreTest, evictDecoder) {
95 std::unique_ptr<ImageDecoder> decoder1 = MockImageDecoder::Create(this); 96 std::unique_ptr<ImageDecoder> decoder1 = MockImageDecoder::Create(this);
96 std::unique_ptr<ImageDecoder> decoder2 = MockImageDecoder::Create(this); 97 std::unique_ptr<ImageDecoder> decoder2 = MockImageDecoder::Create(this);
97 std::unique_ptr<ImageDecoder> decoder3 = MockImageDecoder::Create(this); 98 std::unique_ptr<ImageDecoder> decoder3 = MockImageDecoder::Create(this);
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 ImageDecodingStore::Instance().InsertDecoder(generator_.Get(), 131 ImageDecodingStore::Instance().InsertDecoder(generator_.Get(),
131 std::move(decoder1)); 132 std::move(decoder1));
132 ImageDecodingStore::Instance().InsertDecoder(generator_.Get(), 133 ImageDecodingStore::Instance().InsertDecoder(generator_.Get(),
133 std::move(decoder2)); 134 std::move(decoder2));
134 ImageDecodingStore::Instance().InsertDecoder(generator_.Get(), 135 ImageDecodingStore::Instance().InsertDecoder(generator_.Get(),
135 std::move(decoder3)); 136 std::move(decoder3));
136 EXPECT_EQ(3, ImageDecodingStore::Instance().CacheEntries()); 137 EXPECT_EQ(3, ImageDecodingStore::Instance().CacheEntries());
137 138
138 ImageDecoder* test_decoder; 139 ImageDecoder* test_decoder;
139 EXPECT_TRUE(ImageDecodingStore::Instance().LockDecoder( 140 EXPECT_TRUE(ImageDecodingStore::Instance().LockDecoder(
140 generator_.Get(), SkISize::Make(2, 2), &test_decoder)); 141 generator_.Get(), SkISize::Make(2, 2), ImageDecoder::kAlphaPremultiplied,
142 &test_decoder));
141 143
142 EvictOneCache(); 144 EvictOneCache();
143 EvictOneCache(); 145 EvictOneCache();
144 EvictOneCache(); 146 EvictOneCache();
145 EXPECT_EQ(1, ImageDecodingStore::Instance().CacheEntries()); 147 EXPECT_EQ(1, ImageDecodingStore::Instance().CacheEntries());
146 EXPECT_EQ(16u, ImageDecodingStore::Instance().MemoryUsageInBytes()); 148 EXPECT_EQ(16u, ImageDecodingStore::Instance().MemoryUsageInBytes());
147 149
148 ImageDecodingStore::Instance().UnlockDecoder(generator_.Get(), test_decoder); 150 ImageDecodingStore::Instance().UnlockDecoder(generator_.Get(), test_decoder);
149 EvictOneCache(); 151 EvictOneCache();
150 EXPECT_FALSE(ImageDecodingStore::Instance().CacheEntries()); 152 EXPECT_FALSE(ImageDecodingStore::Instance().CacheEntries());
151 EXPECT_FALSE(ImageDecodingStore::Instance().MemoryUsageInBytes()); 153 EXPECT_FALSE(ImageDecodingStore::Instance().MemoryUsageInBytes());
152 } 154 }
153 155
154 TEST_F(ImageDecodingStoreTest, removeDecoder) { 156 TEST_F(ImageDecodingStoreTest, removeDecoder) {
155 const SkISize size = SkISize::Make(1, 1); 157 const SkISize size = SkISize::Make(1, 1);
156 std::unique_ptr<ImageDecoder> decoder = MockImageDecoder::Create(this); 158 std::unique_ptr<ImageDecoder> decoder = MockImageDecoder::Create(this);
157 decoder->SetSize(1, 1); 159 decoder->SetSize(1, 1);
158 const ImageDecoder* ref_decoder = decoder.get(); 160 const ImageDecoder* ref_decoder = decoder.get();
159 ImageDecodingStore::Instance().InsertDecoder(generator_.Get(), 161 ImageDecodingStore::Instance().InsertDecoder(generator_.Get(),
160 std::move(decoder)); 162 std::move(decoder));
161 EXPECT_EQ(1, ImageDecodingStore::Instance().CacheEntries()); 163 EXPECT_EQ(1, ImageDecodingStore::Instance().CacheEntries());
162 EXPECT_EQ(4u, ImageDecodingStore::Instance().MemoryUsageInBytes()); 164 EXPECT_EQ(4u, ImageDecodingStore::Instance().MemoryUsageInBytes());
163 165
164 ImageDecoder* test_decoder; 166 ImageDecoder* test_decoder;
165 EXPECT_TRUE(ImageDecodingStore::Instance().LockDecoder(generator_.Get(), size, 167 EXPECT_TRUE(ImageDecodingStore::Instance().LockDecoder(
166 &test_decoder)); 168 generator_.Get(), size, ImageDecoder::kAlphaPremultiplied,
169 &test_decoder));
167 EXPECT_TRUE(test_decoder); 170 EXPECT_TRUE(test_decoder);
168 EXPECT_EQ(ref_decoder, test_decoder); 171 EXPECT_EQ(ref_decoder, test_decoder);
169 ImageDecodingStore::Instance().RemoveDecoder(generator_.Get(), test_decoder); 172 ImageDecodingStore::Instance().RemoveDecoder(generator_.Get(), test_decoder);
170 EXPECT_FALSE(ImageDecodingStore::Instance().CacheEntries()); 173 EXPECT_FALSE(ImageDecodingStore::Instance().CacheEntries());
171 174
172 EXPECT_FALSE(ImageDecodingStore::Instance().LockDecoder(generator_.Get(), 175 EXPECT_FALSE(ImageDecodingStore::Instance().LockDecoder(
173 size, &test_decoder)); 176 generator_.Get(), size, ImageDecoder::kAlphaPremultiplied,
177 &test_decoder));
174 } 178 }
175 179
176 } // namespace blink 180 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698