| 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 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 276 EXPECT_EQ(0, client2->imageChangedCount()); | 276 EXPECT_EQ(0, client2->imageChangedCount()); |
| 277 EXPECT_FALSE(client2->notifyFinishedCalled()); | 277 EXPECT_FALSE(client2->notifyFinishedCalled()); |
| 278 | 278 |
| 279 const char thirdPart[] = "--boundary"; | 279 const char thirdPart[] = "--boundary"; |
| 280 cachedImage->appendData(thirdPart, strlen(thirdPart)); | 280 cachedImage->appendData(thirdPart, strlen(thirdPart)); |
| 281 ASSERT_TRUE(cachedImage->resourceBuffer()); | 281 ASSERT_TRUE(cachedImage->resourceBuffer()); |
| 282 EXPECT_EQ(strlen(secondPart) - 1, cachedImage->resourceBuffer()->size()); | 282 EXPECT_EQ(strlen(secondPart) - 1, cachedImage->resourceBuffer()->size()); |
| 283 | 283 |
| 284 // This part finishes. The image is created, callbacks are sent, and the data | 284 // This part finishes. The image is created, callbacks are sent, and the data |
| 285 // buffer is cleared. | 285 // buffer is cleared. |
| 286 cachedImage->loader()->didFinishLoading(nullptr, 0.0, 0); | 286 cachedImage->loader()->didFinishLoading(nullptr, 0.0, 0, 0); |
| 287 EXPECT_TRUE(cachedImage->resourceBuffer()); | 287 EXPECT_TRUE(cachedImage->resourceBuffer()); |
| 288 EXPECT_FALSE(cachedImage->errorOccurred()); | 288 EXPECT_FALSE(cachedImage->errorOccurred()); |
| 289 ASSERT_TRUE(cachedImage->hasImage()); | 289 ASSERT_TRUE(cachedImage->hasImage()); |
| 290 EXPECT_FALSE(cachedImage->getImage()->isNull()); | 290 EXPECT_FALSE(cachedImage->getImage()->isNull()); |
| 291 EXPECT_EQ(1, cachedImage->getImage()->width()); | 291 EXPECT_EQ(1, cachedImage->getImage()->width()); |
| 292 EXPECT_EQ(1, cachedImage->getImage()->height()); | 292 EXPECT_EQ(1, cachedImage->getImage()->height()); |
| 293 EXPECT_EQ(1, client->imageChangedCount()); | 293 EXPECT_EQ(1, client->imageChangedCount()); |
| 294 EXPECT_TRUE(client->notifyFinishedCalled()); | 294 EXPECT_TRUE(client->notifyFinishedCalled()); |
| 295 EXPECT_EQ(1, client2->imageChangedCount()); | 295 EXPECT_EQ(1, client2->imageChangedCount()); |
| 296 EXPECT_TRUE(client2->notifyFinishedCalled()); | 296 EXPECT_TRUE(client2->notifyFinishedCalled()); |
| (...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 434 cachedImage->reloadIfLoFiOrPlaceholder(fetcher); | 434 cachedImage->reloadIfLoFiOrPlaceholder(fetcher); |
| 435 EXPECT_FALSE(cachedImage->errorOccurred()); | 435 EXPECT_FALSE(cachedImage->errorOccurred()); |
| 436 EXPECT_FALSE(cachedImage->resourceBuffer()); | 436 EXPECT_FALSE(cachedImage->resourceBuffer()); |
| 437 EXPECT_FALSE(cachedImage->hasImage()); | 437 EXPECT_FALSE(cachedImage->hasImage()); |
| 438 EXPECT_EQ(3, client->imageChangedCount()); | 438 EXPECT_EQ(3, client->imageChangedCount()); |
| 439 | 439 |
| 440 cachedImage->loader()->didReceiveResponse( | 440 cachedImage->loader()->didReceiveResponse( |
| 441 nullptr, WrappedResourceResponse(resourceResponse), nullptr); | 441 nullptr, WrappedResourceResponse(resourceResponse), nullptr); |
| 442 cachedImage->loader()->didReceiveData( | 442 cachedImage->loader()->didReceiveData( |
| 443 nullptr, reinterpret_cast<const char*>(kJpegImage2), sizeof(kJpegImage2), | 443 nullptr, reinterpret_cast<const char*>(kJpegImage2), sizeof(kJpegImage2), |
| 444 sizeof(kJpegImage2), sizeof(kJpegImage2)); | 444 sizeof(kJpegImage2)); |
| 445 cachedImage->loader()->didFinishLoading(nullptr, 0.0, sizeof(kJpegImage2)); | 445 cachedImage->loader()->didFinishLoading(nullptr, 0.0, sizeof(kJpegImage2), |
| 446 sizeof(kJpegImage2)); |
| 446 EXPECT_FALSE(cachedImage->errorOccurred()); | 447 EXPECT_FALSE(cachedImage->errorOccurred()); |
| 447 ASSERT_TRUE(cachedImage->hasImage()); | 448 ASSERT_TRUE(cachedImage->hasImage()); |
| 448 EXPECT_FALSE(cachedImage->getImage()->isNull()); | 449 EXPECT_FALSE(cachedImage->getImage()->isNull()); |
| 449 EXPECT_EQ(sizeof(kJpegImage2), client->encodedSizeOnLastImageChanged()); | 450 EXPECT_EQ(sizeof(kJpegImage2), client->encodedSizeOnLastImageChanged()); |
| 450 EXPECT_TRUE(client->notifyFinishedCalled()); | 451 EXPECT_TRUE(client->notifyFinishedCalled()); |
| 451 // The client should not have been notified of completion again. | 452 // The client should not have been notified of completion again. |
| 452 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnNotifyFinished()); | 453 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnNotifyFinished()); |
| 453 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnImageNotifyFinished()); | 454 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnImageNotifyFinished()); |
| 454 EXPECT_TRUE(cachedImage->getImage()->isBitmapImage()); | 455 EXPECT_TRUE(cachedImage->getImage()->isBitmapImage()); |
| 455 EXPECT_EQ(50, cachedImage->getImage()->width()); | 456 EXPECT_EQ(50, cachedImage->getImage()->width()); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 472 | 473 |
| 473 // Send the image response. | 474 // Send the image response. |
| 474 ResourceResponse initialResourceResponse( | 475 ResourceResponse initialResourceResponse( |
| 475 testURL, "image/jpeg", sizeof(kJpegImage), nullAtom, String()); | 476 testURL, "image/jpeg", sizeof(kJpegImage), nullAtom, String()); |
| 476 initialResourceResponse.addHTTPHeaderField("chrome-proxy", "q=low"); | 477 initialResourceResponse.addHTTPHeaderField("chrome-proxy", "q=low"); |
| 477 | 478 |
| 478 cachedImage->loader()->didReceiveResponse( | 479 cachedImage->loader()->didReceiveResponse( |
| 479 nullptr, WrappedResourceResponse(initialResourceResponse)); | 480 nullptr, WrappedResourceResponse(initialResourceResponse)); |
| 480 cachedImage->loader()->didReceiveData( | 481 cachedImage->loader()->didReceiveData( |
| 481 nullptr, reinterpret_cast<const char*>(kJpegImage), sizeof(kJpegImage), | 482 nullptr, reinterpret_cast<const char*>(kJpegImage), sizeof(kJpegImage), |
| 482 sizeof(kJpegImage), sizeof(kJpegImage)); | 483 sizeof(kJpegImage)); |
| 483 | 484 |
| 484 EXPECT_FALSE(cachedImage->errorOccurred()); | 485 EXPECT_FALSE(cachedImage->errorOccurred()); |
| 485 ASSERT_TRUE(cachedImage->hasImage()); | 486 ASSERT_TRUE(cachedImage->hasImage()); |
| 486 EXPECT_FALSE(cachedImage->getImage()->isNull()); | 487 EXPECT_FALSE(cachedImage->getImage()->isNull()); |
| 487 EXPECT_EQ(1, client->imageChangedCount()); | 488 EXPECT_EQ(1, client->imageChangedCount()); |
| 488 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnLastImageChanged()); | 489 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnLastImageChanged()); |
| 489 EXPECT_FALSE(client->notifyFinishedCalled()); | 490 EXPECT_FALSE(client->notifyFinishedCalled()); |
| 490 EXPECT_TRUE(cachedImage->getImage()->isBitmapImage()); | 491 EXPECT_TRUE(cachedImage->getImage()->isBitmapImage()); |
| 491 EXPECT_EQ(1, cachedImage->getImage()->width()); | 492 EXPECT_EQ(1, cachedImage->getImage()->width()); |
| 492 EXPECT_EQ(1, cachedImage->getImage()->height()); | 493 EXPECT_EQ(1, cachedImage->getImage()->height()); |
| 493 | 494 |
| 494 // Call reloadIfLoFiOrPlaceholder() while the image is still loading. | 495 // Call reloadIfLoFiOrPlaceholder() while the image is still loading. |
| 495 cachedImage->reloadIfLoFiOrPlaceholder(fetcher); | 496 cachedImage->reloadIfLoFiOrPlaceholder(fetcher); |
| 496 EXPECT_FALSE(cachedImage->errorOccurred()); | 497 EXPECT_FALSE(cachedImage->errorOccurred()); |
| 497 EXPECT_FALSE(cachedImage->resourceBuffer()); | 498 EXPECT_FALSE(cachedImage->resourceBuffer()); |
| 498 EXPECT_FALSE(cachedImage->hasImage()); | 499 EXPECT_FALSE(cachedImage->hasImage()); |
| 499 EXPECT_EQ(2, client->imageChangedCount()); | 500 EXPECT_EQ(2, client->imageChangedCount()); |
| 500 EXPECT_EQ(0U, client->encodedSizeOnLastImageChanged()); | 501 EXPECT_EQ(0U, client->encodedSizeOnLastImageChanged()); |
| 501 // The client should not have been notified of completion yet, since the image | 502 // The client should not have been notified of completion yet, since the image |
| 502 // is still loading. | 503 // is still loading. |
| 503 EXPECT_FALSE(client->notifyFinishedCalled()); | 504 EXPECT_FALSE(client->notifyFinishedCalled()); |
| 504 | 505 |
| 505 cachedImage->loader()->didReceiveResponse( | 506 cachedImage->loader()->didReceiveResponse( |
| 506 nullptr, | 507 nullptr, |
| 507 WrappedResourceResponse(ResourceResponse( | 508 WrappedResourceResponse(ResourceResponse( |
| 508 testURL, "image/jpeg", sizeof(kJpegImage2), nullAtom, String())), | 509 testURL, "image/jpeg", sizeof(kJpegImage2), nullAtom, String())), |
| 509 nullptr); | 510 nullptr); |
| 510 cachedImage->loader()->didReceiveData( | 511 cachedImage->loader()->didReceiveData( |
| 511 nullptr, reinterpret_cast<const char*>(kJpegImage2), sizeof(kJpegImage2), | 512 nullptr, reinterpret_cast<const char*>(kJpegImage2), sizeof(kJpegImage2), |
| 512 sizeof(kJpegImage2), sizeof(kJpegImage2)); | 513 sizeof(kJpegImage2)); |
| 513 cachedImage->loader()->didFinishLoading(nullptr, 0.0, sizeof(kJpegImage2)); | 514 cachedImage->loader()->didFinishLoading(nullptr, 0.0, sizeof(kJpegImage2), |
| 515 sizeof(kJpegImage2)); |
| 514 | 516 |
| 515 EXPECT_FALSE(cachedImage->errorOccurred()); | 517 EXPECT_FALSE(cachedImage->errorOccurred()); |
| 516 ASSERT_TRUE(cachedImage->hasImage()); | 518 ASSERT_TRUE(cachedImage->hasImage()); |
| 517 EXPECT_FALSE(cachedImage->getImage()->isNull()); | 519 EXPECT_FALSE(cachedImage->getImage()->isNull()); |
| 518 EXPECT_EQ(sizeof(kJpegImage2), client->encodedSizeOnLastImageChanged()); | 520 EXPECT_EQ(sizeof(kJpegImage2), client->encodedSizeOnLastImageChanged()); |
| 519 // The client should have been notified of completion only after the reload | 521 // The client should have been notified of completion only after the reload |
| 520 // completed. | 522 // completed. |
| 521 EXPECT_TRUE(client->notifyFinishedCalled()); | 523 EXPECT_TRUE(client->notifyFinishedCalled()); |
| 522 EXPECT_EQ(sizeof(kJpegImage2), client->encodedSizeOnNotifyFinished()); | 524 EXPECT_EQ(sizeof(kJpegImage2), client->encodedSizeOnNotifyFinished()); |
| 523 EXPECT_EQ(sizeof(kJpegImage2), client->encodedSizeOnImageNotifyFinished()); | 525 EXPECT_EQ(sizeof(kJpegImage2), client->encodedSizeOnImageNotifyFinished()); |
| (...skipping 22 matching lines...) Expand all Loading... |
| 546 String()); | 548 String()); |
| 547 response.setHTTPStatusCode(206); | 549 response.setHTTPStatusCode(206); |
| 548 response.setHTTPHeaderField( | 550 response.setHTTPHeaderField( |
| 549 "content-range", buildContentRange(kJpegImageSubrangeWithDimensionsLength, | 551 "content-range", buildContentRange(kJpegImageSubrangeWithDimensionsLength, |
| 550 sizeof(kJpegImage))); | 552 sizeof(kJpegImage))); |
| 551 image->loader()->didReceiveResponse(nullptr, | 553 image->loader()->didReceiveResponse(nullptr, |
| 552 WrappedResourceResponse(response)); | 554 WrappedResourceResponse(response)); |
| 553 image->loader()->didReceiveData(nullptr, | 555 image->loader()->didReceiveData(nullptr, |
| 554 reinterpret_cast<const char*>(kJpegImage), | 556 reinterpret_cast<const char*>(kJpegImage), |
| 555 kJpegImageSubrangeWithDimensionsLength, | 557 kJpegImageSubrangeWithDimensionsLength, |
| 556 kJpegImageSubrangeWithDimensionsLength, | |
| 557 kJpegImageSubrangeWithDimensionsLength); | 558 kJpegImageSubrangeWithDimensionsLength); |
| 558 image->loader()->didFinishLoading(nullptr, 0.0, | 559 image->loader()->didFinishLoading(nullptr, 0.0, |
| 560 kJpegImageSubrangeWithDimensionsLength, |
| 559 kJpegImageSubrangeWithDimensionsLength); | 561 kJpegImageSubrangeWithDimensionsLength); |
| 560 | 562 |
| 561 EXPECT_EQ(Resource::Cached, image->getStatus()); | 563 EXPECT_EQ(Resource::Cached, image->getStatus()); |
| 562 EXPECT_TRUE(image->isPlaceholder()); | 564 EXPECT_TRUE(image->isPlaceholder()); |
| 563 | 565 |
| 564 image->reloadIfLoFiOrPlaceholder(fetcher); | 566 image->reloadIfLoFiOrPlaceholder(fetcher); |
| 565 | 567 |
| 566 EXPECT_EQ(Resource::Pending, image->getStatus()); | 568 EXPECT_EQ(Resource::Pending, image->getStatus()); |
| 567 EXPECT_FALSE(image->isPlaceholder()); | 569 EXPECT_FALSE(image->isPlaceholder()); |
| 568 EXPECT_EQ(nullAtom, image->resourceRequest().httpHeaderField("range")); | 570 EXPECT_EQ(nullAtom, image->resourceRequest().httpHeaderField("range")); |
| (...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 837 | 839 |
| 838 ResourceFetcher* fetcher = | 840 ResourceFetcher* fetcher = |
| 839 ResourceFetcher::create(ImageResourceTestMockFetchContext::create()); | 841 ResourceFetcher::create(ImageResourceTestMockFetchContext::create()); |
| 840 FetchRequest request(testURL, FetchInitiatorInfo()); | 842 FetchRequest request(testURL, FetchInitiatorInfo()); |
| 841 ImageResource* cachedImage = ImageResource::fetch(request, fetcher); | 843 ImageResource* cachedImage = ImageResource::fetch(request, fetcher); |
| 842 | 844 |
| 843 cachedImage->loader()->didReceiveResponse( | 845 cachedImage->loader()->didReceiveResponse( |
| 844 nullptr, WrappedResourceResponse(ResourceResponse( | 846 nullptr, WrappedResourceResponse(ResourceResponse( |
| 845 testURL, "image/jpeg", 18, nullAtom, String())), | 847 testURL, "image/jpeg", 18, nullAtom, String())), |
| 846 nullptr); | 848 nullptr); |
| 847 cachedImage->loader()->didReceiveData(nullptr, "notactuallyanimage", 18, 18, | 849 cachedImage->loader()->didReceiveData(nullptr, "notactuallyanimage", 18, 18); |
| 848 18); | |
| 849 EXPECT_EQ(Resource::DecodeError, cachedImage->getStatus()); | 850 EXPECT_EQ(Resource::DecodeError, cachedImage->getStatus()); |
| 850 EXPECT_FALSE(cachedImage->isLoading()); | 851 EXPECT_FALSE(cachedImage->isLoading()); |
| 851 } | 852 } |
| 852 | 853 |
| 853 TEST(ImageResourceTest, FetchDisallowPlaceholder) { | 854 TEST(ImageResourceTest, FetchDisallowPlaceholder) { |
| 854 KURL testURL(ParsedURLString, "http://www.test.com/cancelTest.html"); | 855 KURL testURL(ParsedURLString, "http://www.test.com/cancelTest.html"); |
| 855 ScopedRegisteredURL scopedRegisteredURL(testURL); | 856 ScopedRegisteredURL scopedRegisteredURL(testURL); |
| 856 | 857 |
| 857 FetchRequest request(testURL, FetchInitiatorInfo()); | 858 FetchRequest request(testURL, FetchInitiatorInfo()); |
| 858 ImageResource* image = ImageResource::fetch( | 859 ImageResource* image = ImageResource::fetch( |
| 859 request, | 860 request, |
| 860 ResourceFetcher::create(ImageResourceTestMockFetchContext::create())); | 861 ResourceFetcher::create(ImageResourceTestMockFetchContext::create())); |
| 861 EXPECT_EQ(FetchRequest::DisallowPlaceholder, | 862 EXPECT_EQ(FetchRequest::DisallowPlaceholder, |
| 862 request.placeholderImageRequestType()); | 863 request.placeholderImageRequestType()); |
| 863 EXPECT_EQ(nullAtom, image->resourceRequest().httpHeaderField("range")); | 864 EXPECT_EQ(nullAtom, image->resourceRequest().httpHeaderField("range")); |
| 864 EXPECT_FALSE(image->isPlaceholder()); | 865 EXPECT_FALSE(image->isPlaceholder()); |
| 865 Persistent<MockImageResourceClient> client = | 866 Persistent<MockImageResourceClient> client = |
| 866 new MockImageResourceClient(image); | 867 new MockImageResourceClient(image); |
| 867 | 868 |
| 868 image->loader()->didReceiveResponse( | 869 image->loader()->didReceiveResponse( |
| 869 nullptr, | 870 nullptr, |
| 870 WrappedResourceResponse(ResourceResponse( | 871 WrappedResourceResponse(ResourceResponse( |
| 871 testURL, "image/jpeg", sizeof(kJpegImage), nullAtom, String()))); | 872 testURL, "image/jpeg", sizeof(kJpegImage), nullAtom, String()))); |
| 872 image->loader()->didReceiveData( | 873 image->loader()->didReceiveData(nullptr, |
| 873 nullptr, reinterpret_cast<const char*>(kJpegImage), sizeof(kJpegImage), | 874 reinterpret_cast<const char*>(kJpegImage), |
| 874 sizeof(kJpegImage), sizeof(kJpegImage)); | 875 sizeof(kJpegImage), sizeof(kJpegImage)); |
| 875 image->loader()->didFinishLoading(nullptr, 0.0, sizeof(kJpegImage)); | 876 image->loader()->didFinishLoading(nullptr, 0.0, sizeof(kJpegImage), |
| 877 sizeof(kJpegImage)); |
| 876 | 878 |
| 877 EXPECT_EQ(Resource::Cached, image->getStatus()); | 879 EXPECT_EQ(Resource::Cached, image->getStatus()); |
| 878 EXPECT_EQ(sizeof(kJpegImage), image->encodedSize()); | 880 EXPECT_EQ(sizeof(kJpegImage), image->encodedSize()); |
| 879 EXPECT_FALSE(image->isPlaceholder()); | 881 EXPECT_FALSE(image->isPlaceholder()); |
| 880 EXPECT_LT(0, client->imageChangedCount()); | 882 EXPECT_LT(0, client->imageChangedCount()); |
| 881 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnLastImageChanged()); | 883 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnLastImageChanged()); |
| 882 EXPECT_TRUE(client->notifyFinishedCalled()); | 884 EXPECT_TRUE(client->notifyFinishedCalled()); |
| 883 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnNotifyFinished()); | 885 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnNotifyFinished()); |
| 884 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnImageNotifyFinished()); | 886 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnImageNotifyFinished()); |
| 885 | 887 |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 962 String()); | 964 String()); |
| 963 response.setHTTPStatusCode(206); | 965 response.setHTTPStatusCode(206); |
| 964 response.setHTTPHeaderField( | 966 response.setHTTPHeaderField( |
| 965 "content-range", buildContentRange(kJpegImageSubrangeWithDimensionsLength, | 967 "content-range", buildContentRange(kJpegImageSubrangeWithDimensionsLength, |
| 966 sizeof(kJpegImage))); | 968 sizeof(kJpegImage))); |
| 967 image->loader()->didReceiveResponse(nullptr, | 969 image->loader()->didReceiveResponse(nullptr, |
| 968 WrappedResourceResponse(response)); | 970 WrappedResourceResponse(response)); |
| 969 image->loader()->didReceiveData(nullptr, | 971 image->loader()->didReceiveData(nullptr, |
| 970 reinterpret_cast<const char*>(kJpegImage), | 972 reinterpret_cast<const char*>(kJpegImage), |
| 971 kJpegImageSubrangeWithDimensionsLength, | 973 kJpegImageSubrangeWithDimensionsLength, |
| 972 kJpegImageSubrangeWithDimensionsLength, | |
| 973 kJpegImageSubrangeWithDimensionsLength); | 974 kJpegImageSubrangeWithDimensionsLength); |
| 974 image->loader()->didFinishLoading(nullptr, 0.0, | 975 image->loader()->didFinishLoading(nullptr, 0.0, |
| 976 kJpegImageSubrangeWithDimensionsLength, |
| 975 kJpegImageSubrangeWithDimensionsLength); | 977 kJpegImageSubrangeWithDimensionsLength); |
| 976 | 978 |
| 977 EXPECT_EQ(Resource::Cached, image->getStatus()); | 979 EXPECT_EQ(Resource::Cached, image->getStatus()); |
| 978 EXPECT_EQ(kJpegImageSubrangeWithDimensionsLength, image->encodedSize()); | 980 EXPECT_EQ(kJpegImageSubrangeWithDimensionsLength, image->encodedSize()); |
| 979 EXPECT_TRUE(image->isPlaceholder()); | 981 EXPECT_TRUE(image->isPlaceholder()); |
| 980 EXPECT_LT(0, client->imageChangedCount()); | 982 EXPECT_LT(0, client->imageChangedCount()); |
| 981 EXPECT_EQ(kJpegImageSubrangeWithDimensionsLength, | 983 EXPECT_EQ(kJpegImageSubrangeWithDimensionsLength, |
| 982 client->encodedSizeOnLastImageChanged()); | 984 client->encodedSizeOnLastImageChanged()); |
| 983 EXPECT_TRUE(client->notifyFinishedCalled()); | 985 EXPECT_TRUE(client->notifyFinishedCalled()); |
| 984 EXPECT_EQ(kJpegImageSubrangeWithDimensionsLength, | 986 EXPECT_EQ(kJpegImageSubrangeWithDimensionsLength, |
| (...skipping 24 matching lines...) Expand all Loading... |
| 1009 Persistent<MockImageResourceClient> client = | 1011 Persistent<MockImageResourceClient> client = |
| 1010 new MockImageResourceClient(image); | 1012 new MockImageResourceClient(image); |
| 1011 | 1013 |
| 1012 const char kBadData[] = "notanimageresponse"; | 1014 const char kBadData[] = "notanimageresponse"; |
| 1013 | 1015 |
| 1014 image->loader()->didReceiveResponse( | 1016 image->loader()->didReceiveResponse( |
| 1015 nullptr, | 1017 nullptr, |
| 1016 WrappedResourceResponse(ResourceResponse( | 1018 WrappedResourceResponse(ResourceResponse( |
| 1017 testURL, "image/jpeg", sizeof(kBadData), nullAtom, String()))); | 1019 testURL, "image/jpeg", sizeof(kBadData), nullAtom, String()))); |
| 1018 image->loader()->didReceiveData(nullptr, kBadData, sizeof(kBadData), | 1020 image->loader()->didReceiveData(nullptr, kBadData, sizeof(kBadData), |
| 1019 sizeof(kBadData), sizeof(kBadData)); | 1021 sizeof(kBadData)); |
| 1020 | 1022 |
| 1021 // The dimensions could not be extracted, so the full original image should be | 1023 // The dimensions could not be extracted, so the full original image should be |
| 1022 // loading. | 1024 // loading. |
| 1023 EXPECT_EQ(Resource::Pending, image->getStatus()); | 1025 EXPECT_EQ(Resource::Pending, image->getStatus()); |
| 1024 EXPECT_FALSE(image->isPlaceholder()); | 1026 EXPECT_FALSE(image->isPlaceholder()); |
| 1025 EXPECT_EQ(nullAtom, image->resourceRequest().httpHeaderField("range")); | 1027 EXPECT_EQ(nullAtom, image->resourceRequest().httpHeaderField("range")); |
| 1026 EXPECT_EQ(static_cast<int>(WebCachePolicy::BypassingCache), | 1028 EXPECT_EQ(static_cast<int>(WebCachePolicy::BypassingCache), |
| 1027 static_cast<int>(image->resourceRequest().getCachePolicy())); | 1029 static_cast<int>(image->resourceRequest().getCachePolicy())); |
| 1028 EXPECT_FALSE(client->notifyFinishedCalled()); | 1030 EXPECT_FALSE(client->notifyFinishedCalled()); |
| 1029 | 1031 |
| 1030 image->loader()->didReceiveResponse( | 1032 image->loader()->didReceiveResponse( |
| 1031 nullptr, | 1033 nullptr, |
| 1032 WrappedResourceResponse(ResourceResponse( | 1034 WrappedResourceResponse(ResourceResponse( |
| 1033 testURL, "image/jpeg", sizeof(kJpegImage), nullAtom, String()))); | 1035 testURL, "image/jpeg", sizeof(kJpegImage), nullAtom, String()))); |
| 1034 image->loader()->didReceiveData( | 1036 image->loader()->didReceiveData(nullptr, |
| 1035 nullptr, reinterpret_cast<const char*>(kJpegImage), sizeof(kJpegImage), | 1037 reinterpret_cast<const char*>(kJpegImage), |
| 1036 sizeof(kJpegImage), sizeof(kJpegImage)); | 1038 sizeof(kJpegImage), sizeof(kJpegImage)); |
| 1037 image->loader()->didFinishLoading(nullptr, 0.0, sizeof(kJpegImage)); | 1039 image->loader()->didFinishLoading(nullptr, 0.0, sizeof(kJpegImage), |
| 1040 sizeof(kJpegImage)); |
| 1038 | 1041 |
| 1039 EXPECT_EQ(Resource::Cached, image->getStatus()); | 1042 EXPECT_EQ(Resource::Cached, image->getStatus()); |
| 1040 EXPECT_EQ(sizeof(kJpegImage), image->encodedSize()); | 1043 EXPECT_EQ(sizeof(kJpegImage), image->encodedSize()); |
| 1041 EXPECT_FALSE(image->isPlaceholder()); | 1044 EXPECT_FALSE(image->isPlaceholder()); |
| 1042 EXPECT_LT(0, client->imageChangedCount()); | 1045 EXPECT_LT(0, client->imageChangedCount()); |
| 1043 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnLastImageChanged()); | 1046 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnLastImageChanged()); |
| 1044 EXPECT_TRUE(client->notifyFinishedCalled()); | 1047 EXPECT_TRUE(client->notifyFinishedCalled()); |
| 1045 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnNotifyFinished()); | 1048 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnNotifyFinished()); |
| 1046 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnImageNotifyFinished()); | 1049 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnImageNotifyFinished()); |
| 1047 | 1050 |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1095 String()); | 1098 String()); |
| 1096 response.setHTTPStatusCode(206); | 1099 response.setHTTPStatusCode(206); |
| 1097 response.setHTTPHeaderField( | 1100 response.setHTTPHeaderField( |
| 1098 "content-range", buildContentRange(kJpegImageSubrangeWithDimensionsLength, | 1101 "content-range", buildContentRange(kJpegImageSubrangeWithDimensionsLength, |
| 1099 sizeof(kJpegImage))); | 1102 sizeof(kJpegImage))); |
| 1100 image->loader()->didReceiveResponse(nullptr, | 1103 image->loader()->didReceiveResponse(nullptr, |
| 1101 WrappedResourceResponse(response)); | 1104 WrappedResourceResponse(response)); |
| 1102 image->loader()->didReceiveData(nullptr, | 1105 image->loader()->didReceiveData(nullptr, |
| 1103 reinterpret_cast<const char*>(kJpegImage), | 1106 reinterpret_cast<const char*>(kJpegImage), |
| 1104 kJpegImageSubrangeWithDimensionsLength, | 1107 kJpegImageSubrangeWithDimensionsLength, |
| 1105 kJpegImageSubrangeWithDimensionsLength, | |
| 1106 kJpegImageSubrangeWithDimensionsLength); | 1108 kJpegImageSubrangeWithDimensionsLength); |
| 1107 image->loader()->didFinishLoading(nullptr, 0.0, | 1109 image->loader()->didFinishLoading(nullptr, 0.0, |
| 1110 kJpegImageSubrangeWithDimensionsLength, |
| 1108 kJpegImageSubrangeWithDimensionsLength); | 1111 kJpegImageSubrangeWithDimensionsLength); |
| 1109 | 1112 |
| 1110 EXPECT_EQ(Resource::Cached, image->getStatus()); | 1113 EXPECT_EQ(Resource::Cached, image->getStatus()); |
| 1111 EXPECT_EQ(kJpegImageSubrangeWithDimensionsLength, image->encodedSize()); | 1114 EXPECT_EQ(kJpegImageSubrangeWithDimensionsLength, image->encodedSize()); |
| 1112 EXPECT_TRUE(image->isPlaceholder()); | 1115 EXPECT_TRUE(image->isPlaceholder()); |
| 1113 EXPECT_LT(0, client->imageChangedCount()); | 1116 EXPECT_LT(0, client->imageChangedCount()); |
| 1114 EXPECT_TRUE(client->notifyFinishedCalled()); | 1117 EXPECT_TRUE(client->notifyFinishedCalled()); |
| 1115 | 1118 |
| 1116 FetchRequest nonPlaceholderRequest(testURL, FetchInitiatorInfo()); | 1119 FetchRequest nonPlaceholderRequest(testURL, FetchInitiatorInfo()); |
| 1117 ImageResource* secondImage = | 1120 ImageResource* secondImage = |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1207 EXPECT_TRUE(client->notifyFinishedCalled()); | 1210 EXPECT_TRUE(client->notifyFinishedCalled()); |
| 1208 EXPECT_TRUE(cachedImage->getImage()->isBitmapImage()); | 1211 EXPECT_TRUE(cachedImage->getImage()->isBitmapImage()); |
| 1209 EXPECT_EQ(50, cachedImage->getImage()->width()); | 1212 EXPECT_EQ(50, cachedImage->getImage()->width()); |
| 1210 EXPECT_EQ(50, cachedImage->getImage()->height()); | 1213 EXPECT_EQ(50, cachedImage->getImage()->height()); |
| 1211 | 1214 |
| 1212 WTF::setTimeFunctionsForTesting(nullptr); | 1215 WTF::setTimeFunctionsForTesting(nullptr); |
| 1213 } | 1216 } |
| 1214 | 1217 |
| 1215 } // namespace | 1218 } // namespace |
| 1216 } // namespace blink | 1219 } // namespace blink |
| OLD | NEW |