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

Side by Side Diff: third_party/WebKit/Source/core/fetch/ImageResourceTest.cpp

Issue 2510333002: Send encoded_body_length to renderer when response completed (2/3) (Closed)
Patch Set: rebase Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2013, Google Inc. All rights reserved. 2 * Copyright (c) 2013, Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
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
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
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
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
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
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
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
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/fetch/ImageResource.cpp ('k') | third_party/WebKit/Source/core/fetch/ResourceLoader.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698