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

Side by Side Diff: third_party/WebKit/Source/core/fetch/ImageResourceTest.cpp

Issue 2468883003: [ImageResource 0b] Decouple ImageResourceObserver::imageNotifyFinished() from notifyFinished() (Closed)
Patch Set: Rebase Created 4 years 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 403 matching lines...) Expand 10 before | Expand all | Expand 10 after
414 "empty-image"); 414 "empty-image");
415 415
416 cachedImage->responseReceived(resourceResponse, nullptr); 416 cachedImage->responseReceived(resourceResponse, nullptr);
417 cachedImage->appendData(reinterpret_cast<const char*>(kJpegImage), 417 cachedImage->appendData(reinterpret_cast<const char*>(kJpegImage),
418 sizeof(kJpegImage)); 418 sizeof(kJpegImage));
419 cachedImage->finish(); 419 cachedImage->finish();
420 EXPECT_FALSE(cachedImage->errorOccurred()); 420 EXPECT_FALSE(cachedImage->errorOccurred());
421 ASSERT_TRUE(cachedImage->hasImage()); 421 ASSERT_TRUE(cachedImage->hasImage());
422 EXPECT_FALSE(cachedImage->getImage()->isNull()); 422 EXPECT_FALSE(cachedImage->getImage()->isNull());
423 EXPECT_EQ(2, client->imageChangedCount()); 423 EXPECT_EQ(2, client->imageChangedCount());
424 EXPECT_EQ(1, client->imageNotifyFinishedCount());
424 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnLastImageChanged()); 425 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnLastImageChanged());
425 // The client should have been notified that the image load completed. 426 // The client should have been notified that the image load completed.
426 EXPECT_TRUE(client->notifyFinishedCalled()); 427 EXPECT_TRUE(client->notifyFinishedCalled());
427 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnNotifyFinished()); 428 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnNotifyFinished());
428 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnImageNotifyFinished()); 429 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnImageNotifyFinished());
429 EXPECT_TRUE(cachedImage->getImage()->isBitmapImage()); 430 EXPECT_TRUE(cachedImage->getImage()->isBitmapImage());
430 EXPECT_EQ(1, cachedImage->getImage()->width()); 431 EXPECT_EQ(1, cachedImage->getImage()->width());
431 EXPECT_EQ(1, cachedImage->getImage()->height()); 432 EXPECT_EQ(1, cachedImage->getImage()->height());
432 433
433 // Call reloadIfLoFiOrPlaceholder() after the image has finished loading. 434 // Call reloadIfLoFiOrPlaceholder() after the image has finished loading.
434 cachedImage->reloadIfLoFiOrPlaceholder(fetcher); 435 cachedImage->reloadIfLoFiOrPlaceholder(fetcher);
435 EXPECT_FALSE(cachedImage->errorOccurred()); 436 EXPECT_FALSE(cachedImage->errorOccurred());
436 EXPECT_FALSE(cachedImage->resourceBuffer()); 437 EXPECT_FALSE(cachedImage->resourceBuffer());
437 EXPECT_FALSE(cachedImage->hasImage()); 438 EXPECT_FALSE(cachedImage->hasImage());
438 EXPECT_EQ(3, client->imageChangedCount()); 439 EXPECT_EQ(3, client->imageChangedCount());
440 EXPECT_EQ(1, client->imageNotifyFinishedCount());
439 441
440 cachedImage->loader()->didReceiveResponse( 442 cachedImage->loader()->didReceiveResponse(
441 nullptr, WrappedResourceResponse(resourceResponse), nullptr); 443 nullptr, WrappedResourceResponse(resourceResponse), nullptr);
442 cachedImage->loader()->didReceiveData( 444 cachedImage->loader()->didReceiveData(
443 nullptr, reinterpret_cast<const char*>(kJpegImage2), sizeof(kJpegImage2), 445 nullptr, reinterpret_cast<const char*>(kJpegImage2), sizeof(kJpegImage2),
444 sizeof(kJpegImage2)); 446 sizeof(kJpegImage2));
445 cachedImage->loader()->didFinishLoading(nullptr, 0.0, sizeof(kJpegImage2), 447 cachedImage->loader()->didFinishLoading(nullptr, 0.0, sizeof(kJpegImage2),
446 sizeof(kJpegImage2)); 448 sizeof(kJpegImage2));
447 EXPECT_FALSE(cachedImage->errorOccurred()); 449 EXPECT_FALSE(cachedImage->errorOccurred());
448 ASSERT_TRUE(cachedImage->hasImage()); 450 ASSERT_TRUE(cachedImage->hasImage());
449 EXPECT_FALSE(cachedImage->getImage()->isNull()); 451 EXPECT_FALSE(cachedImage->getImage()->isNull());
450 EXPECT_EQ(sizeof(kJpegImage2), client->encodedSizeOnLastImageChanged()); 452 EXPECT_EQ(sizeof(kJpegImage2), client->encodedSizeOnLastImageChanged());
451 EXPECT_TRUE(client->notifyFinishedCalled()); 453 EXPECT_TRUE(client->notifyFinishedCalled());
454
452 // The client should not have been notified of completion again. 455 // The client should not have been notified of completion again.
453 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnNotifyFinished()); 456 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnNotifyFinished());
454 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnImageNotifyFinished()); 457 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnImageNotifyFinished());
458
455 EXPECT_TRUE(cachedImage->getImage()->isBitmapImage()); 459 EXPECT_TRUE(cachedImage->getImage()->isBitmapImage());
456 EXPECT_EQ(50, cachedImage->getImage()->width()); 460 EXPECT_EQ(50, cachedImage->getImage()->width());
457 EXPECT_EQ(50, cachedImage->getImage()->height()); 461 EXPECT_EQ(50, cachedImage->getImage()->height());
458 } 462 }
459 463
460 TEST(ImageResourceTest, ReloadIfLoFiOrPlaceholderDuringFetch) { 464 TEST(ImageResourceTest, ReloadIfLoFiOrPlaceholderDuringFetch) {
461 KURL testURL(ParsedURLString, "http://www.test.com/cancelTest.html"); 465 KURL testURL(ParsedURLString, "http://www.test.com/cancelTest.html");
462 ScopedRegisteredURL scopedRegisteredURL(testURL); 466 ScopedRegisteredURL scopedRegisteredURL(testURL);
463 467
464 ResourceRequest request(testURL); 468 ResourceRequest request(testURL);
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
598 new MockImageResourceClient(imageResource); 602 new MockImageResourceClient(imageResource);
599 603
600 receiveResponse(imageResource, url, "image/jpeg", 604 receiveResponse(imageResource, url, "image/jpeg",
601 reinterpret_cast<const char*>(kJpegImage), 605 reinterpret_cast<const char*>(kJpegImage),
602 sizeof(kJpegImage)); 606 sizeof(kJpegImage));
603 607
604 EXPECT_FALSE(imageResource->errorOccurred()); 608 EXPECT_FALSE(imageResource->errorOccurred());
605 ASSERT_TRUE(imageResource->hasImage()); 609 ASSERT_TRUE(imageResource->hasImage());
606 EXPECT_FALSE(imageResource->getImage()->isNull()); 610 EXPECT_FALSE(imageResource->getImage()->isNull());
607 EXPECT_EQ(2, client->imageChangedCount()); 611 EXPECT_EQ(2, client->imageChangedCount());
612 EXPECT_EQ(1, client->imageNotifyFinishedCount());
608 EXPECT_TRUE(client->notifyFinishedCalled()); 613 EXPECT_TRUE(client->notifyFinishedCalled());
609 EXPECT_TRUE(imageResource->getImage()->isBitmapImage()); 614 EXPECT_TRUE(imageResource->getImage()->isBitmapImage());
610 EXPECT_EQ(1, imageResource->getImage()->width()); 615 EXPECT_EQ(1, imageResource->getImage()->width());
611 EXPECT_EQ(1, imageResource->getImage()->height()); 616 EXPECT_EQ(1, imageResource->getImage()->height());
612 617
613 imageResource->setRevalidatingRequest(ResourceRequest(url)); 618 imageResource->setRevalidatingRequest(ResourceRequest(url));
614 ResourceResponse response; 619 ResourceResponse response;
615 response.setURL(url); 620 response.setURL(url);
616 response.setHTTPStatusCode(304); 621 response.setHTTPStatusCode(304);
617 622
618 imageResource->responseReceived(response, nullptr); 623 imageResource->responseReceived(response, nullptr);
619 624
620 EXPECT_FALSE(imageResource->errorOccurred()); 625 EXPECT_FALSE(imageResource->errorOccurred());
621 ASSERT_TRUE(imageResource->hasImage()); 626 ASSERT_TRUE(imageResource->hasImage());
622 EXPECT_FALSE(imageResource->getImage()->isNull()); 627 EXPECT_FALSE(imageResource->getImage()->isNull());
623 EXPECT_EQ(2, client->imageChangedCount()); 628 EXPECT_EQ(2, client->imageChangedCount());
629 EXPECT_EQ(1, client->imageNotifyFinishedCount());
624 EXPECT_TRUE(client->notifyFinishedCalled()); 630 EXPECT_TRUE(client->notifyFinishedCalled());
625 EXPECT_TRUE(imageResource->getImage()->isBitmapImage()); 631 EXPECT_TRUE(imageResource->getImage()->isBitmapImage());
626 EXPECT_EQ(1, imageResource->getImage()->width()); 632 EXPECT_EQ(1, imageResource->getImage()->width());
627 EXPECT_EQ(1, imageResource->getImage()->height()); 633 EXPECT_EQ(1, imageResource->getImage()->height());
628 } 634 }
629 635
630 TEST(ImageResourceTest, SuccessfulRevalidationSvg) { 636 TEST(ImageResourceTest, SuccessfulRevalidationSvg) {
631 KURL url(ParsedURLString, "http://127.0.0.1:8000/foo"); 637 KURL url(ParsedURLString, "http://127.0.0.1:8000/foo");
632 ImageResource* imageResource = ImageResource::create(ResourceRequest(url)); 638 ImageResource* imageResource = ImageResource::create(ResourceRequest(url));
633 Persistent<MockImageResourceClient> client = 639 Persistent<MockImageResourceClient> client =
634 new MockImageResourceClient(imageResource); 640 new MockImageResourceClient(imageResource);
635 641
636 receiveResponse(imageResource, url, "image/svg+xml", kSvgImage, 642 receiveResponse(imageResource, url, "image/svg+xml", kSvgImage,
637 strlen(kSvgImage)); 643 strlen(kSvgImage));
638 644
639 EXPECT_FALSE(imageResource->errorOccurred()); 645 EXPECT_FALSE(imageResource->errorOccurred());
640 ASSERT_TRUE(imageResource->hasImage()); 646 ASSERT_TRUE(imageResource->hasImage());
641 EXPECT_FALSE(imageResource->getImage()->isNull()); 647 EXPECT_FALSE(imageResource->getImage()->isNull());
642 EXPECT_EQ(1, client->imageChangedCount()); 648 EXPECT_EQ(1, client->imageChangedCount());
649 EXPECT_EQ(1, client->imageNotifyFinishedCount());
643 EXPECT_TRUE(client->notifyFinishedCalled()); 650 EXPECT_TRUE(client->notifyFinishedCalled());
644 EXPECT_FALSE(imageResource->getImage()->isBitmapImage()); 651 EXPECT_FALSE(imageResource->getImage()->isBitmapImage());
645 EXPECT_EQ(200, imageResource->getImage()->width()); 652 EXPECT_EQ(200, imageResource->getImage()->width());
646 EXPECT_EQ(200, imageResource->getImage()->height()); 653 EXPECT_EQ(200, imageResource->getImage()->height());
647 654
648 imageResource->setRevalidatingRequest(ResourceRequest(url)); 655 imageResource->setRevalidatingRequest(ResourceRequest(url));
649 ResourceResponse response; 656 ResourceResponse response;
650 response.setURL(url); 657 response.setURL(url);
651 response.setHTTPStatusCode(304); 658 response.setHTTPStatusCode(304);
652 imageResource->responseReceived(response, nullptr); 659 imageResource->responseReceived(response, nullptr);
653 660
654 EXPECT_FALSE(imageResource->errorOccurred()); 661 EXPECT_FALSE(imageResource->errorOccurred());
655 ASSERT_TRUE(imageResource->hasImage()); 662 ASSERT_TRUE(imageResource->hasImage());
656 EXPECT_FALSE(imageResource->getImage()->isNull()); 663 EXPECT_FALSE(imageResource->getImage()->isNull());
657 EXPECT_EQ(1, client->imageChangedCount()); 664 EXPECT_EQ(1, client->imageChangedCount());
665 EXPECT_EQ(1, client->imageNotifyFinishedCount());
658 EXPECT_TRUE(client->notifyFinishedCalled()); 666 EXPECT_TRUE(client->notifyFinishedCalled());
659 EXPECT_FALSE(imageResource->getImage()->isBitmapImage()); 667 EXPECT_FALSE(imageResource->getImage()->isBitmapImage());
660 EXPECT_EQ(200, imageResource->getImage()->width()); 668 EXPECT_EQ(200, imageResource->getImage()->width());
661 EXPECT_EQ(200, imageResource->getImage()->height()); 669 EXPECT_EQ(200, imageResource->getImage()->height());
662 } 670 }
663 671
664 TEST(ImageResourceTest, FailedRevalidationJpegToJpeg) { 672 TEST(ImageResourceTest, FailedRevalidationJpegToJpeg) {
665 KURL url(ParsedURLString, "http://127.0.0.1:8000/foo"); 673 KURL url(ParsedURLString, "http://127.0.0.1:8000/foo");
666 ImageResource* imageResource = ImageResource::create(ResourceRequest(url)); 674 ImageResource* imageResource = ImageResource::create(ResourceRequest(url));
667 Persistent<MockImageResourceClient> client = 675 Persistent<MockImageResourceClient> client =
668 new MockImageResourceClient(imageResource); 676 new MockImageResourceClient(imageResource);
669 677
670 receiveResponse(imageResource, url, "image/jpeg", 678 receiveResponse(imageResource, url, "image/jpeg",
671 reinterpret_cast<const char*>(kJpegImage), 679 reinterpret_cast<const char*>(kJpegImage),
672 sizeof(kJpegImage)); 680 sizeof(kJpegImage));
673 681
674 EXPECT_FALSE(imageResource->errorOccurred()); 682 EXPECT_FALSE(imageResource->errorOccurred());
675 ASSERT_TRUE(imageResource->hasImage()); 683 ASSERT_TRUE(imageResource->hasImage());
676 EXPECT_FALSE(imageResource->getImage()->isNull()); 684 EXPECT_FALSE(imageResource->getImage()->isNull());
677 EXPECT_EQ(2, client->imageChangedCount()); 685 EXPECT_EQ(2, client->imageChangedCount());
686 EXPECT_EQ(1, client->imageNotifyFinishedCount());
678 EXPECT_TRUE(client->notifyFinishedCalled()); 687 EXPECT_TRUE(client->notifyFinishedCalled());
679 EXPECT_TRUE(imageResource->getImage()->isBitmapImage()); 688 EXPECT_TRUE(imageResource->getImage()->isBitmapImage());
680 EXPECT_EQ(1, imageResource->getImage()->width()); 689 EXPECT_EQ(1, imageResource->getImage()->width());
681 EXPECT_EQ(1, imageResource->getImage()->height()); 690 EXPECT_EQ(1, imageResource->getImage()->height());
682 691
683 imageResource->setRevalidatingRequest(ResourceRequest(url)); 692 imageResource->setRevalidatingRequest(ResourceRequest(url));
684 receiveResponse(imageResource, url, "image/jpeg", 693 receiveResponse(imageResource, url, "image/jpeg",
685 reinterpret_cast<const char*>(kJpegImage2), 694 reinterpret_cast<const char*>(kJpegImage2),
686 sizeof(kJpegImage2)); 695 sizeof(kJpegImage2));
687 696
688 EXPECT_FALSE(imageResource->errorOccurred()); 697 EXPECT_FALSE(imageResource->errorOccurred());
689 ASSERT_TRUE(imageResource->hasImage()); 698 ASSERT_TRUE(imageResource->hasImage());
690 EXPECT_FALSE(imageResource->getImage()->isNull()); 699 EXPECT_FALSE(imageResource->getImage()->isNull());
691 EXPECT_EQ(4, client->imageChangedCount()); 700 EXPECT_EQ(4, client->imageChangedCount());
701 EXPECT_EQ(1, client->imageNotifyFinishedCount());
692 EXPECT_TRUE(client->notifyFinishedCalled()); 702 EXPECT_TRUE(client->notifyFinishedCalled());
693 EXPECT_TRUE(imageResource->getImage()->isBitmapImage()); 703 EXPECT_TRUE(imageResource->getImage()->isBitmapImage());
694 EXPECT_EQ(50, imageResource->getImage()->width()); 704 EXPECT_EQ(50, imageResource->getImage()->width());
695 EXPECT_EQ(50, imageResource->getImage()->height()); 705 EXPECT_EQ(50, imageResource->getImage()->height());
696 } 706 }
697 707
698 TEST(ImageResourceTest, FailedRevalidationJpegToSvg) { 708 TEST(ImageResourceTest, FailedRevalidationJpegToSvg) {
699 KURL url(ParsedURLString, "http://127.0.0.1:8000/foo"); 709 KURL url(ParsedURLString, "http://127.0.0.1:8000/foo");
700 ImageResource* imageResource = ImageResource::create(ResourceRequest(url)); 710 ImageResource* imageResource = ImageResource::create(ResourceRequest(url));
701 Persistent<MockImageResourceClient> client = 711 Persistent<MockImageResourceClient> client =
702 new MockImageResourceClient(imageResource); 712 new MockImageResourceClient(imageResource);
703 713
704 receiveResponse(imageResource, url, "image/jpeg", 714 receiveResponse(imageResource, url, "image/jpeg",
705 reinterpret_cast<const char*>(kJpegImage), 715 reinterpret_cast<const char*>(kJpegImage),
706 sizeof(kJpegImage)); 716 sizeof(kJpegImage));
707 717
708 EXPECT_FALSE(imageResource->errorOccurred()); 718 EXPECT_FALSE(imageResource->errorOccurred());
709 ASSERT_TRUE(imageResource->hasImage()); 719 ASSERT_TRUE(imageResource->hasImage());
710 EXPECT_FALSE(imageResource->getImage()->isNull()); 720 EXPECT_FALSE(imageResource->getImage()->isNull());
711 EXPECT_EQ(2, client->imageChangedCount()); 721 EXPECT_EQ(2, client->imageChangedCount());
722 EXPECT_EQ(1, client->imageNotifyFinishedCount());
712 EXPECT_TRUE(client->notifyFinishedCalled()); 723 EXPECT_TRUE(client->notifyFinishedCalled());
713 EXPECT_TRUE(imageResource->getImage()->isBitmapImage()); 724 EXPECT_TRUE(imageResource->getImage()->isBitmapImage());
714 EXPECT_EQ(1, imageResource->getImage()->width()); 725 EXPECT_EQ(1, imageResource->getImage()->width());
715 EXPECT_EQ(1, imageResource->getImage()->height()); 726 EXPECT_EQ(1, imageResource->getImage()->height());
716 727
717 imageResource->setRevalidatingRequest(ResourceRequest(url)); 728 imageResource->setRevalidatingRequest(ResourceRequest(url));
718 receiveResponse(imageResource, url, "image/svg+xml", kSvgImage, 729 receiveResponse(imageResource, url, "image/svg+xml", kSvgImage,
719 strlen(kSvgImage)); 730 strlen(kSvgImage));
720 731
721 EXPECT_FALSE(imageResource->errorOccurred()); 732 EXPECT_FALSE(imageResource->errorOccurred());
722 ASSERT_TRUE(imageResource->hasImage()); 733 ASSERT_TRUE(imageResource->hasImage());
723 EXPECT_FALSE(imageResource->getImage()->isNull()); 734 EXPECT_FALSE(imageResource->getImage()->isNull());
724 EXPECT_EQ(3, client->imageChangedCount()); 735 EXPECT_EQ(3, client->imageChangedCount());
736 EXPECT_EQ(1, client->imageNotifyFinishedCount());
725 EXPECT_TRUE(client->notifyFinishedCalled()); 737 EXPECT_TRUE(client->notifyFinishedCalled());
726 EXPECT_FALSE(imageResource->getImage()->isBitmapImage()); 738 EXPECT_FALSE(imageResource->getImage()->isBitmapImage());
727 EXPECT_EQ(200, imageResource->getImage()->width()); 739 EXPECT_EQ(200, imageResource->getImage()->width());
728 EXPECT_EQ(200, imageResource->getImage()->height()); 740 EXPECT_EQ(200, imageResource->getImage()->height());
729 } 741 }
730 742
731 TEST(ImageResourceTest, FailedRevalidationSvgToJpeg) { 743 TEST(ImageResourceTest, FailedRevalidationSvgToJpeg) {
732 KURL url(ParsedURLString, "http://127.0.0.1:8000/foo"); 744 KURL url(ParsedURLString, "http://127.0.0.1:8000/foo");
733 ImageResource* imageResource = ImageResource::create(ResourceRequest(url)); 745 ImageResource* imageResource = ImageResource::create(ResourceRequest(url));
734 Persistent<MockImageResourceClient> client = 746 Persistent<MockImageResourceClient> client =
735 new MockImageResourceClient(imageResource); 747 new MockImageResourceClient(imageResource);
736 748
737 receiveResponse(imageResource, url, "image/svg+xml", kSvgImage, 749 receiveResponse(imageResource, url, "image/svg+xml", kSvgImage,
738 strlen(kSvgImage)); 750 strlen(kSvgImage));
739 751
740 EXPECT_FALSE(imageResource->errorOccurred()); 752 EXPECT_FALSE(imageResource->errorOccurred());
741 ASSERT_TRUE(imageResource->hasImage()); 753 ASSERT_TRUE(imageResource->hasImage());
742 EXPECT_FALSE(imageResource->getImage()->isNull()); 754 EXPECT_FALSE(imageResource->getImage()->isNull());
743 EXPECT_EQ(1, client->imageChangedCount()); 755 EXPECT_EQ(1, client->imageChangedCount());
756 EXPECT_EQ(1, client->imageNotifyFinishedCount());
744 EXPECT_TRUE(client->notifyFinishedCalled()); 757 EXPECT_TRUE(client->notifyFinishedCalled());
745 EXPECT_FALSE(imageResource->getImage()->isBitmapImage()); 758 EXPECT_FALSE(imageResource->getImage()->isBitmapImage());
746 EXPECT_EQ(200, imageResource->getImage()->width()); 759 EXPECT_EQ(200, imageResource->getImage()->width());
747 EXPECT_EQ(200, imageResource->getImage()->height()); 760 EXPECT_EQ(200, imageResource->getImage()->height());
748 761
749 imageResource->setRevalidatingRequest(ResourceRequest(url)); 762 imageResource->setRevalidatingRequest(ResourceRequest(url));
750 receiveResponse(imageResource, url, "image/jpeg", 763 receiveResponse(imageResource, url, "image/jpeg",
751 reinterpret_cast<const char*>(kJpegImage), 764 reinterpret_cast<const char*>(kJpegImage),
752 sizeof(kJpegImage)); 765 sizeof(kJpegImage));
753 766
754 EXPECT_FALSE(imageResource->errorOccurred()); 767 EXPECT_FALSE(imageResource->errorOccurred());
755 ASSERT_TRUE(imageResource->hasImage()); 768 ASSERT_TRUE(imageResource->hasImage());
756 EXPECT_FALSE(imageResource->getImage()->isNull()); 769 EXPECT_FALSE(imageResource->getImage()->isNull());
757 EXPECT_EQ(3, client->imageChangedCount()); 770 EXPECT_EQ(3, client->imageChangedCount());
771 EXPECT_EQ(1, client->imageNotifyFinishedCount());
758 EXPECT_TRUE(client->notifyFinishedCalled()); 772 EXPECT_TRUE(client->notifyFinishedCalled());
759 EXPECT_TRUE(imageResource->getImage()->isBitmapImage()); 773 EXPECT_TRUE(imageResource->getImage()->isBitmapImage());
760 EXPECT_EQ(1, imageResource->getImage()->width()); 774 EXPECT_EQ(1, imageResource->getImage()->width());
761 EXPECT_EQ(1, imageResource->getImage()->height()); 775 EXPECT_EQ(1, imageResource->getImage()->height());
762 } 776 }
763 777
764 TEST(ImageResourceTest, FailedRevalidationSvgToSvg) { 778 TEST(ImageResourceTest, FailedRevalidationSvgToSvg) {
765 KURL url(ParsedURLString, "http://127.0.0.1:8000/foo"); 779 KURL url(ParsedURLString, "http://127.0.0.1:8000/foo");
766 ImageResource* imageResource = ImageResource::create(ResourceRequest(url)); 780 ImageResource* imageResource = ImageResource::create(ResourceRequest(url));
767 Persistent<MockImageResourceClient> client = 781 Persistent<MockImageResourceClient> client =
768 new MockImageResourceClient(imageResource); 782 new MockImageResourceClient(imageResource);
769 783
770 receiveResponse(imageResource, url, "image/svg+xml", kSvgImage, 784 receiveResponse(imageResource, url, "image/svg+xml", kSvgImage,
771 strlen(kSvgImage)); 785 strlen(kSvgImage));
772 786
773 EXPECT_FALSE(imageResource->errorOccurred()); 787 EXPECT_FALSE(imageResource->errorOccurred());
774 ASSERT_TRUE(imageResource->hasImage()); 788 ASSERT_TRUE(imageResource->hasImage());
775 EXPECT_FALSE(imageResource->getImage()->isNull()); 789 EXPECT_FALSE(imageResource->getImage()->isNull());
776 EXPECT_EQ(client->imageChangedCount(), 1); 790 EXPECT_EQ(1, client->imageChangedCount());
791 EXPECT_EQ(1, client->imageNotifyFinishedCount());
777 EXPECT_TRUE(client->notifyFinishedCalled()); 792 EXPECT_TRUE(client->notifyFinishedCalled());
778 EXPECT_FALSE(imageResource->getImage()->isBitmapImage()); 793 EXPECT_FALSE(imageResource->getImage()->isBitmapImage());
779 EXPECT_EQ(200, imageResource->getImage()->width()); 794 EXPECT_EQ(200, imageResource->getImage()->width());
780 EXPECT_EQ(200, imageResource->getImage()->height()); 795 EXPECT_EQ(200, imageResource->getImage()->height());
781 796
782 imageResource->setRevalidatingRequest(ResourceRequest(url)); 797 imageResource->setRevalidatingRequest(ResourceRequest(url));
783 receiveResponse(imageResource, url, "image/svg+xml", kSvgImage2, 798 receiveResponse(imageResource, url, "image/svg+xml", kSvgImage2,
784 strlen(kSvgImage2)); 799 strlen(kSvgImage2));
785 800
786 EXPECT_FALSE(imageResource->errorOccurred()); 801 EXPECT_FALSE(imageResource->errorOccurred());
787 ASSERT_TRUE(imageResource->hasImage()); 802 ASSERT_TRUE(imageResource->hasImage());
788 EXPECT_FALSE(imageResource->getImage()->isNull()); 803 EXPECT_FALSE(imageResource->getImage()->isNull());
789 EXPECT_EQ(2, client->imageChangedCount()); 804 EXPECT_EQ(2, client->imageChangedCount());
805 EXPECT_EQ(1, client->imageNotifyFinishedCount());
790 EXPECT_TRUE(client->notifyFinishedCalled()); 806 EXPECT_TRUE(client->notifyFinishedCalled());
791 EXPECT_FALSE(imageResource->getImage()->isBitmapImage()); 807 EXPECT_FALSE(imageResource->getImage()->isBitmapImage());
792 EXPECT_EQ(300, imageResource->getImage()->width()); 808 EXPECT_EQ(300, imageResource->getImage()->width());
793 EXPECT_EQ(300, imageResource->getImage()->height()); 809 EXPECT_EQ(300, imageResource->getImage()->height());
794 } 810 }
795 811
796 // Tests for pruning. 812 // Tests for pruning.
797 813
798 TEST(ImageResourceTest, AddClientAfterPrune) { 814 TEST(ImageResourceTest, AddClientAfterPrune) {
799 KURL url(ParsedURLString, "http://127.0.0.1:8000/foo"); 815 KURL url(ParsedURLString, "http://127.0.0.1:8000/foo");
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after
1021 sizeof(kBadData)); 1037 sizeof(kBadData));
1022 1038
1023 // The dimensions could not be extracted, so the full original image should be 1039 // The dimensions could not be extracted, so the full original image should be
1024 // loading. 1040 // loading.
1025 EXPECT_EQ(Resource::Pending, image->getStatus()); 1041 EXPECT_EQ(Resource::Pending, image->getStatus());
1026 EXPECT_FALSE(image->isPlaceholder()); 1042 EXPECT_FALSE(image->isPlaceholder());
1027 EXPECT_EQ(nullAtom, image->resourceRequest().httpHeaderField("range")); 1043 EXPECT_EQ(nullAtom, image->resourceRequest().httpHeaderField("range"));
1028 EXPECT_EQ(static_cast<int>(WebCachePolicy::BypassingCache), 1044 EXPECT_EQ(static_cast<int>(WebCachePolicy::BypassingCache),
1029 static_cast<int>(image->resourceRequest().getCachePolicy())); 1045 static_cast<int>(image->resourceRequest().getCachePolicy()));
1030 EXPECT_FALSE(client->notifyFinishedCalled()); 1046 EXPECT_FALSE(client->notifyFinishedCalled());
1047 EXPECT_EQ(0, client->imageNotifyFinishedCount());
1031 1048
1032 image->loader()->didReceiveResponse( 1049 image->loader()->didReceiveResponse(
1033 nullptr, 1050 nullptr,
1034 WrappedResourceResponse(ResourceResponse( 1051 WrappedResourceResponse(ResourceResponse(
1035 testURL, "image/jpeg", sizeof(kJpegImage), nullAtom, String()))); 1052 testURL, "image/jpeg", sizeof(kJpegImage), nullAtom, String())));
1036 image->loader()->didReceiveData(nullptr, 1053 image->loader()->didReceiveData(nullptr,
1037 reinterpret_cast<const char*>(kJpegImage), 1054 reinterpret_cast<const char*>(kJpegImage),
1038 sizeof(kJpegImage), sizeof(kJpegImage)); 1055 sizeof(kJpegImage), sizeof(kJpegImage));
1039 image->loader()->didFinishLoading(nullptr, 0.0, sizeof(kJpegImage), 1056 image->loader()->didFinishLoading(nullptr, 0.0, sizeof(kJpegImage),
1040 sizeof(kJpegImage)); 1057 sizeof(kJpegImage));
1041 1058
1042 EXPECT_EQ(Resource::Cached, image->getStatus()); 1059 EXPECT_EQ(Resource::Cached, image->getStatus());
1043 EXPECT_EQ(sizeof(kJpegImage), image->encodedSize()); 1060 EXPECT_EQ(sizeof(kJpegImage), image->encodedSize());
1044 EXPECT_FALSE(image->isPlaceholder()); 1061 EXPECT_FALSE(image->isPlaceholder());
1045 EXPECT_LT(0, client->imageChangedCount()); 1062 EXPECT_LT(0, client->imageChangedCount());
1046 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnLastImageChanged()); 1063 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnLastImageChanged());
1047 EXPECT_TRUE(client->notifyFinishedCalled()); 1064 EXPECT_TRUE(client->notifyFinishedCalled());
1065 EXPECT_EQ(1, client->imageNotifyFinishedCount());
1048 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnNotifyFinished()); 1066 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnNotifyFinished());
1049 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnImageNotifyFinished()); 1067 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnImageNotifyFinished());
1050 1068
1051 ASSERT_TRUE(image->hasImage()); 1069 ASSERT_TRUE(image->hasImage());
1052 EXPECT_EQ(1, image->getImage()->width()); 1070 EXPECT_EQ(1, image->getImage()->width());
1053 EXPECT_EQ(1, image->getImage()->height()); 1071 EXPECT_EQ(1, image->getImage()->height());
1054 EXPECT_TRUE(image->getImage()->isBitmapImage()); 1072 EXPECT_TRUE(image->getImage()->isBitmapImage());
1055 } 1073 }
1056 1074
1057 TEST(ImageResourceTest, FetchAllowPlaceholderThenDisallowPlaceholder) { 1075 TEST(ImageResourceTest, FetchAllowPlaceholderThenDisallowPlaceholder) {
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
1210 EXPECT_TRUE(client->notifyFinishedCalled()); 1228 EXPECT_TRUE(client->notifyFinishedCalled());
1211 EXPECT_TRUE(cachedImage->getImage()->isBitmapImage()); 1229 EXPECT_TRUE(cachedImage->getImage()->isBitmapImage());
1212 EXPECT_EQ(50, cachedImage->getImage()->width()); 1230 EXPECT_EQ(50, cachedImage->getImage()->width());
1213 EXPECT_EQ(50, cachedImage->getImage()->height()); 1231 EXPECT_EQ(50, cachedImage->getImage()->height());
1214 1232
1215 WTF::setTimeFunctionsForTesting(nullptr); 1233 WTF::setTimeFunctionsForTesting(nullptr);
1216 } 1234 }
1217 1235
1218 } // namespace 1236 } // namespace
1219 } // namespace blink 1237 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698