| 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 |