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

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

Issue 2080623002: Revert "Remove OwnPtr from Blink." (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 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/WebURLLoaderMockFactory.h" 18 #include "public/platform/WebURLLoaderMockFactory.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 #include <memory>
22 21
23 namespace blink { 22 namespace blink {
24 23
25 class MockLinkLoaderClient final : public GarbageCollectedFinalized<MockLinkLoad erClient>, public LinkLoaderClient { 24 class MockLinkLoaderClient final : public GarbageCollectedFinalized<MockLinkLoad erClient>, public LinkLoaderClient {
26 USING_GARBAGE_COLLECTED_MIXIN(MockLinkLoaderClient); 25 USING_GARBAGE_COLLECTED_MIXIN(MockLinkLoaderClient);
27 public: 26 public:
28 static MockLinkLoaderClient* create(bool shouldLoad) 27 static MockLinkLoaderClient* create(bool shouldLoad)
29 { 28 {
30 return new MockLinkLoaderClient(shouldLoad); 29 return new MockLinkLoaderClient(shouldLoad);
31 } 30 }
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 {"http://example.test/cat.empty", "", "foo/bar", "", ResourceLoadPriorit yLow, WebURLRequest::RequestContextSubresource, true, true}, 128 {"http://example.test/cat.empty", "", "foo/bar", "", ResourceLoadPriorit yLow, WebURLRequest::RequestContextSubresource, true, true},
130 {"http://example.test/cat.blob", "blabla", "foo/bar", "", ResourceLoadPr iorityLow, WebURLRequest::RequestContextSubresource, false, false}, 129 {"http://example.test/cat.blob", "blabla", "foo/bar", "", ResourceLoadPr iorityLow, WebURLRequest::RequestContextSubresource, false, false},
131 // Media tests 130 // Media tests
132 {"http://example.test/cat.gif", "image", "image/gif", "(max-width: 600px )", ResourceLoadPriorityLow, WebURLRequest::RequestContextImage, true, true}, 131 {"http://example.test/cat.gif", "image", "image/gif", "(max-width: 600px )", ResourceLoadPriorityLow, WebURLRequest::RequestContextImage, true, true},
133 {"http://example.test/cat.gif", "image", "image/gif", "(max-width: 400px )", ResourceLoadPriorityUnresolved, WebURLRequest::RequestContextImage, true, fa lse}, 132 {"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 )", ResourceLoadPriorityLow, WebURLRequest::RequestContextImage, false, false}, 133 {"http://example.test/cat.gif", "image", "image/gif", "(max-width: 600px )", ResourceLoadPriorityLow, WebURLRequest::RequestContextImage, false, false},
135 }; 134 };
136 135
137 // Test the cases with a single header 136 // Test the cases with a single header
138 for (const auto& testCase : cases) { 137 for (const auto& testCase : cases) {
139 std::unique_ptr<DummyPageHolder> dummyPageHolder = DummyPageHolder::crea te(IntSize(500, 500)); 138 OwnPtr<DummyPageHolder> dummyPageHolder = DummyPageHolder::create(IntSiz e(500, 500));
140 dummyPageHolder->frame().settings()->setScriptEnabled(true); 139 dummyPageHolder->frame().settings()->setScriptEnabled(true);
141 Persistent<MockLinkLoaderClient> loaderClient = MockLinkLoaderClient::cr eate(testCase.linkLoaderShouldLoadValue); 140 Persistent<MockLinkLoaderClient> loaderClient = MockLinkLoaderClient::cr eate(testCase.linkLoaderShouldLoadValue);
142 LinkLoader* loader = LinkLoader::create(loaderClient.get()); 141 LinkLoader* loader = LinkLoader::create(loaderClient.get());
143 KURL hrefURL = KURL(KURL(), testCase.href); 142 KURL hrefURL = KURL(KURL(), testCase.href);
144 URLTestHelpers::registerMockedErrorURLLoad(hrefURL); 143 URLTestHelpers::registerMockedErrorURLLoad(hrefURL);
145 loader->loadLink(LinkRelAttribute("preload"), 144 loader->loadLink(LinkRelAttribute("preload"),
146 CrossOriginAttributeNotSet, 145 CrossOriginAttributeNotSet,
147 testCase.type, 146 testCase.type,
148 testCase.as, 147 testCase.as,
149 testCase.media, 148 testCase.media,
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 } cases[] = { 184 } cases[] = {
186 {"http://example.com/", true}, 185 {"http://example.com/", true},
187 {"https://example.com/", true}, 186 {"https://example.com/", true},
188 {"//example.com/", true}, 187 {"//example.com/", true},
189 }; 188 };
190 189
191 // TODO(yoav): Test (and fix) shouldLoad = false 190 // TODO(yoav): Test (and fix) shouldLoad = false
192 191
193 // Test the cases with a single header 192 // Test the cases with a single header
194 for (const auto& testCase : cases) { 193 for (const auto& testCase : cases) {
195 std::unique_ptr<DummyPageHolder> dummyPageHolder = DummyPageHolder::crea te(IntSize(500, 500)); 194 OwnPtr<DummyPageHolder> dummyPageHolder = DummyPageHolder::create(IntSiz e(500, 500));
196 dummyPageHolder->document().settings()->setDNSPrefetchingEnabled(true); 195 dummyPageHolder->document().settings()->setDNSPrefetchingEnabled(true);
197 Persistent<MockLinkLoaderClient> loaderClient = MockLinkLoaderClient::cr eate(testCase.shouldLoad); 196 Persistent<MockLinkLoaderClient> loaderClient = MockLinkLoaderClient::cr eate(testCase.shouldLoad);
198 LinkLoader* loader = LinkLoader::create(loaderClient.get()); 197 LinkLoader* loader = LinkLoader::create(loaderClient.get());
199 KURL hrefURL = KURL(KURL(ParsedURLStringTag(), String("http://example.co m")), testCase.href); 198 KURL hrefURL = KURL(KURL(ParsedURLStringTag(), String("http://example.co m")), testCase.href);
200 NetworkHintsMock networkHints; 199 NetworkHintsMock networkHints;
201 loader->loadLink(LinkRelAttribute("dns-prefetch"), 200 loader->loadLink(LinkRelAttribute("dns-prefetch"),
202 CrossOriginAttributeNotSet, 201 CrossOriginAttributeNotSet,
203 String(), 202 String(),
204 String(), 203 String(),
205 String(), 204 String(),
(...skipping 15 matching lines...) Expand all
221 const bool isCrossOrigin; 220 const bool isCrossOrigin;
222 } cases[] = { 221 } cases[] = {
223 {"http://example.com/", CrossOriginAttributeNotSet, true, false, false}, 222 {"http://example.com/", CrossOriginAttributeNotSet, true, false, false},
224 {"https://example.com/", CrossOriginAttributeNotSet, true, true, false}, 223 {"https://example.com/", CrossOriginAttributeNotSet, true, true, false},
225 {"http://example.com/", CrossOriginAttributeAnonymous, true, false, true }, 224 {"http://example.com/", CrossOriginAttributeAnonymous, true, false, true },
226 {"//example.com/", CrossOriginAttributeNotSet, true, false, false}, 225 {"//example.com/", CrossOriginAttributeNotSet, true, false, false},
227 }; 226 };
228 227
229 // Test the cases with a single header 228 // Test the cases with a single header
230 for (const auto& testCase : cases) { 229 for (const auto& testCase : cases) {
231 std::unique_ptr<DummyPageHolder> dummyPageHolder = DummyPageHolder::crea te(IntSize(500, 500)); 230 OwnPtr<DummyPageHolder> dummyPageHolder = DummyPageHolder::create(IntSiz e(500, 500));
232 Persistent<MockLinkLoaderClient> loaderClient = MockLinkLoaderClient::cr eate(testCase.shouldLoad); 231 Persistent<MockLinkLoaderClient> loaderClient = MockLinkLoaderClient::cr eate(testCase.shouldLoad);
233 LinkLoader* loader = LinkLoader::create(loaderClient.get()); 232 LinkLoader* loader = LinkLoader::create(loaderClient.get());
234 KURL hrefURL = KURL(KURL(ParsedURLStringTag(), String("http://example.co m")), testCase.href); 233 KURL hrefURL = KURL(KURL(ParsedURLStringTag(), String("http://example.co m")), testCase.href);
235 NetworkHintsMock networkHints; 234 NetworkHintsMock networkHints;
236 loader->loadLink(LinkRelAttribute("preconnect"), 235 loader->loadLink(LinkRelAttribute("preconnect"),
237 testCase.crossOrigin, 236 testCase.crossOrigin,
238 String(), 237 String(),
239 String(), 238 String(),
240 String(), 239 String(),
241 hrefURL, 240 hrefURL,
242 dummyPageHolder->document(), 241 dummyPageHolder->document(),
243 networkHints); 242 networkHints);
244 ASSERT_EQ(testCase.shouldLoad, networkHints.didPreconnect()); 243 ASSERT_EQ(testCase.shouldLoad, networkHints.didPreconnect());
245 ASSERT_EQ(testCase.isHTTPS, networkHints.isHTTPS()); 244 ASSERT_EQ(testCase.isHTTPS, networkHints.isHTTPS());
246 ASSERT_EQ(testCase.isCrossOrigin, networkHints.isCrossOrigin()); 245 ASSERT_EQ(testCase.isCrossOrigin, networkHints.isCrossOrigin());
247 } 246 }
248 } 247 }
249 248
250 } // namespace blink 249 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/loader/LinkLoader.h ('k') | third_party/WebKit/Source/core/loader/MixedContentCheckerTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698