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

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

Issue 2537753002: Remove WebURLLoader* argument from WebURLLoaderClient methods (Closed)
Patch Set: a 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 221 matching lines...) Expand 10 before | Expand all | Expand 10 after
232 new MockImageResourceClient(cachedImage); 232 new MockImageResourceClient(cachedImage);
233 EXPECT_EQ(Resource::Pending, cachedImage->getStatus()); 233 EXPECT_EQ(Resource::Pending, cachedImage->getStatus());
234 234
235 // Send the multipart response. No image or data buffer is created. Note that 235 // Send the multipart response. No image or data buffer is created. Note that
236 // the response must be routed through ResourceLoader to ensure the load is 236 // the response must be routed through ResourceLoader to ensure the load is
237 // flagged as multipart. 237 // flagged as multipart.
238 ResourceResponse multipartResponse(KURL(), "multipart/x-mixed-replace", 0, 238 ResourceResponse multipartResponse(KURL(), "multipart/x-mixed-replace", 0,
239 nullAtom, String()); 239 nullAtom, String());
240 multipartResponse.setMultipartBoundary("boundary", strlen("boundary")); 240 multipartResponse.setMultipartBoundary("boundary", strlen("boundary"));
241 cachedImage->loader()->didReceiveResponse( 241 cachedImage->loader()->didReceiveResponse(
242 nullptr, WrappedResourceResponse(multipartResponse), nullptr); 242 WrappedResourceResponse(multipartResponse), nullptr);
243 EXPECT_FALSE(cachedImage->resourceBuffer()); 243 EXPECT_FALSE(cachedImage->resourceBuffer());
244 EXPECT_FALSE(cachedImage->hasImage()); 244 EXPECT_FALSE(cachedImage->hasImage());
245 EXPECT_EQ(0, client->imageChangedCount()); 245 EXPECT_EQ(0, client->imageChangedCount());
246 EXPECT_FALSE(client->notifyFinishedCalled()); 246 EXPECT_FALSE(client->notifyFinishedCalled());
247 EXPECT_EQ("multipart/x-mixed-replace", cachedImage->response().mimeType()); 247 EXPECT_EQ("multipart/x-mixed-replace", cachedImage->response().mimeType());
248 248
249 const char firstPart[] = 249 const char firstPart[] =
250 "--boundary\n" 250 "--boundary\n"
251 "Content-Type: image/svg+xml\n\n"; 251 "Content-Type: image/svg+xml\n\n";
252 cachedImage->appendData(firstPart, strlen(firstPart)); 252 cachedImage->appendData(firstPart, strlen(firstPart));
(...skipping 23 matching lines...) Expand all
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, 0); 286 cachedImage->loader()->didFinishLoading(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 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
431 EXPECT_EQ(1, cachedImage->getImage()->height()); 431 EXPECT_EQ(1, cachedImage->getImage()->height());
432 432
433 // Call reloadIfLoFiOrPlaceholder() after the image has finished loading. 433 // Call reloadIfLoFiOrPlaceholder() after the image has finished 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 WrappedResourceResponse(resourceResponse), nullptr);
442 cachedImage->loader()->didReceiveData( 442 cachedImage->loader()->didReceiveData(
443 nullptr, reinterpret_cast<const char*>(kJpegImage2), sizeof(kJpegImage2), 443 reinterpret_cast<const char*>(kJpegImage2), sizeof(kJpegImage2),
444 sizeof(kJpegImage2)); 444 sizeof(kJpegImage2));
445 cachedImage->loader()->didFinishLoading(nullptr, 0.0, sizeof(kJpegImage2), 445 cachedImage->loader()->didFinishLoading(0.0, sizeof(kJpegImage2),
446 sizeof(kJpegImage2)); 446 sizeof(kJpegImage2));
447 EXPECT_FALSE(cachedImage->errorOccurred()); 447 EXPECT_FALSE(cachedImage->errorOccurred());
448 ASSERT_TRUE(cachedImage->hasImage()); 448 ASSERT_TRUE(cachedImage->hasImage());
449 EXPECT_FALSE(cachedImage->getImage()->isNull()); 449 EXPECT_FALSE(cachedImage->getImage()->isNull());
450 EXPECT_EQ(sizeof(kJpegImage2), client->encodedSizeOnLastImageChanged()); 450 EXPECT_EQ(sizeof(kJpegImage2), client->encodedSizeOnLastImageChanged());
451 EXPECT_TRUE(client->notifyFinishedCalled()); 451 EXPECT_TRUE(client->notifyFinishedCalled());
452 // The client should not have been notified of completion again. 452 // The client should not have been notified of completion again.
453 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnNotifyFinished()); 453 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnNotifyFinished());
454 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnImageNotifyFinished()); 454 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnImageNotifyFinished());
455 EXPECT_TRUE(cachedImage->getImage()->isBitmapImage()); 455 EXPECT_TRUE(cachedImage->getImage()->isBitmapImage());
(...skipping 14 matching lines...) Expand all
470 ImageResource* cachedImage = ImageResource::fetch(fetchRequest, fetcher); 470 ImageResource* cachedImage = ImageResource::fetch(fetchRequest, fetcher);
471 Persistent<MockImageResourceClient> client = 471 Persistent<MockImageResourceClient> client =
472 new MockImageResourceClient(cachedImage); 472 new MockImageResourceClient(cachedImage);
473 473
474 // Send the image response. 474 // Send the image response.
475 ResourceResponse initialResourceResponse( 475 ResourceResponse initialResourceResponse(
476 testURL, "image/jpeg", sizeof(kJpegImage), nullAtom, String()); 476 testURL, "image/jpeg", sizeof(kJpegImage), nullAtom, String());
477 initialResourceResponse.addHTTPHeaderField("chrome-proxy", "q=low"); 477 initialResourceResponse.addHTTPHeaderField("chrome-proxy", "q=low");
478 478
479 cachedImage->loader()->didReceiveResponse( 479 cachedImage->loader()->didReceiveResponse(
480 nullptr, WrappedResourceResponse(initialResourceResponse)); 480 WrappedResourceResponse(initialResourceResponse));
481 cachedImage->loader()->didReceiveData( 481 cachedImage->loader()->didReceiveData(
482 nullptr, reinterpret_cast<const char*>(kJpegImage), sizeof(kJpegImage), 482 reinterpret_cast<const char*>(kJpegImage), sizeof(kJpegImage),
483 sizeof(kJpegImage)); 483 sizeof(kJpegImage));
484 484
485 EXPECT_FALSE(cachedImage->errorOccurred()); 485 EXPECT_FALSE(cachedImage->errorOccurred());
486 ASSERT_TRUE(cachedImage->hasImage()); 486 ASSERT_TRUE(cachedImage->hasImage());
487 EXPECT_FALSE(cachedImage->getImage()->isNull()); 487 EXPECT_FALSE(cachedImage->getImage()->isNull());
488 EXPECT_EQ(1, client->imageChangedCount()); 488 EXPECT_EQ(1, client->imageChangedCount());
489 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnLastImageChanged()); 489 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnLastImageChanged());
490 EXPECT_FALSE(client->notifyFinishedCalled()); 490 EXPECT_FALSE(client->notifyFinishedCalled());
491 EXPECT_TRUE(cachedImage->getImage()->isBitmapImage()); 491 EXPECT_TRUE(cachedImage->getImage()->isBitmapImage());
492 EXPECT_EQ(1, cachedImage->getImage()->width()); 492 EXPECT_EQ(1, cachedImage->getImage()->width());
493 EXPECT_EQ(1, cachedImage->getImage()->height()); 493 EXPECT_EQ(1, cachedImage->getImage()->height());
494 494
495 // Call reloadIfLoFiOrPlaceholder() while the image is still loading. 495 // Call reloadIfLoFiOrPlaceholder() while the image is still loading.
496 cachedImage->reloadIfLoFiOrPlaceholder(fetcher); 496 cachedImage->reloadIfLoFiOrPlaceholder(fetcher);
497 EXPECT_FALSE(cachedImage->errorOccurred()); 497 EXPECT_FALSE(cachedImage->errorOccurred());
498 EXPECT_FALSE(cachedImage->resourceBuffer()); 498 EXPECT_FALSE(cachedImage->resourceBuffer());
499 EXPECT_FALSE(cachedImage->hasImage()); 499 EXPECT_FALSE(cachedImage->hasImage());
500 EXPECT_EQ(2, client->imageChangedCount()); 500 EXPECT_EQ(2, client->imageChangedCount());
501 EXPECT_EQ(0U, client->encodedSizeOnLastImageChanged()); 501 EXPECT_EQ(0U, client->encodedSizeOnLastImageChanged());
502 // 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
503 // is still loading. 503 // is still loading.
504 EXPECT_FALSE(client->notifyFinishedCalled()); 504 EXPECT_FALSE(client->notifyFinishedCalled());
505 505
506 cachedImage->loader()->didReceiveResponse( 506 cachedImage->loader()->didReceiveResponse(
507 nullptr,
508 WrappedResourceResponse(ResourceResponse( 507 WrappedResourceResponse(ResourceResponse(
509 testURL, "image/jpeg", sizeof(kJpegImage2), nullAtom, String())), 508 testURL, "image/jpeg", sizeof(kJpegImage2), nullAtom, String())),
510 nullptr); 509 nullptr);
511 cachedImage->loader()->didReceiveData( 510 cachedImage->loader()->didReceiveData(
512 nullptr, reinterpret_cast<const char*>(kJpegImage2), sizeof(kJpegImage2), 511 reinterpret_cast<const char*>(kJpegImage2), sizeof(kJpegImage2),
513 sizeof(kJpegImage2)); 512 sizeof(kJpegImage2));
514 cachedImage->loader()->didFinishLoading(nullptr, 0.0, sizeof(kJpegImage2), 513 cachedImage->loader()->didFinishLoading(0.0, sizeof(kJpegImage2),
515 sizeof(kJpegImage2)); 514 sizeof(kJpegImage2));
516 515
517 EXPECT_FALSE(cachedImage->errorOccurred()); 516 EXPECT_FALSE(cachedImage->errorOccurred());
518 ASSERT_TRUE(cachedImage->hasImage()); 517 ASSERT_TRUE(cachedImage->hasImage());
519 EXPECT_FALSE(cachedImage->getImage()->isNull()); 518 EXPECT_FALSE(cachedImage->getImage()->isNull());
520 EXPECT_EQ(sizeof(kJpegImage2), client->encodedSizeOnLastImageChanged()); 519 EXPECT_EQ(sizeof(kJpegImage2), client->encodedSizeOnLastImageChanged());
521 // The client should have been notified of completion only after the reload 520 // The client should have been notified of completion only after the reload
522 // completed. 521 // completed.
523 EXPECT_TRUE(client->notifyFinishedCalled()); 522 EXPECT_TRUE(client->notifyFinishedCalled());
524 EXPECT_EQ(sizeof(kJpegImage2), client->encodedSizeOnNotifyFinished()); 523 EXPECT_EQ(sizeof(kJpegImage2), client->encodedSizeOnNotifyFinished());
(...skipping 18 matching lines...) Expand all
543 Persistent<MockImageResourceClient> client = 542 Persistent<MockImageResourceClient> client =
544 new MockImageResourceClient(image); 543 new MockImageResourceClient(image);
545 544
546 ResourceResponse response(testURL, "image/jpeg", 545 ResourceResponse response(testURL, "image/jpeg",
547 kJpegImageSubrangeWithDimensionsLength, nullAtom, 546 kJpegImageSubrangeWithDimensionsLength, nullAtom,
548 String()); 547 String());
549 response.setHTTPStatusCode(206); 548 response.setHTTPStatusCode(206);
550 response.setHTTPHeaderField( 549 response.setHTTPHeaderField(
551 "content-range", buildContentRange(kJpegImageSubrangeWithDimensionsLength, 550 "content-range", buildContentRange(kJpegImageSubrangeWithDimensionsLength,
552 sizeof(kJpegImage))); 551 sizeof(kJpegImage)));
553 image->loader()->didReceiveResponse(nullptr, 552 image->loader()->didReceiveResponse(WrappedResourceResponse(response));
554 WrappedResourceResponse(response)); 553 image->loader()->didReceiveData(reinterpret_cast<const char*>(kJpegImage),
555 image->loader()->didReceiveData(nullptr,
556 reinterpret_cast<const char*>(kJpegImage),
557 kJpegImageSubrangeWithDimensionsLength, 554 kJpegImageSubrangeWithDimensionsLength,
558 kJpegImageSubrangeWithDimensionsLength); 555 kJpegImageSubrangeWithDimensionsLength);
559 image->loader()->didFinishLoading(nullptr, 0.0, 556 image->loader()->didFinishLoading(0.0, kJpegImageSubrangeWithDimensionsLength,
560 kJpegImageSubrangeWithDimensionsLength,
561 kJpegImageSubrangeWithDimensionsLength); 557 kJpegImageSubrangeWithDimensionsLength);
562 558
563 EXPECT_EQ(Resource::Cached, image->getStatus()); 559 EXPECT_EQ(Resource::Cached, image->getStatus());
564 EXPECT_TRUE(image->isPlaceholder()); 560 EXPECT_TRUE(image->isPlaceholder());
565 561
566 image->reloadIfLoFiOrPlaceholder(fetcher); 562 image->reloadIfLoFiOrPlaceholder(fetcher);
567 563
568 EXPECT_EQ(Resource::Pending, image->getStatus()); 564 EXPECT_EQ(Resource::Pending, image->getStatus());
569 EXPECT_FALSE(image->isPlaceholder()); 565 EXPECT_FALSE(image->isPlaceholder());
570 EXPECT_EQ(nullAtom, image->resourceRequest().httpHeaderField("range")); 566 EXPECT_EQ(nullAtom, image->resourceRequest().httpHeaderField("range"));
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after
836 TEST(ImageResourceTest, CancelOnDecodeError) { 832 TEST(ImageResourceTest, CancelOnDecodeError) {
837 KURL testURL(ParsedURLString, "http://www.test.com/cancelTest.html"); 833 KURL testURL(ParsedURLString, "http://www.test.com/cancelTest.html");
838 ScopedRegisteredURL scopedRegisteredURL(testURL); 834 ScopedRegisteredURL scopedRegisteredURL(testURL);
839 835
840 ResourceFetcher* fetcher = 836 ResourceFetcher* fetcher =
841 ResourceFetcher::create(ImageResourceTestMockFetchContext::create()); 837 ResourceFetcher::create(ImageResourceTestMockFetchContext::create());
842 FetchRequest request(testURL, FetchInitiatorInfo()); 838 FetchRequest request(testURL, FetchInitiatorInfo());
843 ImageResource* cachedImage = ImageResource::fetch(request, fetcher); 839 ImageResource* cachedImage = ImageResource::fetch(request, fetcher);
844 840
845 cachedImage->loader()->didReceiveResponse( 841 cachedImage->loader()->didReceiveResponse(
846 nullptr, WrappedResourceResponse(ResourceResponse( 842 WrappedResourceResponse(
847 testURL, "image/jpeg", 18, nullAtom, String())), 843 ResourceResponse(testURL, "image/jpeg", 18, nullAtom, String())),
848 nullptr); 844 nullptr);
849 cachedImage->loader()->didReceiveData(nullptr, "notactuallyanimage", 18, 18); 845 cachedImage->loader()->didReceiveData("notactuallyanimage", 18, 18);
850 EXPECT_EQ(Resource::DecodeError, cachedImage->getStatus()); 846 EXPECT_EQ(Resource::DecodeError, cachedImage->getStatus());
851 EXPECT_FALSE(cachedImage->isLoading()); 847 EXPECT_FALSE(cachedImage->isLoading());
852 } 848 }
853 849
854 TEST(ImageResourceTest, FetchDisallowPlaceholder) { 850 TEST(ImageResourceTest, FetchDisallowPlaceholder) {
855 KURL testURL(ParsedURLString, "http://www.test.com/cancelTest.html"); 851 KURL testURL(ParsedURLString, "http://www.test.com/cancelTest.html");
856 ScopedRegisteredURL scopedRegisteredURL(testURL); 852 ScopedRegisteredURL scopedRegisteredURL(testURL);
857 853
858 FetchRequest request(testURL, FetchInitiatorInfo()); 854 FetchRequest request(testURL, FetchInitiatorInfo());
859 ImageResource* image = ImageResource::fetch( 855 ImageResource* image = ImageResource::fetch(
860 request, 856 request,
861 ResourceFetcher::create(ImageResourceTestMockFetchContext::create())); 857 ResourceFetcher::create(ImageResourceTestMockFetchContext::create()));
862 EXPECT_EQ(FetchRequest::DisallowPlaceholder, 858 EXPECT_EQ(FetchRequest::DisallowPlaceholder,
863 request.placeholderImageRequestType()); 859 request.placeholderImageRequestType());
864 EXPECT_EQ(nullAtom, image->resourceRequest().httpHeaderField("range")); 860 EXPECT_EQ(nullAtom, image->resourceRequest().httpHeaderField("range"));
865 EXPECT_FALSE(image->isPlaceholder()); 861 EXPECT_FALSE(image->isPlaceholder());
866 Persistent<MockImageResourceClient> client = 862 Persistent<MockImageResourceClient> client =
867 new MockImageResourceClient(image); 863 new MockImageResourceClient(image);
868 864
869 image->loader()->didReceiveResponse( 865 image->loader()->didReceiveResponse(
870 nullptr,
871 WrappedResourceResponse(ResourceResponse( 866 WrappedResourceResponse(ResourceResponse(
872 testURL, "image/jpeg", sizeof(kJpegImage), nullAtom, String()))); 867 testURL, "image/jpeg", sizeof(kJpegImage), nullAtom, String())));
873 image->loader()->didReceiveData(nullptr, 868 image->loader()->didReceiveData(reinterpret_cast<const char*>(kJpegImage),
874 reinterpret_cast<const char*>(kJpegImage),
875 sizeof(kJpegImage), sizeof(kJpegImage)); 869 sizeof(kJpegImage), sizeof(kJpegImage));
876 image->loader()->didFinishLoading(nullptr, 0.0, sizeof(kJpegImage), 870 image->loader()->didFinishLoading(0.0, sizeof(kJpegImage),
877 sizeof(kJpegImage)); 871 sizeof(kJpegImage));
878 872
879 EXPECT_EQ(Resource::Cached, image->getStatus()); 873 EXPECT_EQ(Resource::Cached, image->getStatus());
880 EXPECT_EQ(sizeof(kJpegImage), image->encodedSize()); 874 EXPECT_EQ(sizeof(kJpegImage), image->encodedSize());
881 EXPECT_FALSE(image->isPlaceholder()); 875 EXPECT_FALSE(image->isPlaceholder());
882 EXPECT_LT(0, client->imageChangedCount()); 876 EXPECT_LT(0, client->imageChangedCount());
883 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnLastImageChanged()); 877 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnLastImageChanged());
884 EXPECT_TRUE(client->notifyFinishedCalled()); 878 EXPECT_TRUE(client->notifyFinishedCalled());
885 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnNotifyFinished()); 879 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnNotifyFinished());
886 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnImageNotifyFinished()); 880 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnImageNotifyFinished());
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
959 Persistent<MockImageResourceClient> client = 953 Persistent<MockImageResourceClient> client =
960 new MockImageResourceClient(image); 954 new MockImageResourceClient(image);
961 955
962 ResourceResponse response(testURL, "image/jpeg", 956 ResourceResponse response(testURL, "image/jpeg",
963 kJpegImageSubrangeWithDimensionsLength, nullAtom, 957 kJpegImageSubrangeWithDimensionsLength, nullAtom,
964 String()); 958 String());
965 response.setHTTPStatusCode(206); 959 response.setHTTPStatusCode(206);
966 response.setHTTPHeaderField( 960 response.setHTTPHeaderField(
967 "content-range", buildContentRange(kJpegImageSubrangeWithDimensionsLength, 961 "content-range", buildContentRange(kJpegImageSubrangeWithDimensionsLength,
968 sizeof(kJpegImage))); 962 sizeof(kJpegImage)));
969 image->loader()->didReceiveResponse(nullptr, 963 image->loader()->didReceiveResponse(WrappedResourceResponse(response));
970 WrappedResourceResponse(response)); 964 image->loader()->didReceiveData(reinterpret_cast<const char*>(kJpegImage),
971 image->loader()->didReceiveData(nullptr,
972 reinterpret_cast<const char*>(kJpegImage),
973 kJpegImageSubrangeWithDimensionsLength, 965 kJpegImageSubrangeWithDimensionsLength,
974 kJpegImageSubrangeWithDimensionsLength); 966 kJpegImageSubrangeWithDimensionsLength);
975 image->loader()->didFinishLoading(nullptr, 0.0, 967 image->loader()->didFinishLoading(0.0, kJpegImageSubrangeWithDimensionsLength,
976 kJpegImageSubrangeWithDimensionsLength,
977 kJpegImageSubrangeWithDimensionsLength); 968 kJpegImageSubrangeWithDimensionsLength);
978 969
979 EXPECT_EQ(Resource::Cached, image->getStatus()); 970 EXPECT_EQ(Resource::Cached, image->getStatus());
980 EXPECT_EQ(kJpegImageSubrangeWithDimensionsLength, image->encodedSize()); 971 EXPECT_EQ(kJpegImageSubrangeWithDimensionsLength, image->encodedSize());
981 EXPECT_TRUE(image->isPlaceholder()); 972 EXPECT_TRUE(image->isPlaceholder());
982 EXPECT_LT(0, client->imageChangedCount()); 973 EXPECT_LT(0, client->imageChangedCount());
983 EXPECT_EQ(kJpegImageSubrangeWithDimensionsLength, 974 EXPECT_EQ(kJpegImageSubrangeWithDimensionsLength,
984 client->encodedSizeOnLastImageChanged()); 975 client->encodedSizeOnLastImageChanged());
985 EXPECT_TRUE(client->notifyFinishedCalled()); 976 EXPECT_TRUE(client->notifyFinishedCalled());
986 EXPECT_EQ(kJpegImageSubrangeWithDimensionsLength, 977 EXPECT_EQ(kJpegImageSubrangeWithDimensionsLength,
(...skipping 20 matching lines...) Expand all
1007 EXPECT_EQ(FetchRequest::AllowPlaceholder, 998 EXPECT_EQ(FetchRequest::AllowPlaceholder,
1008 request.placeholderImageRequestType()); 999 request.placeholderImageRequestType());
1009 EXPECT_EQ("bytes=0-2047", image->resourceRequest().httpHeaderField("range")); 1000 EXPECT_EQ("bytes=0-2047", image->resourceRequest().httpHeaderField("range"));
1010 EXPECT_TRUE(image->isPlaceholder()); 1001 EXPECT_TRUE(image->isPlaceholder());
1011 Persistent<MockImageResourceClient> client = 1002 Persistent<MockImageResourceClient> client =
1012 new MockImageResourceClient(image); 1003 new MockImageResourceClient(image);
1013 1004
1014 const char kBadData[] = "notanimageresponse"; 1005 const char kBadData[] = "notanimageresponse";
1015 1006
1016 image->loader()->didReceiveResponse( 1007 image->loader()->didReceiveResponse(
1017 nullptr,
1018 WrappedResourceResponse(ResourceResponse( 1008 WrappedResourceResponse(ResourceResponse(
1019 testURL, "image/jpeg", sizeof(kBadData), nullAtom, String()))); 1009 testURL, "image/jpeg", sizeof(kBadData), nullAtom, String())));
1020 image->loader()->didReceiveData(nullptr, kBadData, sizeof(kBadData), 1010 image->loader()->didReceiveData(kBadData, sizeof(kBadData), sizeof(kBadData));
1021 sizeof(kBadData));
1022 1011
1023 // The dimensions could not be extracted, so the full original image should be 1012 // The dimensions could not be extracted, so the full original image should be
1024 // loading. 1013 // loading.
1025 EXPECT_EQ(Resource::Pending, image->getStatus()); 1014 EXPECT_EQ(Resource::Pending, image->getStatus());
1026 EXPECT_FALSE(image->isPlaceholder()); 1015 EXPECT_FALSE(image->isPlaceholder());
1027 EXPECT_EQ(nullAtom, image->resourceRequest().httpHeaderField("range")); 1016 EXPECT_EQ(nullAtom, image->resourceRequest().httpHeaderField("range"));
1028 EXPECT_EQ(static_cast<int>(WebCachePolicy::BypassingCache), 1017 EXPECT_EQ(static_cast<int>(WebCachePolicy::BypassingCache),
1029 static_cast<int>(image->resourceRequest().getCachePolicy())); 1018 static_cast<int>(image->resourceRequest().getCachePolicy()));
1030 EXPECT_FALSE(client->notifyFinishedCalled()); 1019 EXPECT_FALSE(client->notifyFinishedCalled());
1031 1020
1032 image->loader()->didReceiveResponse( 1021 image->loader()->didReceiveResponse(
1033 nullptr,
1034 WrappedResourceResponse(ResourceResponse( 1022 WrappedResourceResponse(ResourceResponse(
1035 testURL, "image/jpeg", sizeof(kJpegImage), nullAtom, String()))); 1023 testURL, "image/jpeg", sizeof(kJpegImage), nullAtom, String())));
1036 image->loader()->didReceiveData(nullptr, 1024 image->loader()->didReceiveData(reinterpret_cast<const char*>(kJpegImage),
1037 reinterpret_cast<const char*>(kJpegImage),
1038 sizeof(kJpegImage), sizeof(kJpegImage)); 1025 sizeof(kJpegImage), sizeof(kJpegImage));
1039 image->loader()->didFinishLoading(nullptr, 0.0, sizeof(kJpegImage), 1026 image->loader()->didFinishLoading(0.0, sizeof(kJpegImage),
1040 sizeof(kJpegImage)); 1027 sizeof(kJpegImage));
1041 1028
1042 EXPECT_EQ(Resource::Cached, image->getStatus()); 1029 EXPECT_EQ(Resource::Cached, image->getStatus());
1043 EXPECT_EQ(sizeof(kJpegImage), image->encodedSize()); 1030 EXPECT_EQ(sizeof(kJpegImage), image->encodedSize());
1044 EXPECT_FALSE(image->isPlaceholder()); 1031 EXPECT_FALSE(image->isPlaceholder());
1045 EXPECT_LT(0, client->imageChangedCount()); 1032 EXPECT_LT(0, client->imageChangedCount());
1046 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnLastImageChanged()); 1033 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnLastImageChanged());
1047 EXPECT_TRUE(client->notifyFinishedCalled()); 1034 EXPECT_TRUE(client->notifyFinishedCalled());
1048 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnNotifyFinished()); 1035 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnNotifyFinished());
1049 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnImageNotifyFinished()); 1036 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnImageNotifyFinished());
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
1093 Persistent<MockImageResourceClient> client = 1080 Persistent<MockImageResourceClient> client =
1094 new MockImageResourceClient(image); 1081 new MockImageResourceClient(image);
1095 1082
1096 ResourceResponse response(testURL, "image/jpeg", 1083 ResourceResponse response(testURL, "image/jpeg",
1097 kJpegImageSubrangeWithDimensionsLength, nullAtom, 1084 kJpegImageSubrangeWithDimensionsLength, nullAtom,
1098 String()); 1085 String());
1099 response.setHTTPStatusCode(206); 1086 response.setHTTPStatusCode(206);
1100 response.setHTTPHeaderField( 1087 response.setHTTPHeaderField(
1101 "content-range", buildContentRange(kJpegImageSubrangeWithDimensionsLength, 1088 "content-range", buildContentRange(kJpegImageSubrangeWithDimensionsLength,
1102 sizeof(kJpegImage))); 1089 sizeof(kJpegImage)));
1103 image->loader()->didReceiveResponse(nullptr, 1090 image->loader()->didReceiveResponse(WrappedResourceResponse(response));
1104 WrappedResourceResponse(response)); 1091 image->loader()->didReceiveData(reinterpret_cast<const char*>(kJpegImage),
1105 image->loader()->didReceiveData(nullptr,
1106 reinterpret_cast<const char*>(kJpegImage),
1107 kJpegImageSubrangeWithDimensionsLength, 1092 kJpegImageSubrangeWithDimensionsLength,
1108 kJpegImageSubrangeWithDimensionsLength); 1093 kJpegImageSubrangeWithDimensionsLength);
1109 image->loader()->didFinishLoading(nullptr, 0.0, 1094 image->loader()->didFinishLoading(0.0, kJpegImageSubrangeWithDimensionsLength,
1110 kJpegImageSubrangeWithDimensionsLength,
1111 kJpegImageSubrangeWithDimensionsLength); 1095 kJpegImageSubrangeWithDimensionsLength);
1112 1096
1113 EXPECT_EQ(Resource::Cached, image->getStatus()); 1097 EXPECT_EQ(Resource::Cached, image->getStatus());
1114 EXPECT_EQ(kJpegImageSubrangeWithDimensionsLength, image->encodedSize()); 1098 EXPECT_EQ(kJpegImageSubrangeWithDimensionsLength, image->encodedSize());
1115 EXPECT_TRUE(image->isPlaceholder()); 1099 EXPECT_TRUE(image->isPlaceholder());
1116 EXPECT_LT(0, client->imageChangedCount()); 1100 EXPECT_LT(0, client->imageChangedCount());
1117 EXPECT_TRUE(client->notifyFinishedCalled()); 1101 EXPECT_TRUE(client->notifyFinishedCalled());
1118 1102
1119 FetchRequest nonPlaceholderRequest(testURL, FetchInitiatorInfo()); 1103 FetchRequest nonPlaceholderRequest(testURL, FetchInitiatorInfo());
1120 ImageResource* secondImage = 1104 ImageResource* secondImage =
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
1210 EXPECT_TRUE(client->notifyFinishedCalled()); 1194 EXPECT_TRUE(client->notifyFinishedCalled());
1211 EXPECT_TRUE(cachedImage->getImage()->isBitmapImage()); 1195 EXPECT_TRUE(cachedImage->getImage()->isBitmapImage());
1212 EXPECT_EQ(50, cachedImage->getImage()->width()); 1196 EXPECT_EQ(50, cachedImage->getImage()->width());
1213 EXPECT_EQ(50, cachedImage->getImage()->height()); 1197 EXPECT_EQ(50, cachedImage->getImage()->height());
1214 1198
1215 WTF::setTimeFunctionsForTesting(nullptr); 1199 WTF::setTimeFunctionsForTesting(nullptr);
1216 } 1200 }
1217 1201
1218 } // namespace 1202 } // namespace
1219 } // namespace blink 1203 } // 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