| 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 221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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 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, 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |