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

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

Issue 2558033002: Loading: move ImageResource and related classes to core/loader/resource (Closed)
Patch Set: rebase and format 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 10 matching lines...) Expand all
21 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */ 29 */
30 30
31 #include "core/fetch/ImageResource.h" 31 #include "core/loader/resource/ImageResource.h"
32 32
33 #include "core/fetch/FetchInitiatorInfo.h" 33 #include "core/fetch/FetchInitiatorInfo.h"
34 #include "core/fetch/FetchRequest.h" 34 #include "core/fetch/FetchRequest.h"
35 #include "core/fetch/MemoryCache.h" 35 #include "core/fetch/MemoryCache.h"
36 #include "core/fetch/MockImageResourceClient.h"
37 #include "core/fetch/MockResourceClient.h" 36 #include "core/fetch/MockResourceClient.h"
38 #include "core/fetch/ResourceFetcher.h" 37 #include "core/fetch/ResourceFetcher.h"
39 #include "core/fetch/ResourceLoader.h" 38 #include "core/fetch/ResourceLoader.h"
40 #include "core/fetch/UniqueIdentifier.h" 39 #include "core/fetch/UniqueIdentifier.h"
40 #include "core/loader/resource/MockImageResourceClient.h"
41 #include "platform/SharedBuffer.h" 41 #include "platform/SharedBuffer.h"
42 #include "platform/exported/WrappedResourceResponse.h" 42 #include "platform/exported/WrappedResourceResponse.h"
43 #include "platform/graphics/BitmapImage.h" 43 #include "platform/graphics/BitmapImage.h"
44 #include "platform/graphics/Image.h" 44 #include "platform/graphics/Image.h"
45 #include "platform/scheduler/test/fake_web_task_runner.h" 45 #include "platform/scheduler/test/fake_web_task_runner.h"
46 #include "platform/testing/TestingPlatformSupport.h" 46 #include "platform/testing/TestingPlatformSupport.h"
47 #include "platform/testing/URLTestHelpers.h" 47 #include "platform/testing/URLTestHelpers.h"
48 #include "platform/testing/UnitTestHelpers.h" 48 #include "platform/testing/UnitTestHelpers.h"
49 #include "public/platform/Platform.h" 49 #include "public/platform/Platform.h"
50 #include "public/platform/WebCachePolicy.h" 50 #include "public/platform/WebCachePolicy.h"
(...skipping 818 matching lines...) Expand 10 before | Expand all | Expand 10 after
869 ImageResource* image = ImageResource::fetch( 869 ImageResource* image = ImageResource::fetch(
870 request, 870 request,
871 ResourceFetcher::create(ImageResourceTestMockFetchContext::create())); 871 ResourceFetcher::create(ImageResourceTestMockFetchContext::create()));
872 EXPECT_EQ(FetchRequest::DisallowPlaceholder, 872 EXPECT_EQ(FetchRequest::DisallowPlaceholder,
873 request.placeholderImageRequestType()); 873 request.placeholderImageRequestType());
874 EXPECT_EQ(nullAtom, image->resourceRequest().httpHeaderField("range")); 874 EXPECT_EQ(nullAtom, image->resourceRequest().httpHeaderField("range"));
875 EXPECT_FALSE(image->isPlaceholder()); 875 EXPECT_FALSE(image->isPlaceholder());
876 Persistent<MockImageResourceClient> client = 876 Persistent<MockImageResourceClient> client =
877 new MockImageResourceClient(image); 877 new MockImageResourceClient(image);
878 878
879 image->loader()->didReceiveResponse( 879 image->loader()->didReceiveResponse(WrappedResourceResponse(ResourceResponse(
880 WrappedResourceResponse(ResourceResponse( 880 testURL, "image/jpeg", sizeof(kJpegImage), nullAtom, String())));
881 testURL, "image/jpeg", sizeof(kJpegImage), nullAtom, String())));
882 image->loader()->didReceiveData(reinterpret_cast<const char*>(kJpegImage), 881 image->loader()->didReceiveData(reinterpret_cast<const char*>(kJpegImage),
883 sizeof(kJpegImage)); 882 sizeof(kJpegImage));
884 image->loader()->didFinishLoading(0.0, sizeof(kJpegImage), 883 image->loader()->didFinishLoading(0.0, sizeof(kJpegImage),
885 sizeof(kJpegImage)); 884 sizeof(kJpegImage));
886 885
887 EXPECT_EQ(Resource::Cached, image->getStatus()); 886 EXPECT_EQ(Resource::Cached, image->getStatus());
888 EXPECT_EQ(sizeof(kJpegImage), image->encodedSize()); 887 EXPECT_EQ(sizeof(kJpegImage), image->encodedSize());
889 EXPECT_FALSE(image->isPlaceholder()); 888 EXPECT_FALSE(image->isPlaceholder());
890 EXPECT_LT(0, client->imageChangedCount()); 889 EXPECT_LT(0, client->imageChangedCount());
891 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnLastImageChanged()); 890 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnLastImageChanged());
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
1010 ResourceFetcher::create(ImageResourceTestMockFetchContext::create())); 1009 ResourceFetcher::create(ImageResourceTestMockFetchContext::create()));
1011 EXPECT_EQ(FetchRequest::AllowPlaceholder, 1010 EXPECT_EQ(FetchRequest::AllowPlaceholder,
1012 request.placeholderImageRequestType()); 1011 request.placeholderImageRequestType());
1013 EXPECT_EQ("bytes=0-2047", image->resourceRequest().httpHeaderField("range")); 1012 EXPECT_EQ("bytes=0-2047", image->resourceRequest().httpHeaderField("range"));
1014 EXPECT_TRUE(image->isPlaceholder()); 1013 EXPECT_TRUE(image->isPlaceholder());
1015 Persistent<MockImageResourceClient> client = 1014 Persistent<MockImageResourceClient> client =
1016 new MockImageResourceClient(image); 1015 new MockImageResourceClient(image);
1017 1016
1018 const char kBadData[] = "notanimageresponse"; 1017 const char kBadData[] = "notanimageresponse";
1019 1018
1020 image->loader()->didReceiveResponse( 1019 image->loader()->didReceiveResponse(WrappedResourceResponse(ResourceResponse(
1021 WrappedResourceResponse(ResourceResponse( 1020 testURL, "image/jpeg", sizeof(kBadData), nullAtom, String())));
1022 testURL, "image/jpeg", sizeof(kBadData), nullAtom, String())));
1023 image->loader()->didReceiveData(kBadData, sizeof(kBadData)); 1021 image->loader()->didReceiveData(kBadData, sizeof(kBadData));
1024 1022
1025 // 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
1026 // loading. 1024 // loading.
1027 EXPECT_EQ(Resource::Pending, image->getStatus()); 1025 EXPECT_EQ(Resource::Pending, image->getStatus());
1028 EXPECT_FALSE(image->isPlaceholder()); 1026 EXPECT_FALSE(image->isPlaceholder());
1029 EXPECT_EQ(nullAtom, image->resourceRequest().httpHeaderField("range")); 1027 EXPECT_EQ(nullAtom, image->resourceRequest().httpHeaderField("range"));
1030 EXPECT_EQ(static_cast<int>(WebCachePolicy::BypassingCache), 1028 EXPECT_EQ(static_cast<int>(WebCachePolicy::BypassingCache),
1031 static_cast<int>(image->resourceRequest().getCachePolicy())); 1029 static_cast<int>(image->resourceRequest().getCachePolicy()));
1032 EXPECT_FALSE(client->notifyFinishedCalled()); 1030 EXPECT_FALSE(client->notifyFinishedCalled());
1033 EXPECT_EQ(0, client->imageNotifyFinishedCount()); 1031 EXPECT_EQ(0, client->imageNotifyFinishedCount());
1034 1032
1035 image->loader()->didReceiveResponse( 1033 image->loader()->didReceiveResponse(WrappedResourceResponse(ResourceResponse(
1036 WrappedResourceResponse(ResourceResponse( 1034 testURL, "image/jpeg", sizeof(kJpegImage), nullAtom, String())));
1037 testURL, "image/jpeg", sizeof(kJpegImage), nullAtom, String())));
1038 image->loader()->didReceiveData(reinterpret_cast<const char*>(kJpegImage), 1035 image->loader()->didReceiveData(reinterpret_cast<const char*>(kJpegImage),
1039 sizeof(kJpegImage)); 1036 sizeof(kJpegImage));
1040 image->loader()->didFinishLoading(0.0, sizeof(kJpegImage), 1037 image->loader()->didFinishLoading(0.0, sizeof(kJpegImage),
1041 sizeof(kJpegImage)); 1038 sizeof(kJpegImage));
1042 1039
1043 EXPECT_EQ(Resource::Cached, image->getStatus()); 1040 EXPECT_EQ(Resource::Cached, image->getStatus());
1044 EXPECT_EQ(sizeof(kJpegImage), image->encodedSize()); 1041 EXPECT_EQ(sizeof(kJpegImage), image->encodedSize());
1045 EXPECT_FALSE(image->isPlaceholder()); 1042 EXPECT_FALSE(image->isPlaceholder());
1046 EXPECT_LT(0, client->imageChangedCount()); 1043 EXPECT_LT(0, client->imageChangedCount());
1047 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnLastImageChanged()); 1044 EXPECT_EQ(sizeof(kJpegImage), client->encodedSizeOnLastImageChanged());
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
1208 EXPECT_TRUE(client->notifyFinishedCalled()); 1205 EXPECT_TRUE(client->notifyFinishedCalled());
1209 EXPECT_TRUE(cachedImage->getContent()->getImage()->isBitmapImage()); 1206 EXPECT_TRUE(cachedImage->getContent()->getImage()->isBitmapImage());
1210 EXPECT_EQ(50, cachedImage->getContent()->getImage()->width()); 1207 EXPECT_EQ(50, cachedImage->getContent()->getImage()->width());
1211 EXPECT_EQ(50, cachedImage->getContent()->getImage()->height()); 1208 EXPECT_EQ(50, cachedImage->getContent()->getImage()->height());
1212 1209
1213 WTF::setTimeFunctionsForTesting(nullptr); 1210 WTF::setTimeFunctionsForTesting(nullptr);
1214 } 1211 }
1215 1212
1216 } // namespace 1213 } // namespace
1217 } // namespace blink 1214 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698