| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2013, Google Inc. All rights reserved. | 2 * Copyright (c) 2013, Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 403 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |