| OLD | NEW |
| 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" |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 76 mutable bool m_isHTTPS; | 76 mutable bool m_isHTTPS; |
| 77 mutable bool m_isCrossOrigin; | 77 mutable bool m_isCrossOrigin; |
| 78 }; | 78 }; |
| 79 | 79 |
| 80 TEST(LinkLoaderTest, Preload) { | 80 TEST(LinkLoaderTest, Preload) { |
| 81 struct TestCase { | 81 struct TestCase { |
| 82 const char* href; | 82 const char* href; |
| 83 const char* as; | 83 const char* as; |
| 84 const char* type; | 84 const char* type; |
| 85 const char* media; | 85 const char* media; |
| 86 const ReferrerPolicy referrerPolicy; |
| 86 const ResourceLoadPriority priority; | 87 const ResourceLoadPriority priority; |
| 87 const WebURLRequest::RequestContext context; | 88 const WebURLRequest::RequestContext context; |
| 88 const bool linkLoaderShouldLoadValue; | 89 const bool linkLoaderShouldLoadValue; |
| 89 const bool expectingLoad; | 90 const bool expectingLoad; |
| 91 const ReferrerPolicy expectedReferrerPolicy; |
| 90 } cases[] = { | 92 } cases[] = { |
| 91 {"http://example.test/cat.jpg", "image", "", "", ResourceLoadPriorityLow, | 93 {"http://example.test/cat.jpg", "image", "", "", ReferrerPolicyDefault, |
| 92 WebURLRequest::RequestContextImage, true, true}, | 94 ResourceLoadPriorityLow, WebURLRequest::RequestContextImage, true, true, |
| 93 {"http://example.test/cat.js", "script", "", "", ResourceLoadPriorityHigh, | 95 ReferrerPolicyDefault}, |
| 94 WebURLRequest::RequestContextScript, true, true}, | 96 {"http://example.test/cat.js", "script", "", "", ReferrerPolicyDefault, |
| 95 {"http://example.test/cat.css", "style", "", "", | 97 ResourceLoadPriorityHigh, WebURLRequest::RequestContextScript, true, |
| 98 true, ReferrerPolicyDefault}, |
| 99 {"http://example.test/cat.css", "style", "", "", ReferrerPolicyDefault, |
| 96 ResourceLoadPriorityVeryHigh, WebURLRequest::RequestContextStyle, true, | 100 ResourceLoadPriorityVeryHigh, WebURLRequest::RequestContextStyle, true, |
| 97 true}, | 101 true, ReferrerPolicyDefault}, |
| 98 // TODO(yoav): It doesn't seem like the audio context is ever used. That | 102 // TODO(yoav): It doesn't seem like the audio context is ever used. That |
| 99 // should probably be fixed (or we can consolidate audio and video). | 103 // should probably be fixed (or we can consolidate audio and video). |
| 100 {"http://example.test/cat.wav", "media", "", "", ResourceLoadPriorityLow, | 104 {"http://example.test/cat.wav", "media", "", "", ReferrerPolicyDefault, |
| 101 WebURLRequest::RequestContextVideo, true, true}, | 105 ResourceLoadPriorityLow, WebURLRequest::RequestContextVideo, true, true, |
| 102 {"http://example.test/cat.mp4", "media", "", "", ResourceLoadPriorityLow, | 106 ReferrerPolicyDefault}, |
| 103 WebURLRequest::RequestContextVideo, true, true}, | 107 {"http://example.test/cat.mp4", "media", "", "", ReferrerPolicyDefault, |
| 104 {"http://example.test/cat.vtt", "track", "", "", ResourceLoadPriorityLow, | 108 ResourceLoadPriorityLow, WebURLRequest::RequestContextVideo, true, true, |
| 105 WebURLRequest::RequestContextTrack, true, true}, | 109 ReferrerPolicyDefault}, |
| 106 {"http://example.test/cat.woff", "font", "", "", | 110 {"http://example.test/cat.vtt", "track", "", "", ReferrerPolicyDefault, |
| 111 ResourceLoadPriorityLow, WebURLRequest::RequestContextTrack, true, true, |
| 112 ReferrerPolicyDefault}, |
| 113 {"http://example.test/cat.woff", "font", "", "", ReferrerPolicyDefault, |
| 107 ResourceLoadPriorityVeryHigh, WebURLRequest::RequestContextFont, true, | 114 ResourceLoadPriorityVeryHigh, WebURLRequest::RequestContextFont, true, |
| 108 true}, | 115 true, ReferrerPolicyDefault}, |
| 109 // TODO(yoav): subresource should be *very* low priority (rather than | 116 // TODO(yoav): subresource should be *very* low priority (rather than |
| 110 // low). | 117 // low). |
| 111 {"http://example.test/cat.empty", "", "", "", ResourceLoadPriorityHigh, | 118 {"http://example.test/cat.empty", "", "", "", ReferrerPolicyDefault, |
| 112 WebURLRequest::RequestContextSubresource, true, true}, | 119 ResourceLoadPriorityHigh, WebURLRequest::RequestContextSubresource, true, |
| 113 {"http://example.test/cat.blob", "blabla", "", "", | 120 true, ReferrerPolicyDefault}, |
| 121 {"http://example.test/cat.blob", "blabla", "", "", ReferrerPolicyDefault, |
| 114 ResourceLoadPriorityLow, WebURLRequest::RequestContextSubresource, false, | 122 ResourceLoadPriorityLow, WebURLRequest::RequestContextSubresource, false, |
| 115 false}, | 123 false, ReferrerPolicyDefault}, |
| 116 {"bla://example.test/cat.gif", "image", "", "", | 124 {"bla://example.test/cat.gif", "image", "", "", ReferrerPolicyDefault, |
| 117 ResourceLoadPriorityUnresolved, WebURLRequest::RequestContextImage, | 125 ResourceLoadPriorityUnresolved, WebURLRequest::RequestContextImage, |
| 118 false, false}, | 126 false, false, ReferrerPolicyDefault}, |
| 119 // MIME type tests | 127 // MIME type tests |
| 120 {"http://example.test/cat.webp", "image", "image/webp", "", | 128 {"http://example.test/cat.webp", "image", "image/webp", "", |
| 121 ResourceLoadPriorityLow, WebURLRequest::RequestContextImage, true, true}, | 129 ReferrerPolicyDefault, ResourceLoadPriorityLow, |
| 130 WebURLRequest::RequestContextImage, true, true, ReferrerPolicyDefault}, |
| 122 {"http://example.test/cat.svg", "image", "image/svg+xml", "", | 131 {"http://example.test/cat.svg", "image", "image/svg+xml", "", |
| 123 ResourceLoadPriorityLow, WebURLRequest::RequestContextImage, true, true}, | 132 ReferrerPolicyDefault, ResourceLoadPriorityLow, |
| 133 WebURLRequest::RequestContextImage, true, true, ReferrerPolicyDefault}, |
| 124 {"http://example.test/cat.jxr", "image", "image/jxr", "", | 134 {"http://example.test/cat.jxr", "image", "image/jxr", "", |
| 125 ResourceLoadPriorityUnresolved, WebURLRequest::RequestContextImage, | 135 ReferrerPolicyDefault, ResourceLoadPriorityUnresolved, |
| 126 false, false}, | 136 WebURLRequest::RequestContextImage, false, false, ReferrerPolicyDefault}, |
| 127 {"http://example.test/cat.js", "script", "text/javascript", "", | 137 {"http://example.test/cat.js", "script", "text/javascript", "", |
| 128 ResourceLoadPriorityHigh, WebURLRequest::RequestContextScript, true, | 138 ReferrerPolicyDefault, ResourceLoadPriorityHigh, |
| 129 true}, | 139 WebURLRequest::RequestContextScript, true, true, ReferrerPolicyDefault}, |
| 130 {"http://example.test/cat.js", "script", "text/coffeescript", "", | 140 {"http://example.test/cat.js", "script", "text/coffeescript", "", |
| 131 ResourceLoadPriorityUnresolved, WebURLRequest::RequestContextScript, | 141 ReferrerPolicyDefault, ResourceLoadPriorityUnresolved, |
| 132 false, false}, | 142 WebURLRequest::RequestContextScript, false, false, |
| 143 ReferrerPolicyDefault}, |
| 133 {"http://example.test/cat.css", "style", "text/css", "", | 144 {"http://example.test/cat.css", "style", "text/css", "", |
| 134 ResourceLoadPriorityVeryHigh, WebURLRequest::RequestContextStyle, true, | 145 ReferrerPolicyDefault, ResourceLoadPriorityVeryHigh, |
| 135 true}, | 146 WebURLRequest::RequestContextStyle, true, true, ReferrerPolicyDefault}, |
| 136 {"http://example.test/cat.css", "style", "text/sass", "", | 147 {"http://example.test/cat.css", "style", "text/sass", "", |
| 137 ResourceLoadPriorityUnresolved, WebURLRequest::RequestContextStyle, | 148 ReferrerPolicyDefault, ResourceLoadPriorityUnresolved, |
| 138 false, false}, | 149 WebURLRequest::RequestContextStyle, false, false, ReferrerPolicyDefault}, |
| 139 {"http://example.test/cat.wav", "media", "audio/wav", "", | 150 {"http://example.test/cat.wav", "media", "audio/wav", "", |
| 140 ResourceLoadPriorityLow, WebURLRequest::RequestContextVideo, true, true}, | 151 ReferrerPolicyDefault, ResourceLoadPriorityLow, |
| 152 WebURLRequest::RequestContextVideo, true, true, ReferrerPolicyDefault}, |
| 141 {"http://example.test/cat.wav", "media", "audio/mp57", "", | 153 {"http://example.test/cat.wav", "media", "audio/mp57", "", |
| 142 ResourceLoadPriorityUnresolved, WebURLRequest::RequestContextVideo, | 154 ReferrerPolicyDefault, ResourceLoadPriorityUnresolved, |
| 143 false, false}, | 155 WebURLRequest::RequestContextVideo, false, false, ReferrerPolicyDefault}, |
| 144 {"http://example.test/cat.webm", "media", "video/webm", "", | 156 {"http://example.test/cat.webm", "media", "video/webm", "", |
| 145 ResourceLoadPriorityLow, WebURLRequest::RequestContextVideo, true, true}, | 157 ReferrerPolicyDefault, ResourceLoadPriorityLow, |
| 158 WebURLRequest::RequestContextVideo, true, true, ReferrerPolicyDefault}, |
| 146 {"http://example.test/cat.mp199", "media", "video/mp199", "", | 159 {"http://example.test/cat.mp199", "media", "video/mp199", "", |
| 147 ResourceLoadPriorityUnresolved, WebURLRequest::RequestContextVideo, | 160 ReferrerPolicyDefault, ResourceLoadPriorityUnresolved, |
| 148 false, false}, | 161 WebURLRequest::RequestContextVideo, false, false, ReferrerPolicyDefault}, |
| 149 {"http://example.test/cat.vtt", "track", "text/vtt", "", | 162 {"http://example.test/cat.vtt", "track", "text/vtt", "", |
| 150 ResourceLoadPriorityLow, WebURLRequest::RequestContextTrack, true, true}, | 163 ReferrerPolicyDefault, ResourceLoadPriorityLow, |
| 164 WebURLRequest::RequestContextTrack, true, true, ReferrerPolicyDefault}, |
| 151 {"http://example.test/cat.vtt", "track", "text/subtitlething", "", | 165 {"http://example.test/cat.vtt", "track", "text/subtitlething", "", |
| 152 ResourceLoadPriorityUnresolved, WebURLRequest::RequestContextTrack, | 166 ReferrerPolicyDefault, ResourceLoadPriorityUnresolved, |
| 153 false, false}, | 167 WebURLRequest::RequestContextTrack, false, false, ReferrerPolicyDefault}, |
| 154 {"http://example.test/cat.woff", "font", "font/woff2", "", | 168 {"http://example.test/cat.woff", "font", "font/woff2", "", |
| 155 ResourceLoadPriorityVeryHigh, WebURLRequest::RequestContextFont, true, | 169 ReferrerPolicyDefault, ResourceLoadPriorityVeryHigh, |
| 156 true}, | 170 WebURLRequest::RequestContextFont, true, true, ReferrerPolicyDefault}, |
| 157 {"http://example.test/cat.woff", "font", "font/woff84", "", | 171 {"http://example.test/cat.woff", "font", "font/woff84", "", |
| 158 ResourceLoadPriorityUnresolved, WebURLRequest::RequestContextFont, false, | 172 ReferrerPolicyDefault, ResourceLoadPriorityUnresolved, |
| 159 false}, | 173 WebURLRequest::RequestContextFont, false, false, ReferrerPolicyDefault}, |
| 160 {"http://example.test/cat.empty", "", "foo/bar", "", | 174 {"http://example.test/cat.empty", "", "foo/bar", "", |
| 161 ResourceLoadPriorityHigh, WebURLRequest::RequestContextSubresource, true, | 175 ReferrerPolicyDefault, ResourceLoadPriorityHigh, |
| 162 true}, | 176 WebURLRequest::RequestContextSubresource, true, true, |
| 177 ReferrerPolicyDefault}, |
| 163 {"http://example.test/cat.blob", "blabla", "foo/bar", "", | 178 {"http://example.test/cat.blob", "blabla", "foo/bar", "", |
| 164 ResourceLoadPriorityLow, WebURLRequest::RequestContextSubresource, false, | 179 ReferrerPolicyDefault, ResourceLoadPriorityLow, |
| 165 false}, | 180 WebURLRequest::RequestContextSubresource, false, false, |
| 181 ReferrerPolicyDefault}, |
| 166 // Media tests | 182 // Media tests |
| 167 {"http://example.test/cat.gif", "image", "image/gif", | 183 {"http://example.test/cat.gif", "image", "image/gif", |
| 168 "(max-width: 600px)", ResourceLoadPriorityLow, | 184 "(max-width: 600px)", ReferrerPolicyDefault, ResourceLoadPriorityLow, |
| 169 WebURLRequest::RequestContextImage, true, true}, | 185 WebURLRequest::RequestContextImage, true, true, ReferrerPolicyDefault}, |
| 170 {"http://example.test/cat.gif", "image", "image/gif", | 186 {"http://example.test/cat.gif", "image", "image/gif", |
| 171 "(max-width: 400px)", ResourceLoadPriorityUnresolved, | 187 "(max-width: 400px)", ReferrerPolicyDefault, |
| 172 WebURLRequest::RequestContextImage, true, false}, | 188 ResourceLoadPriorityUnresolved, WebURLRequest::RequestContextImage, true, |
| 189 false, ReferrerPolicyDefault}, |
| 173 {"http://example.test/cat.gif", "image", "image/gif", | 190 {"http://example.test/cat.gif", "image", "image/gif", |
| 174 "(max-width: 600px)", ResourceLoadPriorityLow, | 191 "(max-width: 600px)", ReferrerPolicyDefault, ResourceLoadPriorityLow, |
| 175 WebURLRequest::RequestContextImage, false, false}, | 192 WebURLRequest::RequestContextImage, false, false, ReferrerPolicyDefault}, |
| 193 // Referrer Policy |
| 194 {"http://example.test/cat.gif", "image", "image/gif", "", |
| 195 ReferrerPolicyOrigin, ResourceLoadPriorityLow, |
| 196 WebURLRequest::RequestContextImage, true, true, ReferrerPolicyOrigin}, |
| 197 {"http://example.test/cat.gif", "image", "image/gif", "", |
| 198 ReferrerPolicyOriginWhenCrossOrigin, ResourceLoadPriorityLow, |
| 199 WebURLRequest::RequestContextImage, true, true, |
| 200 ReferrerPolicyOriginWhenCrossOrigin}, |
| 201 {"http://example.test/cat.gif", "image", "image/gif", "", |
| 202 ReferrerPolicyNever, ResourceLoadPriorityLow, |
| 203 WebURLRequest::RequestContextImage, true, true, ReferrerPolicyNever}, |
| 176 }; | 204 }; |
| 177 | 205 |
| 178 // Test the cases with a single header | 206 // Test the cases with a single header |
| 179 for (const auto& testCase : cases) { | 207 for (const auto& testCase : cases) { |
| 180 std::unique_ptr<DummyPageHolder> dummyPageHolder = | 208 std::unique_ptr<DummyPageHolder> dummyPageHolder = |
| 181 DummyPageHolder::create(IntSize(500, 500)); | 209 DummyPageHolder::create(IntSize(500, 500)); |
| 182 dummyPageHolder->frame().settings()->setScriptEnabled(true); | 210 dummyPageHolder->frame().settings()->setScriptEnabled(true); |
| 183 Persistent<MockLinkLoaderClient> loaderClient = | 211 Persistent<MockLinkLoaderClient> loaderClient = |
| 184 MockLinkLoaderClient::create(testCase.linkLoaderShouldLoadValue); | 212 MockLinkLoaderClient::create(testCase.linkLoaderShouldLoadValue); |
| 185 LinkLoader* loader = LinkLoader::create(loaderClient.get()); | 213 LinkLoader* loader = LinkLoader::create(loaderClient.get()); |
| 186 KURL hrefURL = KURL(KURL(), testCase.href); | 214 KURL hrefURL = KURL(KURL(), testCase.href); |
| 187 URLTestHelpers::registerMockedErrorURLLoad(hrefURL); | 215 URLTestHelpers::registerMockedErrorURLLoad(hrefURL); |
| 188 loader->loadLink(LinkRelAttribute("preload"), CrossOriginAttributeNotSet, | 216 loader->loadLink(LinkRelAttribute("preload"), CrossOriginAttributeNotSet, |
| 189 testCase.type, testCase.as, testCase.media, hrefURL, | 217 testCase.type, testCase.as, testCase.media, |
| 218 testCase.referrerPolicy, hrefURL, |
| 190 dummyPageHolder->document(), NetworkHintsMock()); | 219 dummyPageHolder->document(), NetworkHintsMock()); |
| 191 ASSERT_TRUE(dummyPageHolder->document().fetcher()); | 220 ASSERT_TRUE(dummyPageHolder->document().fetcher()); |
| 192 HeapListHashSet<Member<Resource>>* preloads = | 221 HeapListHashSet<Member<Resource>>* preloads = |
| 193 dummyPageHolder->document().fetcher()->preloads(); | 222 dummyPageHolder->document().fetcher()->preloads(); |
| 194 if (testCase.expectingLoad) { | 223 if (testCase.expectingLoad) { |
| 195 if (!preloads) { | 224 if (!preloads) { |
| 196 fprintf(stderr, "Unexpected result %s %s %s\n", testCase.href, | 225 fprintf(stderr, "Unexpected result %s %s %s\n", testCase.href, |
| 197 testCase.as, testCase.type); | 226 testCase.as, testCase.type); |
| 198 } | 227 } |
| 199 EXPECT_TRUE(preloads); | 228 EXPECT_TRUE(preloads); |
| 200 } else { | 229 } else { |
| 201 EXPECT_FALSE(preloads); | 230 EXPECT_FALSE(preloads); |
| 202 } | 231 } |
| 203 if (preloads) { | 232 if (preloads) { |
| 204 if (testCase.priority == ResourceLoadPriorityUnresolved) { | 233 if (testCase.priority == ResourceLoadPriorityUnresolved) { |
| 205 EXPECT_EQ(0u, preloads->size()); | 234 EXPECT_EQ(0u, preloads->size()); |
| 206 } else { | 235 } else { |
| 207 EXPECT_EQ(1u, preloads->size()); | 236 EXPECT_EQ(1u, preloads->size()); |
| 208 if (preloads->size() > 0) { | 237 if (preloads->size() > 0) { |
| 209 Resource* resource = preloads->begin().get()->get(); | 238 Resource* resource = preloads->begin().get()->get(); |
| 210 EXPECT_EQ(testCase.priority, resource->resourceRequest().priority()); | 239 EXPECT_EQ(testCase.priority, resource->resourceRequest().priority()); |
| 211 EXPECT_EQ(testCase.context, | 240 EXPECT_EQ(testCase.context, |
| 212 resource->resourceRequest().requestContext()); | 241 resource->resourceRequest().requestContext()); |
| 242 if (testCase.expectedReferrerPolicy != ReferrerPolicyDefault) { |
| 243 EXPECT_EQ(testCase.expectedReferrerPolicy, |
| 244 resource->resourceRequest().getReferrerPolicy()); |
| 245 } |
| 213 } | 246 } |
| 214 } | 247 } |
| 215 dummyPageHolder->document().fetcher()->clearPreloads(); | 248 dummyPageHolder->document().fetcher()->clearPreloads(); |
| 216 } | 249 } |
| 217 memoryCache()->evictResources(); | 250 memoryCache()->evictResources(); |
| 218 Platform::current()->getURLLoaderMockFactory()->unregisterAllURLs(); | 251 Platform::current()->getURLLoaderMockFactory()->unregisterAllURLs(); |
| 219 } | 252 } |
| 220 } | 253 } |
| 221 | 254 |
| 222 TEST(LinkLoaderTest, DNSPrefetch) { | 255 TEST(LinkLoaderTest, DNSPrefetch) { |
| (...skipping 15 matching lines...) Expand all Loading... |
| 238 dummyPageHolder->document().settings()->setDNSPrefetchingEnabled(true); | 271 dummyPageHolder->document().settings()->setDNSPrefetchingEnabled(true); |
| 239 Persistent<MockLinkLoaderClient> loaderClient = | 272 Persistent<MockLinkLoaderClient> loaderClient = |
| 240 MockLinkLoaderClient::create(testCase.shouldLoad); | 273 MockLinkLoaderClient::create(testCase.shouldLoad); |
| 241 LinkLoader* loader = LinkLoader::create(loaderClient.get()); | 274 LinkLoader* loader = LinkLoader::create(loaderClient.get()); |
| 242 KURL hrefURL = | 275 KURL hrefURL = |
| 243 KURL(KURL(ParsedURLStringTag(), String("http://example.com")), | 276 KURL(KURL(ParsedURLStringTag(), String("http://example.com")), |
| 244 testCase.href); | 277 testCase.href); |
| 245 NetworkHintsMock networkHints; | 278 NetworkHintsMock networkHints; |
| 246 loader->loadLink(LinkRelAttribute("dns-prefetch"), | 279 loader->loadLink(LinkRelAttribute("dns-prefetch"), |
| 247 CrossOriginAttributeNotSet, String(), String(), String(), | 280 CrossOriginAttributeNotSet, String(), String(), String(), |
| 248 hrefURL, dummyPageHolder->document(), networkHints); | 281 ReferrerPolicyDefault, hrefURL, |
| 282 dummyPageHolder->document(), networkHints); |
| 249 EXPECT_FALSE(networkHints.didPreconnect()); | 283 EXPECT_FALSE(networkHints.didPreconnect()); |
| 250 EXPECT_EQ(testCase.shouldLoad, networkHints.didDnsPrefetch()); | 284 EXPECT_EQ(testCase.shouldLoad, networkHints.didDnsPrefetch()); |
| 251 } | 285 } |
| 252 } | 286 } |
| 253 | 287 |
| 254 TEST(LinkLoaderTest, Preconnect) { | 288 TEST(LinkLoaderTest, Preconnect) { |
| 255 struct { | 289 struct { |
| 256 const char* href; | 290 const char* href; |
| 257 CrossOriginAttributeValue crossOrigin; | 291 CrossOriginAttributeValue crossOrigin; |
| 258 const bool shouldLoad; | 292 const bool shouldLoad; |
| (...skipping 11 matching lines...) Expand all Loading... |
| 270 std::unique_ptr<DummyPageHolder> dummyPageHolder = | 304 std::unique_ptr<DummyPageHolder> dummyPageHolder = |
| 271 DummyPageHolder::create(IntSize(500, 500)); | 305 DummyPageHolder::create(IntSize(500, 500)); |
| 272 Persistent<MockLinkLoaderClient> loaderClient = | 306 Persistent<MockLinkLoaderClient> loaderClient = |
| 273 MockLinkLoaderClient::create(testCase.shouldLoad); | 307 MockLinkLoaderClient::create(testCase.shouldLoad); |
| 274 LinkLoader* loader = LinkLoader::create(loaderClient.get()); | 308 LinkLoader* loader = LinkLoader::create(loaderClient.get()); |
| 275 KURL hrefURL = | 309 KURL hrefURL = |
| 276 KURL(KURL(ParsedURLStringTag(), String("http://example.com")), | 310 KURL(KURL(ParsedURLStringTag(), String("http://example.com")), |
| 277 testCase.href); | 311 testCase.href); |
| 278 NetworkHintsMock networkHints; | 312 NetworkHintsMock networkHints; |
| 279 loader->loadLink(LinkRelAttribute("preconnect"), testCase.crossOrigin, | 313 loader->loadLink(LinkRelAttribute("preconnect"), testCase.crossOrigin, |
| 280 String(), String(), String(), hrefURL, | 314 String(), String(), String(), ReferrerPolicyDefault, |
| 281 dummyPageHolder->document(), networkHints); | 315 hrefURL, dummyPageHolder->document(), networkHints); |
| 282 EXPECT_EQ(testCase.shouldLoad, networkHints.didPreconnect()); | 316 EXPECT_EQ(testCase.shouldLoad, networkHints.didPreconnect()); |
| 283 EXPECT_EQ(testCase.isHTTPS, networkHints.isHTTPS()); | 317 EXPECT_EQ(testCase.isHTTPS, networkHints.isHTTPS()); |
| 284 EXPECT_EQ(testCase.isCrossOrigin, networkHints.isCrossOrigin()); | 318 EXPECT_EQ(testCase.isCrossOrigin, networkHints.isCrossOrigin()); |
| 285 } | 319 } |
| 286 } | 320 } |
| 287 | 321 |
| 288 } // namespace blink | 322 } // namespace blink |
| OLD | NEW |