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

Side by Side Diff: third_party/WebKit/Source/platform/image-decoders/webp/WEBPImageDecoderTest.cpp

Issue 1746283002: Rename enums/functions that collide in chromium style in platform/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: get-names-13-platform: . Created 4 years, 9 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) 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 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 size_t frameCount = decoder->frameCount(); 123 size_t frameCount = decoder->frameCount();
124 124
125 // ... and then decode frames from 'reallocatedData'. 125 // ... and then decode frames from 'reallocatedData'.
126 RefPtr<SharedBuffer> reallocatedData = data.get()->copy(); 126 RefPtr<SharedBuffer> reallocatedData = data.get()->copy();
127 ASSERT_TRUE(reallocatedData.get()); 127 ASSERT_TRUE(reallocatedData.get());
128 data.clear(); 128 data.clear();
129 decoder->setData(reallocatedData.get(), true); 129 decoder->setData(reallocatedData.get(), true);
130 130
131 for (size_t i = 0; i < frameCount; ++i) { 131 for (size_t i = 0; i < frameCount; ++i) {
132 const ImageFrame* const frame = decoder->frameBufferAtIndex(i); 132 const ImageFrame* const frame = decoder->frameBufferAtIndex(i);
133 EXPECT_EQ(ImageFrame::FrameComplete, frame->status()); 133 EXPECT_EQ(ImageFrame::FrameComplete, frame->getStatus());
134 } 134 }
135 } 135 }
136 136
137 void testByteByByteSizeAvailable(const char* webpFile, size_t frameOffset, bool hasColorProfile, int expectedRepetitionCount) 137 void testByteByByteSizeAvailable(const char* webpFile, size_t frameOffset, bool hasColorProfile, int expectedRepetitionCount)
138 { 138 {
139 OwnPtr<ImageDecoder> decoder = createDecoder(); 139 OwnPtr<ImageDecoder> decoder = createDecoder();
140 RefPtr<SharedBuffer> data = readFile(webpFile); 140 RefPtr<SharedBuffer> data = readFile(webpFile);
141 ASSERT_TRUE(data.get()); 141 ASSERT_TRUE(data.get());
142 EXPECT_LT(frameOffset, data->size()); 142 EXPECT_LT(frameOffset, data->size());
143 143
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 ASSERT_TRUE(data.get()); 187 ASSERT_TRUE(data.get());
188 decoder->setData(data.get(), true); 188 decoder->setData(data.get(), true);
189 189
190 if (parseErrorExpected) { 190 if (parseErrorExpected) {
191 EXPECT_EQ(0u, decoder->frameCount()); 191 EXPECT_EQ(0u, decoder->frameCount());
192 EXPECT_FALSE(decoder->frameBufferAtIndex(0)); 192 EXPECT_FALSE(decoder->frameBufferAtIndex(0));
193 } else { 193 } else {
194 EXPECT_GT(decoder->frameCount(), 0u); 194 EXPECT_GT(decoder->frameCount(), 0u);
195 ImageFrame* frame = decoder->frameBufferAtIndex(0); 195 ImageFrame* frame = decoder->frameBufferAtIndex(0);
196 ASSERT_TRUE(frame); 196 ASSERT_TRUE(frame);
197 EXPECT_EQ(ImageFrame::FramePartial, frame->status()); 197 EXPECT_EQ(ImageFrame::FramePartial, frame->getStatus());
198 } 198 }
199 EXPECT_EQ(cAnimationLoopOnce, decoder->repetitionCount()); 199 EXPECT_EQ(cAnimationLoopOnce, decoder->repetitionCount());
200 EXPECT_TRUE(decoder->failed()); 200 EXPECT_TRUE(decoder->failed());
201 } 201 }
202 202
203 uint32_t premultiplyColor(uint32_t c) 203 uint32_t premultiplyColor(uint32_t c)
204 { 204 {
205 return SkPremultiplyARGBInline(SkGetPackedA32(c), SkGetPackedR32(c), SkGetPa ckedG32(c), SkGetPackedB32(c)); 205 return SkPremultiplyARGBInline(SkGetPackedA32(c), SkGetPackedR32(c), SkGetPa ckedG32(c), SkGetPackedB32(c));
206 } 206 }
207 207
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
291 unsigned duration; 291 unsigned duration;
292 bool hasAlpha; 292 bool hasAlpha;
293 } frameParameters[] = { 293 } frameParameters[] = {
294 { 0, 0, 11, 29, ImageFrame::DisposeKeep, ImageFrame::BlendAtopPreviousFr ame, 1000u, true }, 294 { 0, 0, 11, 29, ImageFrame::DisposeKeep, ImageFrame::BlendAtopPreviousFr ame, 1000u, true },
295 { 2, 10, 7, 17, ImageFrame::DisposeKeep, ImageFrame::BlendAtopPreviousFr ame, 500u, true }, 295 { 2, 10, 7, 17, ImageFrame::DisposeKeep, ImageFrame::BlendAtopPreviousFr ame, 500u, true },
296 { 2, 2, 7, 16, ImageFrame::DisposeKeep, ImageFrame::BlendAtopPreviousFra me, 1000u, true }, 296 { 2, 2, 7, 16, ImageFrame::DisposeKeep, ImageFrame::BlendAtopPreviousFra me, 1000u, true },
297 }; 297 };
298 298
299 for (size_t i = 0; i < WTF_ARRAY_LENGTH(frameParameters); ++i) { 299 for (size_t i = 0; i < WTF_ARRAY_LENGTH(frameParameters); ++i) {
300 const ImageFrame* const frame = decoder->frameBufferAtIndex(i); 300 const ImageFrame* const frame = decoder->frameBufferAtIndex(i);
301 EXPECT_EQ(ImageFrame::FrameComplete, frame->status()); 301 EXPECT_EQ(ImageFrame::FrameComplete, frame->getStatus());
302 EXPECT_EQ(canvasWidth, frame->getSkBitmap().width()); 302 EXPECT_EQ(canvasWidth, frame->getSkBitmap().width());
303 EXPECT_EQ(canvasHeight, frame->getSkBitmap().height()); 303 EXPECT_EQ(canvasHeight, frame->getSkBitmap().height());
304 EXPECT_EQ(frameParameters[i].xOffset, frame->originalFrameRect().x()); 304 EXPECT_EQ(frameParameters[i].xOffset, frame->originalFrameRect().x());
305 EXPECT_EQ(frameParameters[i].yOffset, frame->originalFrameRect().y()); 305 EXPECT_EQ(frameParameters[i].yOffset, frame->originalFrameRect().y());
306 EXPECT_EQ(frameParameters[i].width, frame->originalFrameRect().width()); 306 EXPECT_EQ(frameParameters[i].width, frame->originalFrameRect().width());
307 EXPECT_EQ(frameParameters[i].height, frame->originalFrameRect().height() ); 307 EXPECT_EQ(frameParameters[i].height, frame->originalFrameRect().height() );
308 EXPECT_EQ(frameParameters[i].disposalMethod, frame->disposalMethod()); 308 EXPECT_EQ(frameParameters[i].disposalMethod, frame->getDisposalMethod()) ;
309 EXPECT_EQ(frameParameters[i].alphaBlendSource, frame->alphaBlendSource() ); 309 EXPECT_EQ(frameParameters[i].alphaBlendSource, frame->getAlphaBlendSourc e());
310 EXPECT_EQ(frameParameters[i].duration, frame->duration()); 310 EXPECT_EQ(frameParameters[i].duration, frame->duration());
311 EXPECT_EQ(frameParameters[i].hasAlpha, frame->hasAlpha()); 311 EXPECT_EQ(frameParameters[i].hasAlpha, frame->hasAlpha());
312 } 312 }
313 313
314 EXPECT_EQ(WTF_ARRAY_LENGTH(frameParameters), decoder->frameCount()); 314 EXPECT_EQ(WTF_ARRAY_LENGTH(frameParameters), decoder->frameCount());
315 EXPECT_EQ(cAnimationLoopInfinite, decoder->repetitionCount()); 315 EXPECT_EQ(cAnimationLoopInfinite, decoder->repetitionCount());
316 } 316 }
317 317
318 TEST(AnimatedWebPTests, verifyAnimationParametersOpaqueFramesTransparentBackgrou nd) 318 TEST(AnimatedWebPTests, verifyAnimationParametersOpaqueFramesTransparentBackgrou nd)
319 { 319 {
(...skipping 14 matching lines...) Expand all
334 bool hasAlpha; 334 bool hasAlpha;
335 } frameParameters[] = { 335 } frameParameters[] = {
336 { 4, 10, 33, 32, ImageFrame::DisposeOverwriteBgcolor, ImageFrame::BlendA topPreviousFrame, 1000u, true }, 336 { 4, 10, 33, 32, ImageFrame::DisposeOverwriteBgcolor, ImageFrame::BlendA topPreviousFrame, 1000u, true },
337 { 34, 30, 33, 32, ImageFrame::DisposeOverwriteBgcolor, ImageFrame::Blend AtopPreviousFrame, 1000u, true }, 337 { 34, 30, 33, 32, ImageFrame::DisposeOverwriteBgcolor, ImageFrame::Blend AtopPreviousFrame, 1000u, true },
338 { 62, 50, 32, 32, ImageFrame::DisposeOverwriteBgcolor, ImageFrame::Blend AtopPreviousFrame, 1000u, true }, 338 { 62, 50, 32, 32, ImageFrame::DisposeOverwriteBgcolor, ImageFrame::Blend AtopPreviousFrame, 1000u, true },
339 { 10, 54, 32, 33, ImageFrame::DisposeOverwriteBgcolor, ImageFrame::Blend AtopPreviousFrame, 1000u, true }, 339 { 10, 54, 32, 33, ImageFrame::DisposeOverwriteBgcolor, ImageFrame::Blend AtopPreviousFrame, 1000u, true },
340 }; 340 };
341 341
342 for (size_t i = 0; i < WTF_ARRAY_LENGTH(frameParameters); ++i) { 342 for (size_t i = 0; i < WTF_ARRAY_LENGTH(frameParameters); ++i) {
343 const ImageFrame* const frame = decoder->frameBufferAtIndex(i); 343 const ImageFrame* const frame = decoder->frameBufferAtIndex(i);
344 EXPECT_EQ(ImageFrame::FrameComplete, frame->status()); 344 EXPECT_EQ(ImageFrame::FrameComplete, frame->getStatus());
345 EXPECT_EQ(canvasWidth, frame->getSkBitmap().width()); 345 EXPECT_EQ(canvasWidth, frame->getSkBitmap().width());
346 EXPECT_EQ(canvasHeight, frame->getSkBitmap().height()); 346 EXPECT_EQ(canvasHeight, frame->getSkBitmap().height());
347 EXPECT_EQ(frameParameters[i].xOffset, frame->originalFrameRect().x()); 347 EXPECT_EQ(frameParameters[i].xOffset, frame->originalFrameRect().x());
348 EXPECT_EQ(frameParameters[i].yOffset, frame->originalFrameRect().y()); 348 EXPECT_EQ(frameParameters[i].yOffset, frame->originalFrameRect().y());
349 EXPECT_EQ(frameParameters[i].width, frame->originalFrameRect().width()); 349 EXPECT_EQ(frameParameters[i].width, frame->originalFrameRect().width());
350 EXPECT_EQ(frameParameters[i].height, frame->originalFrameRect().height() ); 350 EXPECT_EQ(frameParameters[i].height, frame->originalFrameRect().height() );
351 EXPECT_EQ(frameParameters[i].disposalMethod, frame->disposalMethod()); 351 EXPECT_EQ(frameParameters[i].disposalMethod, frame->getDisposalMethod()) ;
352 EXPECT_EQ(frameParameters[i].alphaBlendSource, frame->alphaBlendSource() ); 352 EXPECT_EQ(frameParameters[i].alphaBlendSource, frame->getAlphaBlendSourc e());
353 EXPECT_EQ(frameParameters[i].duration, frame->duration()); 353 EXPECT_EQ(frameParameters[i].duration, frame->duration());
354 EXPECT_EQ(frameParameters[i].hasAlpha, frame->hasAlpha()); 354 EXPECT_EQ(frameParameters[i].hasAlpha, frame->hasAlpha());
355 } 355 }
356 356
357 EXPECT_EQ(WTF_ARRAY_LENGTH(frameParameters), decoder->frameCount()); 357 EXPECT_EQ(WTF_ARRAY_LENGTH(frameParameters), decoder->frameCount());
358 EXPECT_EQ(cAnimationLoopInfinite, decoder->repetitionCount()); 358 EXPECT_EQ(cAnimationLoopInfinite, decoder->repetitionCount());
359 } 359 }
360 360
361 TEST(AnimatedWebPTests, verifyAnimationParametersBlendOverwrite) 361 TEST(AnimatedWebPTests, verifyAnimationParametersBlendOverwrite)
362 { 362 {
(...skipping 14 matching lines...) Expand all
377 bool hasAlpha; 377 bool hasAlpha;
378 } frameParameters[] = { 378 } frameParameters[] = {
379 { 4, 10, 33, 32, ImageFrame::DisposeOverwriteBgcolor, ImageFrame::BlendA topBgcolor, 1000u, true }, 379 { 4, 10, 33, 32, ImageFrame::DisposeOverwriteBgcolor, ImageFrame::BlendA topBgcolor, 1000u, true },
380 { 34, 30, 33, 32, ImageFrame::DisposeOverwriteBgcolor, ImageFrame::Blend AtopBgcolor, 1000u, true }, 380 { 34, 30, 33, 32, ImageFrame::DisposeOverwriteBgcolor, ImageFrame::Blend AtopBgcolor, 1000u, true },
381 { 62, 50, 32, 32, ImageFrame::DisposeOverwriteBgcolor, ImageFrame::Blend AtopBgcolor, 1000u, true }, 381 { 62, 50, 32, 32, ImageFrame::DisposeOverwriteBgcolor, ImageFrame::Blend AtopBgcolor, 1000u, true },
382 { 10, 54, 32, 33, ImageFrame::DisposeOverwriteBgcolor, ImageFrame::Blend AtopBgcolor, 1000u, true }, 382 { 10, 54, 32, 33, ImageFrame::DisposeOverwriteBgcolor, ImageFrame::Blend AtopBgcolor, 1000u, true },
383 }; 383 };
384 384
385 for (size_t i = 0; i < WTF_ARRAY_LENGTH(frameParameters); ++i) { 385 for (size_t i = 0; i < WTF_ARRAY_LENGTH(frameParameters); ++i) {
386 const ImageFrame* const frame = decoder->frameBufferAtIndex(i); 386 const ImageFrame* const frame = decoder->frameBufferAtIndex(i);
387 EXPECT_EQ(ImageFrame::FrameComplete, frame->status()); 387 EXPECT_EQ(ImageFrame::FrameComplete, frame->getStatus());
388 EXPECT_EQ(canvasWidth, frame->getSkBitmap().width()); 388 EXPECT_EQ(canvasWidth, frame->getSkBitmap().width());
389 EXPECT_EQ(canvasHeight, frame->getSkBitmap().height()); 389 EXPECT_EQ(canvasHeight, frame->getSkBitmap().height());
390 EXPECT_EQ(frameParameters[i].xOffset, frame->originalFrameRect().x()); 390 EXPECT_EQ(frameParameters[i].xOffset, frame->originalFrameRect().x());
391 EXPECT_EQ(frameParameters[i].yOffset, frame->originalFrameRect().y()); 391 EXPECT_EQ(frameParameters[i].yOffset, frame->originalFrameRect().y());
392 EXPECT_EQ(frameParameters[i].width, frame->originalFrameRect().width()); 392 EXPECT_EQ(frameParameters[i].width, frame->originalFrameRect().width());
393 EXPECT_EQ(frameParameters[i].height, frame->originalFrameRect().height() ); 393 EXPECT_EQ(frameParameters[i].height, frame->originalFrameRect().height() );
394 EXPECT_EQ(frameParameters[i].disposalMethod, frame->disposalMethod()); 394 EXPECT_EQ(frameParameters[i].disposalMethod, frame->getDisposalMethod()) ;
395 EXPECT_EQ(frameParameters[i].alphaBlendSource, frame->alphaBlendSource() ); 395 EXPECT_EQ(frameParameters[i].alphaBlendSource, frame->getAlphaBlendSourc e());
396 EXPECT_EQ(frameParameters[i].duration, frame->duration()); 396 EXPECT_EQ(frameParameters[i].duration, frame->duration());
397 EXPECT_EQ(frameParameters[i].hasAlpha, frame->hasAlpha()); 397 EXPECT_EQ(frameParameters[i].hasAlpha, frame->hasAlpha());
398 } 398 }
399 399
400 EXPECT_EQ(WTF_ARRAY_LENGTH(frameParameters), decoder->frameCount()); 400 EXPECT_EQ(WTF_ARRAY_LENGTH(frameParameters), decoder->frameCount());
401 EXPECT_EQ(cAnimationLoopInfinite, decoder->repetitionCount()); 401 EXPECT_EQ(cAnimationLoopInfinite, decoder->repetitionCount());
402 } 402 }
403 403
404 TEST(AnimatedWebPTests, parseAndDecodeByteByByte) 404 TEST(AnimatedWebPTests, parseAndDecodeByteByByte)
405 { 405 {
(...skipping 14 matching lines...) Expand all
420 OwnPtr<ImageDecoder> decoder = createDecoder(); 420 OwnPtr<ImageDecoder> decoder = createDecoder();
421 421
422 RefPtr<SharedBuffer> data = readFile("/LayoutTests/fast/images/resources/inv alid-animated-webp2.webp"); 422 RefPtr<SharedBuffer> data = readFile("/LayoutTests/fast/images/resources/inv alid-animated-webp2.webp");
423 ASSERT_TRUE(data.get()); 423 ASSERT_TRUE(data.get());
424 decoder->setData(data.get(), true); 424 decoder->setData(data.get(), true);
425 425
426 size_t frameCount = 8; 426 size_t frameCount = 8;
427 EXPECT_EQ(frameCount, decoder->frameCount()); 427 EXPECT_EQ(frameCount, decoder->frameCount());
428 ImageFrame* frame = decoder->frameBufferAtIndex(0); 428 ImageFrame* frame = decoder->frameBufferAtIndex(0);
429 ASSERT_TRUE(frame); 429 ASSERT_TRUE(frame);
430 EXPECT_EQ(ImageFrame::FrameComplete, frame->status()); 430 EXPECT_EQ(ImageFrame::FrameComplete, frame->getStatus());
431 EXPECT_FALSE(decoder->failed()); 431 EXPECT_FALSE(decoder->failed());
432 frame = decoder->frameBufferAtIndex(frameCount - 1); 432 frame = decoder->frameBufferAtIndex(frameCount - 1);
433 ASSERT_TRUE(frame); 433 ASSERT_TRUE(frame);
434 EXPECT_EQ(ImageFrame::FramePartial, frame->status()); 434 EXPECT_EQ(ImageFrame::FramePartial, frame->getStatus());
435 EXPECT_TRUE(decoder->failed()); 435 EXPECT_TRUE(decoder->failed());
436 frame = decoder->frameBufferAtIndex(0); 436 frame = decoder->frameBufferAtIndex(0);
437 ASSERT_TRUE(frame); 437 ASSERT_TRUE(frame);
438 EXPECT_EQ(ImageFrame::FrameComplete, frame->status()); 438 EXPECT_EQ(ImageFrame::FrameComplete, frame->getStatus());
439 } 439 }
440 440
441 TEST(AnimatedWebPTests, truncatedInBetweenFrame) 441 TEST(AnimatedWebPTests, truncatedInBetweenFrame)
442 { 442 {
443 OwnPtr<ImageDecoder> decoder = createDecoder(); 443 OwnPtr<ImageDecoder> decoder = createDecoder();
444 444
445 RefPtr<SharedBuffer> fullData = readFile("/LayoutTests/fast/images/resources /invalid-animated-webp4.webp"); 445 RefPtr<SharedBuffer> fullData = readFile("/LayoutTests/fast/images/resources /invalid-animated-webp4.webp");
446 ASSERT_TRUE(fullData.get()); 446 ASSERT_TRUE(fullData.get());
447 RefPtr<SharedBuffer> data = SharedBuffer::create(fullData->data(), fullData- >size() - 1); 447 RefPtr<SharedBuffer> data = SharedBuffer::create(fullData->data(), fullData- >size() - 1);
448 decoder->setData(data.get(), false); 448 decoder->setData(data.get(), false);
449 449
450 ImageFrame* frame = decoder->frameBufferAtIndex(1); 450 ImageFrame* frame = decoder->frameBufferAtIndex(1);
451 ASSERT_TRUE(frame); 451 ASSERT_TRUE(frame);
452 EXPECT_EQ(ImageFrame::FrameComplete, frame->status()); 452 EXPECT_EQ(ImageFrame::FrameComplete, frame->getStatus());
453 frame = decoder->frameBufferAtIndex(2); 453 frame = decoder->frameBufferAtIndex(2);
454 ASSERT_TRUE(frame); 454 ASSERT_TRUE(frame);
455 EXPECT_EQ(ImageFrame::FramePartial, frame->status()); 455 EXPECT_EQ(ImageFrame::FramePartial, frame->getStatus());
456 EXPECT_TRUE(decoder->failed()); 456 EXPECT_TRUE(decoder->failed());
457 } 457 }
458 458
459 // Reproduce a crash that used to happen for a specific file with specific seque nce of method calls. 459 // Reproduce a crash that used to happen for a specific file with specific seque nce of method calls.
460 TEST(AnimatedWebPTests, reproCrash) 460 TEST(AnimatedWebPTests, reproCrash)
461 { 461 {
462 OwnPtr<ImageDecoder> decoder = createDecoder(); 462 OwnPtr<ImageDecoder> decoder = createDecoder();
463 463
464 RefPtr<SharedBuffer> fullData = readFile("/LayoutTests/fast/images/resources /invalid_vp8_vp8x.webp"); 464 RefPtr<SharedBuffer> fullData = readFile("/LayoutTests/fast/images/resources /invalid_vp8_vp8x.webp");
465 ASSERT_TRUE(fullData.get()); 465 ASSERT_TRUE(fullData.get());
466 466
467 // Parse partial data up to which error in bitstream is not detected. 467 // Parse partial data up to which error in bitstream is not detected.
468 const size_t partialSize = 32768; 468 const size_t partialSize = 32768;
469 ASSERT_GT(fullData->size(), partialSize); 469 ASSERT_GT(fullData->size(), partialSize);
470 RefPtr<SharedBuffer> data = SharedBuffer::create(fullData->data(), partialSi ze); 470 RefPtr<SharedBuffer> data = SharedBuffer::create(fullData->data(), partialSi ze);
471 decoder->setData(data.get(), false); 471 decoder->setData(data.get(), false);
472 EXPECT_EQ(1u, decoder->frameCount()); 472 EXPECT_EQ(1u, decoder->frameCount());
473 ImageFrame* frame = decoder->frameBufferAtIndex(0); 473 ImageFrame* frame = decoder->frameBufferAtIndex(0);
474 ASSERT_TRUE(frame); 474 ASSERT_TRUE(frame);
475 EXPECT_EQ(ImageFrame::FramePartial, frame->status()); 475 EXPECT_EQ(ImageFrame::FramePartial, frame->getStatus());
476 EXPECT_FALSE(decoder->failed()); 476 EXPECT_FALSE(decoder->failed());
477 477
478 // Parse full data now. The error in bitstream should now be detected. 478 // Parse full data now. The error in bitstream should now be detected.
479 decoder->setData(fullData.get(), true); 479 decoder->setData(fullData.get(), true);
480 EXPECT_EQ(1u, decoder->frameCount()); 480 EXPECT_EQ(1u, decoder->frameCount());
481 frame = decoder->frameBufferAtIndex(0); 481 frame = decoder->frameBufferAtIndex(0);
482 ASSERT_TRUE(frame); 482 ASSERT_TRUE(frame);
483 EXPECT_EQ(ImageFrame::FramePartial, frame->status()); 483 EXPECT_EQ(ImageFrame::FramePartial, frame->getStatus());
484 EXPECT_EQ(cAnimationLoopOnce, decoder->repetitionCount()); 484 EXPECT_EQ(cAnimationLoopOnce, decoder->repetitionCount());
485 EXPECT_TRUE(decoder->failed()); 485 EXPECT_TRUE(decoder->failed());
486 } 486 }
487 487
488 TEST(AnimatedWebPTests, progressiveDecode) 488 TEST(AnimatedWebPTests, progressiveDecode)
489 { 489 {
490 RefPtr<SharedBuffer> fullData = readFile("/LayoutTests/fast/images/resources /webp-animated.webp"); 490 RefPtr<SharedBuffer> fullData = readFile("/LayoutTests/fast/images/resources /webp-animated.webp");
491 ASSERT_TRUE(fullData.get()); 491 ASSERT_TRUE(fullData.get());
492 const size_t fullLength = fullData->size(); 492 const size_t fullLength = fullData->size();
493 493
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
569 RefPtr<SharedBuffer> fullData = readFile("/LayoutTests/fast/images/resources /webp-animated.webp"); 569 RefPtr<SharedBuffer> fullData = readFile("/LayoutTests/fast/images/resources /webp-animated.webp");
570 ASSERT_TRUE(fullData.get()); 570 ASSERT_TRUE(fullData.get());
571 571
572 // Give it data that is enough to parse but not decode in order to check the status 572 // Give it data that is enough to parse but not decode in order to check the status
573 // of requiredPreviousFrameIndex before decoding. 573 // of requiredPreviousFrameIndex before decoding.
574 size_t partialSize = 1; 574 size_t partialSize = 1;
575 do { 575 do {
576 RefPtr<SharedBuffer> data = SharedBuffer::create(fullData->data(), parti alSize); 576 RefPtr<SharedBuffer> data = SharedBuffer::create(fullData->data(), parti alSize);
577 decoder->setData(data.get(), false); 577 decoder->setData(data.get(), false);
578 ++partialSize; 578 ++partialSize;
579 } while (!decoder->frameCount() || decoder->frameBufferAtIndex(0)->status() == ImageFrame::FrameEmpty); 579 } while (!decoder->frameCount() || decoder->frameBufferAtIndex(0)->getStatus () == ImageFrame::FrameEmpty);
580 580
581 EXPECT_EQ(kNotFound, decoder->frameBufferAtIndex(0)->requiredPreviousFrameIn dex()); 581 EXPECT_EQ(kNotFound, decoder->frameBufferAtIndex(0)->requiredPreviousFrameIn dex());
582 size_t frameCount = decoder->frameCount(); 582 size_t frameCount = decoder->frameCount();
583 for (size_t i = 1; i < frameCount; ++i) 583 for (size_t i = 1; i < frameCount; ++i)
584 EXPECT_EQ(i - 1, decoder->frameBufferAtIndex(i)->requiredPreviousFrameIn dex()); 584 EXPECT_EQ(i - 1, decoder->frameBufferAtIndex(i)->requiredPreviousFrameIn dex());
585 585
586 decoder->setData(fullData.get(), true); 586 decoder->setData(fullData.get(), true);
587 for (size_t i = 0; i < frameCount; ++i) 587 for (size_t i = 0; i < frameCount; ++i)
588 EXPECT_EQ(kNotFound, decoder->frameBufferAtIndex(i)->requiredPreviousFra meIndex()); 588 EXPECT_EQ(kNotFound, decoder->frameBufferAtIndex(i)->requiredPreviousFra meIndex());
589 } 589 }
(...skipping 23 matching lines...) Expand all
613 size_t frameCount = baselineHashes.size(); 613 size_t frameCount = baselineHashes.size();
614 614
615 OwnPtr<ImageDecoder> decoder = createDecoder(); 615 OwnPtr<ImageDecoder> decoder = createDecoder();
616 616
617 // Let frame 0 be partially decoded. 617 // Let frame 0 be partially decoded.
618 size_t partialSize = 1; 618 size_t partialSize = 1;
619 do { 619 do {
620 RefPtr<SharedBuffer> data = SharedBuffer::create(fullData->data(), parti alSize); 620 RefPtr<SharedBuffer> data = SharedBuffer::create(fullData->data(), parti alSize);
621 decoder->setData(data.get(), false); 621 decoder->setData(data.get(), false);
622 ++partialSize; 622 ++partialSize;
623 } while (!decoder->frameCount() || decoder->frameBufferAtIndex(0)->status() == ImageFrame::FrameEmpty); 623 } while (!decoder->frameCount() || decoder->frameBufferAtIndex(0)->getStatus () == ImageFrame::FrameEmpty);
624 624
625 // Skip to the last frame and clear. 625 // Skip to the last frame and clear.
626 decoder->setData(fullData.get(), true); 626 decoder->setData(fullData.get(), true);
627 EXPECT_EQ(frameCount, decoder->frameCount()); 627 EXPECT_EQ(frameCount, decoder->frameCount());
628 ImageFrame* lastFrame = decoder->frameBufferAtIndex(frameCount - 1); 628 ImageFrame* lastFrame = decoder->frameBufferAtIndex(frameCount - 1);
629 EXPECT_EQ(baselineHashes[frameCount - 1], hashBitmap(lastFrame->getSkBitmap( ))); 629 EXPECT_EQ(baselineHashes[frameCount - 1], hashBitmap(lastFrame->getSkBitmap( )));
630 decoder->clearCacheExceptFrame(kNotFound); 630 decoder->clearCacheExceptFrame(kNotFound);
631 631
632 // Resume decoding of the first frame. 632 // Resume decoding of the first frame.
633 ImageFrame* firstFrame = decoder->frameBufferAtIndex(0); 633 ImageFrame* firstFrame = decoder->frameBufferAtIndex(0);
634 EXPECT_EQ(ImageFrame::FrameComplete, firstFrame->status()); 634 EXPECT_EQ(ImageFrame::FrameComplete, firstFrame->getStatus());
635 EXPECT_EQ(baselineHashes[0], hashBitmap(firstFrame->getSkBitmap())); 635 EXPECT_EQ(baselineHashes[0], hashBitmap(firstFrame->getSkBitmap()));
636 } 636 }
637 637
638 TEST(AnimatedWebPTests, decodeAfterReallocatingData) 638 TEST(AnimatedWebPTests, decodeAfterReallocatingData)
639 { 639 {
640 testDecodeAfterReallocatingData("/LayoutTests/fast/images/resources/webp-ani mated.webp"); 640 testDecodeAfterReallocatingData("/LayoutTests/fast/images/resources/webp-ani mated.webp");
641 testDecodeAfterReallocatingData("/LayoutTests/fast/images/resources/webp-ani mated-icc-xmp.webp"); 641 testDecodeAfterReallocatingData("/LayoutTests/fast/images/resources/webp-ani mated-icc-xmp.webp");
642 } 642 }
643 643
644 TEST(AnimatedWebPTests, alphaBlending) 644 TEST(AnimatedWebPTests, alphaBlending)
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
681 { 681 {
682 OwnPtr<ImageDecoder> decoder = createDecoder(); 682 OwnPtr<ImageDecoder> decoder = createDecoder();
683 RefPtr<SharedBuffer> data = readFile("/LayoutTests/fast/images/resources/web p-color-profile-lossy.webp"); 683 RefPtr<SharedBuffer> data = readFile("/LayoutTests/fast/images/resources/web p-color-profile-lossy.webp");
684 ASSERT_TRUE(data.get()); 684 ASSERT_TRUE(data.get());
685 decoder->setData(data.get(), true); 685 decoder->setData(data.get(), true);
686 EXPECT_EQ(1u, decoder->frameCount()); 686 EXPECT_EQ(1u, decoder->frameCount());
687 EXPECT_EQ(cAnimationNone, decoder->repetitionCount()); 687 EXPECT_EQ(cAnimationNone, decoder->repetitionCount());
688 } 688 }
689 689
690 } // namespace blink 690 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698