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

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 WrappedResourceResponse(resourceResponse), nullptr); 443 WrappedResourceResponse(resourceResponse), nullptr);
442 cachedImage->loader()->didReceiveData( 444 cachedImage->loader()->didReceiveData(
443 reinterpret_cast<const char*>(kJpegImage2), sizeof(kJpegImage2), 445 reinterpret_cast<const char*>(kJpegImage2), sizeof(kJpegImage2),
444 sizeof(kJpegImage2)); 446 sizeof(kJpegImage2));
445 cachedImage->loader()->didFinishLoading(0.0, sizeof(kJpegImage2), 447 cachedImage->loader()->didFinishLoading(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 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
594 new MockImageResourceClient(imageResource); 598 new MockImageResourceClient(imageResource);
595 599
596 receiveResponse(imageResource, url, "image/jpeg", 600 receiveResponse(imageResource, url, "image/jpeg",
597 reinterpret_cast<const char*>(kJpegImage), 601 reinterpret_cast<const char*>(kJpegImage),
598 sizeof(kJpegImage)); 602 sizeof(kJpegImage));
599 603
600 EXPECT_FALSE(imageResource->errorOccurred()); 604 EXPECT_FALSE(imageResource->errorOccurred());
601 ASSERT_TRUE(imageResource->hasImage()); 605 ASSERT_TRUE(imageResource->hasImage());
602 EXPECT_FALSE(imageResource->getImage()->isNull()); 606 EXPECT_FALSE(imageResource->getImage()->isNull());
603 EXPECT_EQ(2, client->imageChangedCount()); 607 EXPECT_EQ(2, client->imageChangedCount());
608 EXPECT_EQ(1, client->imageNotifyFinishedCount());
604 EXPECT_TRUE(client->notifyFinishedCalled()); 609 EXPECT_TRUE(client->notifyFinishedCalled());
605 EXPECT_TRUE(imageResource->getImage()->isBitmapImage()); 610 EXPECT_TRUE(imageResource->getImage()->isBitmapImage());
606 EXPECT_EQ(1, imageResource->getImage()->width()); 611 EXPECT_EQ(1, imageResource->getImage()->width());
607 EXPECT_EQ(1, imageResource->getImage()->height()); 612 EXPECT_EQ(1, imageResource->getImage()->height());
608 613
609 imageResource->setRevalidatingRequest(ResourceRequest(url)); 614 imageResource->setRevalidatingRequest(ResourceRequest(url));
610 ResourceResponse response; 615 ResourceResponse response;
611 response.setURL(url); 616 response.setURL(url);
612 response.setHTTPStatusCode(304); 617 response.setHTTPStatusCode(304);
613 618
614 imageResource->responseReceived(response, nullptr); 619 imageResource->responseReceived(response, nullptr);
615 620
616 EXPECT_FALSE(imageResource->errorOccurred()); 621 EXPECT_FALSE(imageResource->errorOccurred());
617 ASSERT_TRUE(imageResource->hasImage()); 622 ASSERT_TRUE(imageResource->hasImage());
618 EXPECT_FALSE(imageResource->getImage()->isNull()); 623 EXPECT_FALSE(imageResource->getImage()->isNull());
619 EXPECT_EQ(2, client->imageChangedCount()); 624 EXPECT_EQ(2, client->imageChangedCount());
625 EXPECT_EQ(1, client->imageNotifyFinishedCount());
620 EXPECT_TRUE(client->notifyFinishedCalled()); 626 EXPECT_TRUE(client->notifyFinishedCalled());
621 EXPECT_TRUE(imageResource->getImage()->isBitmapImage()); 627 EXPECT_TRUE(imageResource->getImage()->isBitmapImage());
622 EXPECT_EQ(1, imageResource->getImage()->width()); 628 EXPECT_EQ(1, imageResource->getImage()->width());
623 EXPECT_EQ(1, imageResource->getImage()->height()); 629 EXPECT_EQ(1, imageResource->getImage()->height());
624 } 630 }
625 631
626 TEST(ImageResourceTest, SuccessfulRevalidationSvg) { 632 TEST(ImageResourceTest, SuccessfulRevalidationSvg) {
627 KURL url(ParsedURLString, "http://127.0.0.1:8000/foo"); 633 KURL url(ParsedURLString, "http://127.0.0.1:8000/foo");
628 ImageResource* imageResource = ImageResource::create(ResourceRequest(url)); 634 ImageResource* imageResource = ImageResource::create(ResourceRequest(url));
629 Persistent<MockImageResourceClient> client = 635 Persistent<MockImageResourceClient> client =
630 new MockImageResourceClient(imageResource); 636 new MockImageResourceClient(imageResource);
631 637
632 receiveResponse(imageResource, url, "image/svg+xml", kSvgImage, 638 receiveResponse(imageResource, url, "image/svg+xml", kSvgImage,
633 strlen(kSvgImage)); 639 strlen(kSvgImage));
634 640
635 EXPECT_FALSE(imageResource->errorOccurred()); 641 EXPECT_FALSE(imageResource->errorOccurred());
636 ASSERT_TRUE(imageResource->hasImage()); 642 ASSERT_TRUE(imageResource->hasImage());
637 EXPECT_FALSE(imageResource->getImage()->isNull()); 643 EXPECT_FALSE(imageResource->getImage()->isNull());
638 EXPECT_EQ(1, client->imageChangedCount()); 644 EXPECT_EQ(1, client->imageChangedCount());
645 EXPECT_EQ(1, client->imageNotifyFinishedCount());
639 EXPECT_TRUE(client->notifyFinishedCalled()); 646 EXPECT_TRUE(client->notifyFinishedCalled());
640 EXPECT_FALSE(imageResource->getImage()->isBitmapImage()); 647 EXPECT_FALSE(imageResource->getImage()->isBitmapImage());
641 EXPECT_EQ(200, imageResource->getImage()->width()); 648 EXPECT_EQ(200, imageResource->getImage()->width());
642 EXPECT_EQ(200, imageResource->getImage()->height()); 649 EXPECT_EQ(200, imageResource->getImage()->height());
643 650
644 imageResource->setRevalidatingRequest(ResourceRequest(url)); 651 imageResource->setRevalidatingRequest(ResourceRequest(url));
645 ResourceResponse response; 652 ResourceResponse response;
646 response.setURL(url); 653 response.setURL(url);
647 response.setHTTPStatusCode(304); 654 response.setHTTPStatusCode(304);
648 imageResource->responseReceived(response, nullptr); 655 imageResource->responseReceived(response, nullptr);
649 656
650 EXPECT_FALSE(imageResource->errorOccurred()); 657 EXPECT_FALSE(imageResource->errorOccurred());
651 ASSERT_TRUE(imageResource->hasImage()); 658 ASSERT_TRUE(imageResource->hasImage());
652 EXPECT_FALSE(imageResource->getImage()->isNull()); 659 EXPECT_FALSE(imageResource->getImage()->isNull());
653 EXPECT_EQ(1, client->imageChangedCount()); 660 EXPECT_EQ(1, client->imageChangedCount());
661 EXPECT_EQ(1, client->imageNotifyFinishedCount());
654 EXPECT_TRUE(client->notifyFinishedCalled()); 662 EXPECT_TRUE(client->notifyFinishedCalled());
655 EXPECT_FALSE(imageResource->getImage()->isBitmapImage()); 663 EXPECT_FALSE(imageResource->getImage()->isBitmapImage());
656 EXPECT_EQ(200, imageResource->getImage()->width()); 664 EXPECT_EQ(200, imageResource->getImage()->width());
657 EXPECT_EQ(200, imageResource->getImage()->height()); 665 EXPECT_EQ(200, imageResource->getImage()->height());
658 } 666 }
659 667
660 TEST(ImageResourceTest, FailedRevalidationJpegToJpeg) { 668 TEST(ImageResourceTest, FailedRevalidationJpegToJpeg) {
661 KURL url(ParsedURLString, "http://127.0.0.1:8000/foo"); 669 KURL url(ParsedURLString, "http://127.0.0.1:8000/foo");
662 ImageResource* imageResource = ImageResource::create(ResourceRequest(url)); 670 ImageResource* imageResource = ImageResource::create(ResourceRequest(url));
663 Persistent<MockImageResourceClient> client = 671 Persistent<MockImageResourceClient> client =
664 new MockImageResourceClient(imageResource); 672 new MockImageResourceClient(imageResource);
665 673
666 receiveResponse(imageResource, url, "image/jpeg", 674 receiveResponse(imageResource, url, "image/jpeg",
667 reinterpret_cast<const char*>(kJpegImage), 675 reinterpret_cast<const char*>(kJpegImage),
668 sizeof(kJpegImage)); 676 sizeof(kJpegImage));
669 677
670 EXPECT_FALSE(imageResource->errorOccurred()); 678 EXPECT_FALSE(imageResource->errorOccurred());
671 ASSERT_TRUE(imageResource->hasImage()); 679 ASSERT_TRUE(imageResource->hasImage());
672 EXPECT_FALSE(imageResource->getImage()->isNull()); 680 EXPECT_FALSE(imageResource->getImage()->isNull());
673 EXPECT_EQ(2, client->imageChangedCount()); 681 EXPECT_EQ(2, client->imageChangedCount());
682 EXPECT_EQ(1, client->imageNotifyFinishedCount());
674 EXPECT_TRUE(client->notifyFinishedCalled()); 683 EXPECT_TRUE(client->notifyFinishedCalled());
675 EXPECT_TRUE(imageResource->getImage()->isBitmapImage()); 684 EXPECT_TRUE(imageResource->getImage()->isBitmapImage());
676 EXPECT_EQ(1, imageResource->getImage()->width()); 685 EXPECT_EQ(1, imageResource->getImage()->width());
677 EXPECT_EQ(1, imageResource->getImage()->height()); 686 EXPECT_EQ(1, imageResource->getImage()->height());
678 687
679 imageResource->setRevalidatingRequest(ResourceRequest(url)); 688 imageResource->setRevalidatingRequest(ResourceRequest(url));
680 receiveResponse(imageResource, url, "image/jpeg", 689 receiveResponse(imageResource, url, "image/jpeg",
681 reinterpret_cast<const char*>(kJpegImage2), 690 reinterpret_cast<const char*>(kJpegImage2),
682 sizeof(kJpegImage2)); 691 sizeof(kJpegImage2));
683 692
684 EXPECT_FALSE(imageResource->errorOccurred()); 693 EXPECT_FALSE(imageResource->errorOccurred());
685 ASSERT_TRUE(imageResource->hasImage()); 694 ASSERT_TRUE(imageResource->hasImage());
686 EXPECT_FALSE(imageResource->getImage()->isNull()); 695 EXPECT_FALSE(imageResource->getImage()->isNull());
687 EXPECT_EQ(4, client->imageChangedCount()); 696 EXPECT_EQ(4, client->imageChangedCount());
697 EXPECT_EQ(1, client->imageNotifyFinishedCount());
688 EXPECT_TRUE(client->notifyFinishedCalled()); 698 EXPECT_TRUE(client->notifyFinishedCalled());
689 EXPECT_TRUE(imageResource->getImage()->isBitmapImage()); 699 EXPECT_TRUE(imageResource->getImage()->isBitmapImage());
690 EXPECT_EQ(50, imageResource->getImage()->width()); 700 EXPECT_EQ(50, imageResource->getImage()->width());
691 EXPECT_EQ(50, imageResource->getImage()->height()); 701 EXPECT_EQ(50, imageResource->getImage()->height());
692 } 702 }
693 703
694 TEST(ImageResourceTest, FailedRevalidationJpegToSvg) { 704 TEST(ImageResourceTest, FailedRevalidationJpegToSvg) {
695 KURL url(ParsedURLString, "http://127.0.0.1:8000/foo"); 705 KURL url(ParsedURLString, "http://127.0.0.1:8000/foo");
696 ImageResource* imageResource = ImageResource::create(ResourceRequest(url)); 706 ImageResource* imageResource = ImageResource::create(ResourceRequest(url));
697 Persistent<MockImageResourceClient> client = 707 Persistent<MockImageResourceClient> client =
698 new MockImageResourceClient(imageResource); 708 new MockImageResourceClient(imageResource);
699 709
700 receiveResponse(imageResource, url, "image/jpeg", 710 receiveResponse(imageResource, url, "image/jpeg",
701 reinterpret_cast<const char*>(kJpegImage), 711 reinterpret_cast<const char*>(kJpegImage),
702 sizeof(kJpegImage)); 712 sizeof(kJpegImage));
703 713
704 EXPECT_FALSE(imageResource->errorOccurred()); 714 EXPECT_FALSE(imageResource->errorOccurred());
705 ASSERT_TRUE(imageResource->hasImage()); 715 ASSERT_TRUE(imageResource->hasImage());
706 EXPECT_FALSE(imageResource->getImage()->isNull()); 716 EXPECT_FALSE(imageResource->getImage()->isNull());
707 EXPECT_EQ(2, client->imageChangedCount()); 717 EXPECT_EQ(2, client->imageChangedCount());
718 EXPECT_EQ(1, client->imageNotifyFinishedCount());
708 EXPECT_TRUE(client->notifyFinishedCalled()); 719 EXPECT_TRUE(client->notifyFinishedCalled());
709 EXPECT_TRUE(imageResource->getImage()->isBitmapImage()); 720 EXPECT_TRUE(imageResource->getImage()->isBitmapImage());
710 EXPECT_EQ(1, imageResource->getImage()->width()); 721 EXPECT_EQ(1, imageResource->getImage()->width());
711 EXPECT_EQ(1, imageResource->getImage()->height()); 722 EXPECT_EQ(1, imageResource->getImage()->height());
712 723
713 imageResource->setRevalidatingRequest(ResourceRequest(url)); 724 imageResource->setRevalidatingRequest(ResourceRequest(url));
714 receiveResponse(imageResource, url, "image/svg+xml", kSvgImage, 725 receiveResponse(imageResource, url, "image/svg+xml", kSvgImage,
715 strlen(kSvgImage)); 726 strlen(kSvgImage));
716 727
717 EXPECT_FALSE(imageResource->errorOccurred()); 728 EXPECT_FALSE(imageResource->errorOccurred());
718 ASSERT_TRUE(imageResource->hasImage()); 729 ASSERT_TRUE(imageResource->hasImage());
719 EXPECT_FALSE(imageResource->getImage()->isNull()); 730 EXPECT_FALSE(imageResource->getImage()->isNull());
720 EXPECT_EQ(3, client->imageChangedCount()); 731 EXPECT_EQ(3, client->imageChangedCount());
732 EXPECT_EQ(1, client->imageNotifyFinishedCount());
721 EXPECT_TRUE(client->notifyFinishedCalled()); 733 EXPECT_TRUE(client->notifyFinishedCalled());
722 EXPECT_FALSE(imageResource->getImage()->isBitmapImage()); 734 EXPECT_FALSE(imageResource->getImage()->isBitmapImage());
723 EXPECT_EQ(200, imageResource->getImage()->width()); 735 EXPECT_EQ(200, imageResource->getImage()->width());
724 EXPECT_EQ(200, imageResource->getImage()->height()); 736 EXPECT_EQ(200, imageResource->getImage()->height());
725 } 737 }
726 738
727 TEST(ImageResourceTest, FailedRevalidationSvgToJpeg) { 739 TEST(ImageResourceTest, FailedRevalidationSvgToJpeg) {
728 KURL url(ParsedURLString, "http://127.0.0.1:8000/foo"); 740 KURL url(ParsedURLString, "http://127.0.0.1:8000/foo");
729 ImageResource* imageResource = ImageResource::create(ResourceRequest(url)); 741 ImageResource* imageResource = ImageResource::create(ResourceRequest(url));
730 Persistent<MockImageResourceClient> client = 742 Persistent<MockImageResourceClient> client =
731 new MockImageResourceClient(imageResource); 743 new MockImageResourceClient(imageResource);
732 744
733 receiveResponse(imageResource, url, "image/svg+xml", kSvgImage, 745 receiveResponse(imageResource, url, "image/svg+xml", kSvgImage,
734 strlen(kSvgImage)); 746 strlen(kSvgImage));
735 747
736 EXPECT_FALSE(imageResource->errorOccurred()); 748 EXPECT_FALSE(imageResource->errorOccurred());
737 ASSERT_TRUE(imageResource->hasImage()); 749 ASSERT_TRUE(imageResource->hasImage());
738 EXPECT_FALSE(imageResource->getImage()->isNull()); 750 EXPECT_FALSE(imageResource->getImage()->isNull());
739 EXPECT_EQ(1, client->imageChangedCount()); 751 EXPECT_EQ(1, client->imageChangedCount());
752 EXPECT_EQ(1, client->imageNotifyFinishedCount());
740 EXPECT_TRUE(client->notifyFinishedCalled()); 753 EXPECT_TRUE(client->notifyFinishedCalled());
741 EXPECT_FALSE(imageResource->getImage()->isBitmapImage()); 754 EXPECT_FALSE(imageResource->getImage()->isBitmapImage());
742 EXPECT_EQ(200, imageResource->getImage()->width()); 755 EXPECT_EQ(200, imageResource->getImage()->width());
743 EXPECT_EQ(200, imageResource->getImage()->height()); 756 EXPECT_EQ(200, imageResource->getImage()->height());
744 757
745 imageResource->setRevalidatingRequest(ResourceRequest(url)); 758 imageResource->setRevalidatingRequest(ResourceRequest(url));
746 receiveResponse(imageResource, url, "image/jpeg", 759 receiveResponse(imageResource, url, "image/jpeg",
747 reinterpret_cast<const char*>(kJpegImage), 760 reinterpret_cast<const char*>(kJpegImage),
748 sizeof(kJpegImage)); 761 sizeof(kJpegImage));
749 762
750 EXPECT_FALSE(imageResource->errorOccurred()); 763 EXPECT_FALSE(imageResource->errorOccurred());
751 ASSERT_TRUE(imageResource->hasImage()); 764 ASSERT_TRUE(imageResource->hasImage());
752 EXPECT_FALSE(imageResource->getImage()->isNull()); 765 EXPECT_FALSE(imageResource->getImage()->isNull());
753 EXPECT_EQ(3, client->imageChangedCount()); 766 EXPECT_EQ(3, client->imageChangedCount());
767 EXPECT_EQ(1, client->imageNotifyFinishedCount());
754 EXPECT_TRUE(client->notifyFinishedCalled()); 768 EXPECT_TRUE(client->notifyFinishedCalled());
755 EXPECT_TRUE(imageResource->getImage()->isBitmapImage()); 769 EXPECT_TRUE(imageResource->getImage()->isBitmapImage());
756 EXPECT_EQ(1, imageResource->getImage()->width()); 770 EXPECT_EQ(1, imageResource->getImage()->width());
757 EXPECT_EQ(1, imageResource->getImage()->height()); 771 EXPECT_EQ(1, imageResource->getImage()->height());
758 } 772 }
759 773
760 TEST(ImageResourceTest, FailedRevalidationSvgToSvg) { 774 TEST(ImageResourceTest, FailedRevalidationSvgToSvg) {
761 KURL url(ParsedURLString, "http://127.0.0.1:8000/foo"); 775 KURL url(ParsedURLString, "http://127.0.0.1:8000/foo");
762 ImageResource* imageResource = ImageResource::create(ResourceRequest(url)); 776 ImageResource* imageResource = ImageResource::create(ResourceRequest(url));
763 Persistent<MockImageResourceClient> client = 777 Persistent<MockImageResourceClient> client =
764 new MockImageResourceClient(imageResource); 778 new MockImageResourceClient(imageResource);
765 779
766 receiveResponse(imageResource, url, "image/svg+xml", kSvgImage, 780 receiveResponse(imageResource, url, "image/svg+xml", kSvgImage,
767 strlen(kSvgImage)); 781 strlen(kSvgImage));
768 782
769 EXPECT_FALSE(imageResource->errorOccurred()); 783 EXPECT_FALSE(imageResource->errorOccurred());
770 ASSERT_TRUE(imageResource->hasImage()); 784 ASSERT_TRUE(imageResource->hasImage());
771 EXPECT_FALSE(imageResource->getImage()->isNull()); 785 EXPECT_FALSE(imageResource->getImage()->isNull());
772 EXPECT_EQ(client->imageChangedCount(), 1); 786 EXPECT_EQ(1, client->imageChangedCount());
787 EXPECT_EQ(1, client->imageNotifyFinishedCount());
773 EXPECT_TRUE(client->notifyFinishedCalled()); 788 EXPECT_TRUE(client->notifyFinishedCalled());
774 EXPECT_FALSE(imageResource->getImage()->isBitmapImage()); 789 EXPECT_FALSE(imageResource->getImage()->isBitmapImage());
775 EXPECT_EQ(200, imageResource->getImage()->width()); 790 EXPECT_EQ(200, imageResource->getImage()->width());
776 EXPECT_EQ(200, imageResource->getImage()->height()); 791 EXPECT_EQ(200, imageResource->getImage()->height());
777 792
778 imageResource->setRevalidatingRequest(ResourceRequest(url)); 793 imageResource->setRevalidatingRequest(ResourceRequest(url));
779 receiveResponse(imageResource, url, "image/svg+xml", kSvgImage2, 794 receiveResponse(imageResource, url, "image/svg+xml", kSvgImage2,
780 strlen(kSvgImage2)); 795 strlen(kSvgImage2));
781 796
782 EXPECT_FALSE(imageResource->errorOccurred()); 797 EXPECT_FALSE(imageResource->errorOccurred());
783 ASSERT_TRUE(imageResource->hasImage()); 798 ASSERT_TRUE(imageResource->hasImage());
784 EXPECT_FALSE(imageResource->getImage()->isNull()); 799 EXPECT_FALSE(imageResource->getImage()->isNull());
785 EXPECT_EQ(2, client->imageChangedCount()); 800 EXPECT_EQ(2, client->imageChangedCount());
801 EXPECT_EQ(1, client->imageNotifyFinishedCount());
786 EXPECT_TRUE(client->notifyFinishedCalled()); 802 EXPECT_TRUE(client->notifyFinishedCalled());
787 EXPECT_FALSE(imageResource->getImage()->isBitmapImage()); 803 EXPECT_FALSE(imageResource->getImage()->isBitmapImage());
788 EXPECT_EQ(300, imageResource->getImage()->width()); 804 EXPECT_EQ(300, imageResource->getImage()->width());
789 EXPECT_EQ(300, imageResource->getImage()->height()); 805 EXPECT_EQ(300, imageResource->getImage()->height());
790 } 806 }
791 807
792 // Tests for pruning. 808 // Tests for pruning.
793 809
794 TEST(ImageResourceTest, AddClientAfterPrune) { 810 TEST(ImageResourceTest, AddClientAfterPrune) {
795 KURL url(ParsedURLString, "http://127.0.0.1:8000/foo"); 811 KURL url(ParsedURLString, "http://127.0.0.1:8000/foo");
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after
1010 image->loader()->didReceiveData(kBadData, sizeof(kBadData), sizeof(kBadData)); 1026 image->loader()->didReceiveData(kBadData, sizeof(kBadData), sizeof(kBadData));
1011 1027
1012 // The dimensions could not be extracted, so the full original image should be 1028 // The dimensions could not be extracted, so the full original image should be
1013 // loading. 1029 // loading.
1014 EXPECT_EQ(Resource::Pending, image->getStatus()); 1030 EXPECT_EQ(Resource::Pending, image->getStatus());
1015 EXPECT_FALSE(image->isPlaceholder()); 1031 EXPECT_FALSE(image->isPlaceholder());
1016 EXPECT_EQ(nullAtom, image->resourceRequest().httpHeaderField("range")); 1032 EXPECT_EQ(nullAtom, image->resourceRequest().httpHeaderField("range"));
1017 EXPECT_EQ(static_cast<int>(WebCachePolicy::BypassingCache), 1033 EXPECT_EQ(static_cast<int>(WebCachePolicy::BypassingCache),
1018 static_cast<int>(image->resourceRequest().getCachePolicy())); 1034 static_cast<int>(image->resourceRequest().getCachePolicy()));
1019 EXPECT_FALSE(client->notifyFinishedCalled()); 1035 EXPECT_FALSE(client->notifyFinishedCalled());
1036 EXPECT_EQ(0, client->imageNotifyFinishedCount());
1020 1037
1021 image->loader()->didReceiveResponse( 1038 image->loader()->didReceiveResponse(
1022 WrappedResourceResponse(ResourceResponse( 1039 WrappedResourceResponse(ResourceResponse(
1023 testURL, "image/jpeg", sizeof(kJpegImage), nullAtom, String()))); 1040 testURL, "image/jpeg", sizeof(kJpegImage), nullAtom, String())));
1024 image->loader()->didReceiveData(reinterpret_cast<const char*>(kJpegImage), 1041 image->loader()->didReceiveData(reinterpret_cast<const char*>(kJpegImage),
1025 sizeof(kJpegImage), sizeof(kJpegImage)); 1042 sizeof(kJpegImage), sizeof(kJpegImage));
1026 image->loader()->didFinishLoading(0.0, sizeof(kJpegImage), 1043 image->loader()->didFinishLoading(0.0, sizeof(kJpegImage),
1027 sizeof(kJpegImage)); 1044 sizeof(kJpegImage));
1028 1045
1029 EXPECT_EQ(Resource::Cached, image->getStatus()); 1046 EXPECT_EQ(Resource::Cached, image->getStatus());
1030 EXPECT_EQ(sizeof(kJpegImage), image->encodedSize()); 1047 EXPECT_EQ(sizeof(kJpegImage), image->encodedSize());
1031 EXPECT_FALSE(image->isPlaceholder()); 1048 EXPECT_FALSE(image->isPlaceholder());
1032 EXPECT_LT(0, client->imageChangedCount()); 1049 EXPECT_LT(0, client->imageChangedCount());
1033 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnLastImageChanged()); 1050 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnLastImageChanged());
1034 EXPECT_TRUE(client->notifyFinishedCalled()); 1051 EXPECT_TRUE(client->notifyFinishedCalled());
1052 EXPECT_EQ(1, client->imageNotifyFinishedCount());
1035 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnNotifyFinished()); 1053 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnNotifyFinished());
1036 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnImageNotifyFinished()); 1054 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnImageNotifyFinished());
1037 1055
1038 ASSERT_TRUE(image->hasImage()); 1056 ASSERT_TRUE(image->hasImage());
1039 EXPECT_EQ(1, image->getImage()->width()); 1057 EXPECT_EQ(1, image->getImage()->width());
1040 EXPECT_EQ(1, image->getImage()->height()); 1058 EXPECT_EQ(1, image->getImage()->height());
1041 EXPECT_TRUE(image->getImage()->isBitmapImage()); 1059 EXPECT_TRUE(image->getImage()->isBitmapImage());
1042 } 1060 }
1043 1061
1044 TEST(ImageResourceTest, FetchAllowPlaceholderThenDisallowPlaceholder) { 1062 TEST(ImageResourceTest, FetchAllowPlaceholderThenDisallowPlaceholder) {
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
1194 EXPECT_TRUE(client->notifyFinishedCalled()); 1212 EXPECT_TRUE(client->notifyFinishedCalled());
1195 EXPECT_TRUE(cachedImage->getImage()->isBitmapImage()); 1213 EXPECT_TRUE(cachedImage->getImage()->isBitmapImage());
1196 EXPECT_EQ(50, cachedImage->getImage()->width()); 1214 EXPECT_EQ(50, cachedImage->getImage()->width());
1197 EXPECT_EQ(50, cachedImage->getImage()->height()); 1215 EXPECT_EQ(50, cachedImage->getImage()->height());
1198 1216
1199 WTF::setTimeFunctionsForTesting(nullptr); 1217 WTF::setTimeFunctionsForTesting(nullptr);
1200 } 1218 }
1201 1219
1202 } // namespace 1220 } // namespace
1203 } // namespace blink 1221 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698