OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2013, Google Inc. All rights reserved. | 2 * Copyright (c) 2013, 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 are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * 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 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
65 filePath.append(fileName); | 65 filePath.append(fileName); |
66 return blink::Platform::current()->unitTestSupport()->readFromFile(fileP
ath); | 66 return blink::Platform::current()->unitTestSupport()->readFromFile(fileP
ath); |
67 } | 67 } |
68 | 68 |
69 // Accessors to BitmapImage's protected methods. | 69 // Accessors to BitmapImage's protected methods. |
70 void destroyDecodedData(bool destroyAll) { m_image->destroyDecodedData(destr
oyAll); } | 70 void destroyDecodedData(bool destroyAll) { m_image->destroyDecodedData(destr
oyAll); } |
71 size_t frameCount() { return m_image->frameCount(); } | 71 size_t frameCount() { return m_image->frameCount(); } |
72 void setCurrentFrame(size_t frame) { m_image->m_currentFrame = frame; } | 72 void setCurrentFrame(size_t frame) { m_image->m_currentFrame = frame; } |
73 size_t frameDecodedSize(size_t frame) { return m_image->m_frames[frame].m_fr
ameBytes; } | 73 size_t frameDecodedSize(size_t frame) { return m_image->m_frames[frame].m_fr
ameBytes; } |
74 size_t decodedFramesCount() const { return m_image->m_frames.size(); } | 74 size_t decodedFramesCount() const { return m_image->m_frames.size(); } |
| 75 void resetDecoder() { return m_image->resetDecoder(); } |
75 | 76 |
76 void loadImage(const char* fileName) | 77 void loadImage(const char* fileName) |
77 { | 78 { |
78 RefPtr<SharedBuffer> imageData = readFile(fileName); | 79 RefPtr<SharedBuffer> imageData = readFile(fileName); |
79 ASSERT_TRUE(imageData.get()); | 80 ASSERT_TRUE(imageData.get()); |
80 | 81 |
81 m_image->setData(imageData, true); | 82 m_image->setData(imageData, true); |
82 EXPECT_EQ(0u, decodedSize()); | 83 EXPECT_EQ(0u, decodedSize()); |
83 | 84 |
84 size_t frameCount = m_image->frameCount(); | 85 size_t frameCount = m_image->frameCount(); |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
178 image->setData(imageData, true); | 179 image->setData(imageData, true); |
179 EXPECT_TRUE(image->isAllDataReceived()); | 180 EXPECT_TRUE(image->isAllDataReceived()); |
180 } | 181 } |
181 | 182 |
182 #if USE(QCMSLIB) | 183 #if USE(QCMSLIB) |
183 | 184 |
184 TEST_F(BitmapImageTest, jpegHasColorProfile) | 185 TEST_F(BitmapImageTest, jpegHasColorProfile) |
185 { | 186 { |
186 loadImage("/LayoutTests/fast/images/resources/icc-v2-gbr.jpg"); | 187 loadImage("/LayoutTests/fast/images/resources/icc-v2-gbr.jpg"); |
187 EXPECT_EQ(1u, decodedFramesCount()); | 188 EXPECT_EQ(1u, decodedFramesCount()); |
| 189 EXPECT_EQ(227700u, decodedSize()); |
188 EXPECT_TRUE(m_image->hasColorProfile()); | 190 EXPECT_TRUE(m_image->hasColorProfile()); |
| 191 |
| 192 resetDecoder(); |
| 193 destroyDecodedData(true); |
| 194 |
| 195 loadImage("/LayoutTests/fast/images/resources/green.jpg"); |
| 196 EXPECT_EQ(1u, decodedFramesCount()); |
| 197 EXPECT_EQ(1024u, decodedSize()); |
| 198 EXPECT_FALSE(m_image->hasColorProfile()); |
189 } | 199 } |
190 | 200 |
191 TEST_F(BitmapImageTest, pngHasColorProfile) | 201 TEST_F(BitmapImageTest, pngHasColorProfile) |
192 { | 202 { |
193 loadImage("/LayoutTests/fast/images/resources/palatted-color-png-gamma-one-c
olor-profile.png"); | 203 loadImage("/LayoutTests/fast/images/resources/palatted-color-png-gamma-one-c
olor-profile.png"); |
194 EXPECT_EQ(1u, decodedFramesCount()); | 204 EXPECT_EQ(1u, decodedFramesCount()); |
| 205 EXPECT_EQ(65536u, decodedSize()); |
195 EXPECT_TRUE(m_image->hasColorProfile()); | 206 EXPECT_TRUE(m_image->hasColorProfile()); |
| 207 |
| 208 resetDecoder(); |
| 209 destroyDecodedData(true); |
| 210 |
| 211 loadImage("/LayoutTests/fast/images/resources/green.jpg"); |
| 212 EXPECT_EQ(1u, decodedFramesCount()); |
| 213 EXPECT_EQ(1024u, decodedSize()); |
| 214 EXPECT_FALSE(m_image->hasColorProfile()); |
196 } | 215 } |
197 | 216 |
198 TEST_F(BitmapImageTest, webpHasColorProfile) | 217 TEST_F(BitmapImageTest, webpHasColorProfile) |
199 { | 218 { |
200 loadImage("/LayoutTests/fast/images/resources/webp-color-profile-lossy.webp"
); | 219 loadImage("/LayoutTests/fast/images/resources/webp-color-profile-lossy.webp"
); |
201 EXPECT_EQ(1u, decodedFramesCount()); | 220 EXPECT_EQ(1u, decodedFramesCount()); |
| 221 EXPECT_EQ(2560000u, decodedSize()); |
202 EXPECT_TRUE(m_image->hasColorProfile()); | 222 EXPECT_TRUE(m_image->hasColorProfile()); |
| 223 |
| 224 destroyDecodedData(true); |
| 225 resetDecoder(); |
| 226 |
| 227 loadImage("/LayoutTests/fast/images/resources/test.webp"); |
| 228 EXPECT_EQ(1u, decodedFramesCount()); |
| 229 EXPECT_EQ(65536u, decodedSize()); |
| 230 EXPECT_FALSE(m_image->hasColorProfile()); |
203 } | 231 } |
204 | 232 |
205 #endif // USE(QCMSLIB) | 233 #endif // USE(QCMSLIB) |
206 | 234 |
207 } // namespace | 235 } // namespace |
OLD | NEW |