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

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

Issue 1686483002: Oilpan: Remove most WillBe types from the code base (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 months 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 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "core/loader/LinkLoader.h" 5 #include "core/loader/LinkLoader.h"
6 6
7 #include "core/fetch/MemoryCache.h" 7 #include "core/fetch/MemoryCache.h"
8 #include "core/fetch/ResourceFetcher.h" 8 #include "core/fetch/ResourceFetcher.h"
9 #include "core/frame/Settings.h" 9 #include "core/frame/Settings.h"
10 #include "core/html/LinkRelAttribute.h" 10 #include "core/html/LinkRelAttribute.h"
11 #include "core/loader/DocumentLoader.h" 11 #include "core/loader/DocumentLoader.h"
12 #include "core/loader/LinkLoaderClient.h" 12 #include "core/loader/LinkLoaderClient.h"
13 #include "core/loader/NetworkHintsInterface.h" 13 #include "core/loader/NetworkHintsInterface.h"
14 #include "core/testing/DummyPageHolder.h" 14 #include "core/testing/DummyPageHolder.h"
15 #include "platform/network/ResourceLoadPriority.h" 15 #include "platform/network/ResourceLoadPriority.h"
16 #include "platform/testing/URLTestHelpers.h" 16 #include "platform/testing/URLTestHelpers.h"
17 #include "public/platform/Platform.h" 17 #include "public/platform/Platform.h"
18 #include "public/platform/WebUnitTestSupport.h" 18 #include "public/platform/WebUnitTestSupport.h"
19 #include "testing/gtest/include/gtest/gtest.h" 19 #include "testing/gtest/include/gtest/gtest.h"
20 #include <base/macros.h> 20 #include <base/macros.h>
21 21
22 namespace blink { 22 namespace blink {
23 23
24 class MockLinkLoaderClient final : public NoBaseWillBeGarbageCollectedFinalized< MockLinkLoaderClient>, public LinkLoaderClient { 24 class MockLinkLoaderClient final : public GarbageCollectedFinalized<MockLinkLoad erClient>, public LinkLoaderClient {
25 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(MockLinkLoaderClient); 25 USING_GARBAGE_COLLECTED_MIXIN(MockLinkLoaderClient);
26 public: 26 public:
27 static PassOwnPtrWillBeRawPtr<MockLinkLoaderClient> create(bool shouldLoad) 27 static RawPtr<MockLinkLoaderClient> create(bool shouldLoad)
28 { 28 {
29 return adoptPtrWillBeNoop(new MockLinkLoaderClient(shouldLoad)); 29 return new MockLinkLoaderClient(shouldLoad);
30 } 30 }
31 31
32 DEFINE_INLINE_VIRTUAL_TRACE() { LinkLoaderClient::trace(visitor); } 32 DEFINE_INLINE_VIRTUAL_TRACE() { LinkLoaderClient::trace(visitor); }
33 33
34 bool shouldLoadLink() override 34 bool shouldLoadLink() override
35 { 35 {
36 return m_shouldLoad; 36 return m_shouldLoad;
37 } 37 }
38 38
39 void linkLoaded() override {} 39 void linkLoaded() override {}
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 // Media tests 131 // Media tests
132 {"http://example.test/cat.gif", "image", "image/gif", "(max-width: 600px )", ResourceLoadPriorityVeryLow, WebURLRequest::RequestContextImage, true, true, "image/webp,image/*,*/*;q=0.8"}, 132 {"http://example.test/cat.gif", "image", "image/gif", "(max-width: 600px )", ResourceLoadPriorityVeryLow, WebURLRequest::RequestContextImage, true, true, "image/webp,image/*,*/*;q=0.8"},
133 {"http://example.test/cat.gif", "image", "image/gif", "(max-width: 400px )", ResourceLoadPriorityUnresolved, WebURLRequest::RequestContextImage, true, fa lse, ""}, 133 {"http://example.test/cat.gif", "image", "image/gif", "(max-width: 400px )", ResourceLoadPriorityUnresolved, WebURLRequest::RequestContextImage, true, fa lse, ""},
134 {"http://example.test/cat.gif", "image", "image/gif", "(max-width: 600px )", ResourceLoadPriorityVeryLow, WebURLRequest::RequestContextImage, false, fals e, "image/webp,image/*,*/*;q=0.8"}, 134 {"http://example.test/cat.gif", "image", "image/gif", "(max-width: 600px )", ResourceLoadPriorityVeryLow, WebURLRequest::RequestContextImage, false, fals e, "image/webp,image/*,*/*;q=0.8"},
135 }; 135 };
136 136
137 // Test the cases with a single header 137 // Test the cases with a single header
138 for (const auto& testCase : cases) { 138 for (const auto& testCase : cases) {
139 OwnPtr<DummyPageHolder> dummyPageHolder = DummyPageHolder::create(IntSiz e(500, 500)); 139 OwnPtr<DummyPageHolder> dummyPageHolder = DummyPageHolder::create(IntSiz e(500, 500));
140 dummyPageHolder->frame().settings()->setScriptEnabled(true); 140 dummyPageHolder->frame().settings()->setScriptEnabled(true);
141 OwnPtrWillBePersistent<MockLinkLoaderClient> loaderClient = MockLinkLoad erClient::create(testCase.linkLoaderShouldLoadValue); 141 Persistent<MockLinkLoaderClient> loaderClient = MockLinkLoaderClient::cr eate(testCase.linkLoaderShouldLoadValue);
142 OwnPtrWillBeRawPtr<LinkLoader> loader = LinkLoader::create(loaderClient. get()); 142 RawPtr<LinkLoader> loader = LinkLoader::create(loaderClient.get());
143 KURL hrefURL = KURL(KURL(), testCase.href); 143 KURL hrefURL = KURL(KURL(), testCase.href);
144 URLTestHelpers::registerMockedErrorURLLoad(hrefURL); 144 URLTestHelpers::registerMockedErrorURLLoad(hrefURL);
145 loader->loadLink(LinkRelAttribute("preload"), 145 loader->loadLink(LinkRelAttribute("preload"),
146 CrossOriginAttributeNotSet, 146 CrossOriginAttributeNotSet,
147 testCase.type, 147 testCase.type,
148 testCase.as, 148 testCase.as,
149 testCase.media, 149 testCase.media,
150 hrefURL, 150 hrefURL,
151 dummyPageHolder->document(), 151 dummyPageHolder->document(),
152 NetworkHintsMock()); 152 NetworkHintsMock());
153 ASSERT(dummyPageHolder->document().fetcher()); 153 ASSERT(dummyPageHolder->document().fetcher());
154 WillBeHeapListHashSet<RefPtrWillBeMember<Resource>>* preloads = dummyPag eHolder->document().fetcher()->preloads(); 154 HeapListHashSet<Member<Resource>>* preloads = dummyPageHolder->document( ).fetcher()->preloads();
155 if (testCase.expectingLoad) { 155 if (testCase.expectingLoad) {
156 if (!preloads) 156 if (!preloads)
157 fprintf(stderr, "Unexpected result %s %s %s\n", testCase.href, t estCase.as, testCase.type); 157 fprintf(stderr, "Unexpected result %s %s %s\n", testCase.href, t estCase.as, testCase.type);
158 ASSERT_NE(nullptr, preloads); 158 ASSERT_NE(nullptr, preloads);
159 } else { 159 } else {
160 ASSERT_EQ(nullptr, preloads); 160 ASSERT_EQ(nullptr, preloads);
161 } 161 }
162 if (preloads) { 162 if (preloads) {
163 if (testCase.priority == ResourceLoadPriorityUnresolved) { 163 if (testCase.priority == ResourceLoadPriorityUnresolved) {
164 ASSERT_EQ((unsigned)0, preloads->size()); 164 ASSERT_EQ((unsigned)0, preloads->size());
(...skipping 23 matching lines...) Expand all
188 {"https://example.com/", true}, 188 {"https://example.com/", true},
189 {"//example.com/", true}, 189 {"//example.com/", true},
190 }; 190 };
191 191
192 // TODO(yoav): Test (and fix) shouldLoad = false 192 // TODO(yoav): Test (and fix) shouldLoad = false
193 193
194 // Test the cases with a single header 194 // Test the cases with a single header
195 for (const auto& testCase : cases) { 195 for (const auto& testCase : cases) {
196 OwnPtr<DummyPageHolder> dummyPageHolder = DummyPageHolder::create(IntSiz e(500, 500)); 196 OwnPtr<DummyPageHolder> dummyPageHolder = DummyPageHolder::create(IntSiz e(500, 500));
197 dummyPageHolder->document().settings()->setDNSPrefetchingEnabled(true); 197 dummyPageHolder->document().settings()->setDNSPrefetchingEnabled(true);
198 OwnPtrWillBePersistent<MockLinkLoaderClient> loaderClient = MockLinkLoad erClient::create(testCase.shouldLoad); 198 Persistent<MockLinkLoaderClient> loaderClient = MockLinkLoaderClient::cr eate(testCase.shouldLoad);
199 OwnPtrWillBeRawPtr<LinkLoader> loader = LinkLoader::create(loaderClient. get()); 199 RawPtr<LinkLoader> loader = LinkLoader::create(loaderClient.get());
200 KURL hrefURL = KURL(KURL(ParsedURLStringTag(), String("http://example.co m")), testCase.href); 200 KURL hrefURL = KURL(KURL(ParsedURLStringTag(), String("http://example.co m")), testCase.href);
201 NetworkHintsMock networkHints; 201 NetworkHintsMock networkHints;
202 loader->loadLink(LinkRelAttribute("dns-prefetch"), 202 loader->loadLink(LinkRelAttribute("dns-prefetch"),
203 CrossOriginAttributeNotSet, 203 CrossOriginAttributeNotSet,
204 String(), 204 String(),
205 String(), 205 String(),
206 String(), 206 String(),
207 hrefURL, 207 hrefURL,
208 dummyPageHolder->document(), 208 dummyPageHolder->document(),
209 networkHints); 209 networkHints);
(...skipping 13 matching lines...) Expand all
223 } cases[] = { 223 } cases[] = {
224 {"http://example.com/", CrossOriginAttributeNotSet, true, false, false}, 224 {"http://example.com/", CrossOriginAttributeNotSet, true, false, false},
225 {"https://example.com/", CrossOriginAttributeNotSet, true, true, false}, 225 {"https://example.com/", CrossOriginAttributeNotSet, true, true, false},
226 {"http://example.com/", CrossOriginAttributeAnonymous, true, false, true }, 226 {"http://example.com/", CrossOriginAttributeAnonymous, true, false, true },
227 {"//example.com/", CrossOriginAttributeNotSet, true, false, false}, 227 {"//example.com/", CrossOriginAttributeNotSet, true, false, false},
228 }; 228 };
229 229
230 // Test the cases with a single header 230 // Test the cases with a single header
231 for (const auto& testCase : cases) { 231 for (const auto& testCase : cases) {
232 OwnPtr<DummyPageHolder> dummyPageHolder = DummyPageHolder::create(IntSiz e(500, 500)); 232 OwnPtr<DummyPageHolder> dummyPageHolder = DummyPageHolder::create(IntSiz e(500, 500));
233 OwnPtrWillBePersistent<MockLinkLoaderClient> loaderClient = MockLinkLoad erClient::create(testCase.shouldLoad); 233 Persistent<MockLinkLoaderClient> loaderClient = MockLinkLoaderClient::cr eate(testCase.shouldLoad);
234 OwnPtrWillBeRawPtr<LinkLoader> loader = LinkLoader::create(loaderClient. get()); 234 RawPtr<LinkLoader> loader = LinkLoader::create(loaderClient.get());
235 KURL hrefURL = KURL(KURL(ParsedURLStringTag(), String("http://example.co m")), testCase.href); 235 KURL hrefURL = KURL(KURL(ParsedURLStringTag(), String("http://example.co m")), testCase.href);
236 NetworkHintsMock networkHints; 236 NetworkHintsMock networkHints;
237 loader->loadLink(LinkRelAttribute("preconnect"), 237 loader->loadLink(LinkRelAttribute("preconnect"),
238 testCase.crossOrigin, 238 testCase.crossOrigin,
239 String(), 239 String(),
240 String(), 240 String(),
241 String(), 241 String(),
242 hrefURL, 242 hrefURL,
243 dummyPageHolder->document(), 243 dummyPageHolder->document(),
244 networkHints); 244 networkHints);
245 ASSERT_EQ(testCase.shouldLoad, networkHints.didPreconnect()); 245 ASSERT_EQ(testCase.shouldLoad, networkHints.didPreconnect());
246 ASSERT_EQ(testCase.isHTTPS, networkHints.isHTTPS()); 246 ASSERT_EQ(testCase.isHTTPS, networkHints.isHTTPS());
247 ASSERT_EQ(testCase.isCrossOrigin, networkHints.isCrossOrigin()); 247 ASSERT_EQ(testCase.isCrossOrigin, networkHints.isCrossOrigin());
248 } 248 }
249 } 249 }
250 250
251 } // namespace blink 251 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698