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 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
252 canvasBitmap.allocN32Pixels(100, 100); | 252 canvasBitmap.allocN32Pixels(100, 100); |
253 ASSERT_TRUE(m_surface->getCanvas()->readPixels(&canvasBitmap, 0, 0)); | 253 ASSERT_TRUE(m_surface->getCanvas()->readPixels(&canvasBitmap, 0, 0)); |
254 SkAutoLockPixels autoLock(canvasBitmap); | 254 SkAutoLockPixels autoLock(canvasBitmap); |
255 EXPECT_EQ(SkColorSetARGB(255, 255, 255, 255), canvasBitmap.getColor(0, 0)); | 255 EXPECT_EQ(SkColorSetARGB(255, 255, 255, 255), canvasBitmap.getColor(0, 0)); |
256 } | 256 } |
257 | 257 |
258 TEST_F(DeferredImageDecoderTest, singleFrameImageLoading) | 258 TEST_F(DeferredImageDecoderTest, singleFrameImageLoading) |
259 { | 259 { |
260 m_status = ImageFrame::FramePartial; | 260 m_status = ImageFrame::FramePartial; |
261 m_lazyDecoder->setData(*m_data, false); | 261 m_lazyDecoder->setData(*m_data, false); |
262 EXPECT_FALSE(m_lazyDecoder->frameIsCompleteAtIndex(0)); | 262 EXPECT_FALSE(m_lazyDecoder->frameIsFullyReceivedAtIndex(0)); |
263 RefPtr<SkImage> image = m_lazyDecoder->createFrameAtIndex(0); | 263 RefPtr<SkImage> image = m_lazyDecoder->createFrameAtIndex(0); |
264 ASSERT_TRUE(image); | 264 ASSERT_TRUE(image); |
265 unsigned firstId = image->uniqueID(); | 265 unsigned firstId = image->uniqueID(); |
266 EXPECT_FALSE(m_lazyDecoder->frameIsCompleteAtIndex(0)); | 266 EXPECT_FALSE(m_lazyDecoder->frameIsFullyReceivedAtIndex(0)); |
267 EXPECT_TRUE(m_actualDecoder); | 267 EXPECT_TRUE(m_actualDecoder); |
268 | 268 |
269 m_status = ImageFrame::FrameComplete; | 269 m_status = ImageFrame::FrameComplete; |
270 m_data->append(" ", 1u); | 270 m_data->append(" ", 1u); |
271 m_lazyDecoder->setData(*m_data, true); | 271 m_lazyDecoder->setData(*m_data, true); |
272 EXPECT_FALSE(m_actualDecoder); | 272 EXPECT_FALSE(m_actualDecoder); |
273 EXPECT_TRUE(m_lazyDecoder->frameIsCompleteAtIndex(0)); | 273 EXPECT_TRUE(m_lazyDecoder->frameIsFullyReceivedAtIndex(0)); |
274 | 274 |
275 image = m_lazyDecoder->createFrameAtIndex(0); | 275 image = m_lazyDecoder->createFrameAtIndex(0); |
276 ASSERT_TRUE(image); | 276 ASSERT_TRUE(image); |
277 unsigned secondId = image->uniqueID(); | 277 unsigned secondId = image->uniqueID(); |
278 EXPECT_FALSE(m_decodeRequestCount); | 278 EXPECT_FALSE(m_decodeRequestCount); |
279 EXPECT_NE(firstId, secondId); | 279 EXPECT_NE(firstId, secondId); |
280 } | 280 } |
281 | 281 |
282 TEST_F(DeferredImageDecoderTest, multiFrameImageLoading) | 282 TEST_F(DeferredImageDecoderTest, multiFrameImageLoading) |
283 { | 283 { |
284 m_repetitionCount = 10; | 284 m_repetitionCount = 10; |
285 m_frameCount = 1; | 285 m_frameCount = 1; |
286 m_frameDuration = 10; | 286 m_frameDuration = 10; |
287 m_status = ImageFrame::FramePartial; | 287 m_status = ImageFrame::FramePartial; |
288 m_lazyDecoder->setData(*m_data, false); | 288 m_lazyDecoder->setData(*m_data, false); |
289 | 289 |
290 RefPtr<SkImage> image = m_lazyDecoder->createFrameAtIndex(0); | 290 RefPtr<SkImage> image = m_lazyDecoder->createFrameAtIndex(0); |
291 ASSERT_TRUE(image); | 291 ASSERT_TRUE(image); |
292 unsigned firstId = image->uniqueID(); | 292 unsigned firstId = image->uniqueID(); |
293 EXPECT_FALSE(m_lazyDecoder->frameIsCompleteAtIndex(0)); | 293 EXPECT_FALSE(m_lazyDecoder->frameIsFullyReceivedAtIndex(0)); |
294 EXPECT_EQ(10.0f, m_lazyDecoder->frameDurationAtIndex(0)); | 294 EXPECT_EQ(10.0f, m_lazyDecoder->frameDurationAtIndex(0)); |
295 | 295 |
296 m_frameCount = 2; | 296 m_frameCount = 2; |
297 m_frameDuration = 20; | 297 m_frameDuration = 20; |
298 m_status = ImageFrame::FrameComplete; | 298 m_status = ImageFrame::FrameComplete; |
299 m_data->append(" ", 1u); | 299 m_data->append(" ", 1u); |
300 m_lazyDecoder->setData(*m_data, false); | 300 m_lazyDecoder->setData(*m_data, false); |
301 | 301 |
302 image = m_lazyDecoder->createFrameAtIndex(0); | 302 image = m_lazyDecoder->createFrameAtIndex(0); |
303 ASSERT_TRUE(image); | 303 ASSERT_TRUE(image); |
304 unsigned secondId = image->uniqueID(); | 304 unsigned secondId = image->uniqueID(); |
305 EXPECT_NE(firstId, secondId); | 305 EXPECT_NE(firstId, secondId); |
306 EXPECT_TRUE(m_lazyDecoder->frameIsCompleteAtIndex(0)); | 306 EXPECT_TRUE(m_lazyDecoder->frameIsFullyReceivedAtIndex(0)); |
307 EXPECT_TRUE(m_lazyDecoder->frameIsCompleteAtIndex(1)); | 307 EXPECT_FALSE(m_lazyDecoder->frameIsFullyReceivedAtIndex(1)); |
308 EXPECT_EQ(20.0f, m_lazyDecoder->frameDurationAtIndex(1)); | 308 EXPECT_EQ(20.0f, m_lazyDecoder->frameDurationAtIndex(1)); |
309 EXPECT_TRUE(m_actualDecoder); | 309 EXPECT_TRUE(m_actualDecoder); |
310 | 310 |
311 m_frameCount = 3; | 311 m_frameCount = 3; |
312 m_frameDuration = 30; | 312 m_frameDuration = 30; |
313 m_status = ImageFrame::FrameComplete; | 313 m_status = ImageFrame::FrameComplete; |
314 m_lazyDecoder->setData(*m_data, true); | 314 m_lazyDecoder->setData(*m_data, true); |
315 EXPECT_FALSE(m_actualDecoder); | 315 EXPECT_FALSE(m_actualDecoder); |
316 EXPECT_TRUE(m_lazyDecoder->frameIsCompleteAtIndex(0)); | 316 EXPECT_TRUE(m_lazyDecoder->frameIsFullyReceivedAtIndex(0)); |
317 EXPECT_TRUE(m_lazyDecoder->frameIsCompleteAtIndex(1)); | 317 EXPECT_TRUE(m_lazyDecoder->frameIsFullyReceivedAtIndex(1)); |
318 EXPECT_TRUE(m_lazyDecoder->frameIsCompleteAtIndex(2)); | 318 EXPECT_TRUE(m_lazyDecoder->frameIsFullyReceivedAtIndex(2)); |
319 EXPECT_EQ(10.0f, m_lazyDecoder->frameDurationAtIndex(0)); | 319 EXPECT_EQ(10.0f, m_lazyDecoder->frameDurationAtIndex(0)); |
320 EXPECT_EQ(20.0f, m_lazyDecoder->frameDurationAtIndex(1)); | 320 EXPECT_EQ(20.0f, m_lazyDecoder->frameDurationAtIndex(1)); |
321 EXPECT_EQ(30.0f, m_lazyDecoder->frameDurationAtIndex(2)); | 321 EXPECT_EQ(30.0f, m_lazyDecoder->frameDurationAtIndex(2)); |
322 EXPECT_EQ(10, m_lazyDecoder->repetitionCount()); | 322 EXPECT_EQ(10, m_lazyDecoder->repetitionCount()); |
323 } | 323 } |
324 | 324 |
325 TEST_F(DeferredImageDecoderTest, decodedSize) | 325 TEST_F(DeferredImageDecoderTest, decodedSize) |
326 { | 326 { |
327 m_decodedSize = IntSize(22, 33); | 327 m_decodedSize = IntSize(22, 33); |
328 m_lazyDecoder->setData(*m_data, true); | 328 m_lazyDecoder->setData(*m_data, true); |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
401 m_lazyDecoder->createFrameAtIndex(0); | 401 m_lazyDecoder->createFrameAtIndex(0); |
402 m_lazyDecoder->createFrameAtIndex(1); | 402 m_lazyDecoder->createFrameAtIndex(1); |
403 m_lazyDecoder->setData(*m_data, true); | 403 m_lazyDecoder->setData(*m_data, true); |
404 // Clears only the first frame (0 bytes). If DeferredImageDecoder doesn't | 404 // Clears only the first frame (0 bytes). If DeferredImageDecoder doesn't |
405 // check with the actual decoder it reports 4 bytes instead. | 405 // check with the actual decoder it reports 4 bytes instead. |
406 size_t frameBytesCleared = m_lazyDecoder->clearCacheExceptFrame(1); | 406 size_t frameBytesCleared = m_lazyDecoder->clearCacheExceptFrame(1); |
407 EXPECT_EQ(static_cast<size_t>(0), frameBytesCleared); | 407 EXPECT_EQ(static_cast<size_t>(0), frameBytesCleared); |
408 } | 408 } |
409 | 409 |
410 } // namespace blink | 410 } // namespace blink |
OLD | NEW |