| 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 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |