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 |