OLD | NEW |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |