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

Unified Diff: third_party/WebKit/Source/core/loader/LinkLoaderTest.cpp

Issue 2424943002: Add ReferrerPolicy support to preload (Closed)
Patch Set: Test fix Created 4 years, 2 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/WebKit/Source/core/loader/LinkLoader.cpp ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/Source/core/loader/LinkLoaderTest.cpp
diff --git a/third_party/WebKit/Source/core/loader/LinkLoaderTest.cpp b/third_party/WebKit/Source/core/loader/LinkLoaderTest.cpp
index c8e58f982e0ff114b59f00e032dc7d53517407d4..fdccbbf41cecd0b6c6ea3908aaa241851646fc46 100644
--- a/third_party/WebKit/Source/core/loader/LinkLoaderTest.cpp
+++ b/third_party/WebKit/Source/core/loader/LinkLoaderTest.cpp
@@ -83,96 +83,124 @@ TEST(LinkLoaderTest, Preload) {
const char* as;
const char* type;
const char* media;
+ const ReferrerPolicy referrerPolicy;
const ResourceLoadPriority priority;
const WebURLRequest::RequestContext context;
const bool linkLoaderShouldLoadValue;
const bool expectingLoad;
+ const ReferrerPolicy expectedReferrerPolicy;
} cases[] = {
- {"http://example.test/cat.jpg", "image", "", "", ResourceLoadPriorityLow,
- WebURLRequest::RequestContextImage, true, true},
- {"http://example.test/cat.js", "script", "", "", ResourceLoadPriorityHigh,
- WebURLRequest::RequestContextScript, true, true},
- {"http://example.test/cat.css", "style", "", "",
+ {"http://example.test/cat.jpg", "image", "", "", ReferrerPolicyDefault,
+ ResourceLoadPriorityLow, WebURLRequest::RequestContextImage, true, true,
+ ReferrerPolicyDefault},
+ {"http://example.test/cat.js", "script", "", "", ReferrerPolicyDefault,
+ ResourceLoadPriorityHigh, WebURLRequest::RequestContextScript, true,
+ true, ReferrerPolicyDefault},
+ {"http://example.test/cat.css", "style", "", "", ReferrerPolicyDefault,
ResourceLoadPriorityVeryHigh, WebURLRequest::RequestContextStyle, true,
- true},
+ true, ReferrerPolicyDefault},
// TODO(yoav): It doesn't seem like the audio context is ever used. That
// should probably be fixed (or we can consolidate audio and video).
- {"http://example.test/cat.wav", "media", "", "", ResourceLoadPriorityLow,
- WebURLRequest::RequestContextVideo, true, true},
- {"http://example.test/cat.mp4", "media", "", "", ResourceLoadPriorityLow,
- WebURLRequest::RequestContextVideo, true, true},
- {"http://example.test/cat.vtt", "track", "", "", ResourceLoadPriorityLow,
- WebURLRequest::RequestContextTrack, true, true},
- {"http://example.test/cat.woff", "font", "", "",
+ {"http://example.test/cat.wav", "media", "", "", ReferrerPolicyDefault,
+ ResourceLoadPriorityLow, WebURLRequest::RequestContextVideo, true, true,
+ ReferrerPolicyDefault},
+ {"http://example.test/cat.mp4", "media", "", "", ReferrerPolicyDefault,
+ ResourceLoadPriorityLow, WebURLRequest::RequestContextVideo, true, true,
+ ReferrerPolicyDefault},
+ {"http://example.test/cat.vtt", "track", "", "", ReferrerPolicyDefault,
+ ResourceLoadPriorityLow, WebURLRequest::RequestContextTrack, true, true,
+ ReferrerPolicyDefault},
+ {"http://example.test/cat.woff", "font", "", "", ReferrerPolicyDefault,
ResourceLoadPriorityVeryHigh, WebURLRequest::RequestContextFont, true,
- true},
+ true, ReferrerPolicyDefault},
// TODO(yoav): subresource should be *very* low priority (rather than
// low).
- {"http://example.test/cat.empty", "", "", "", ResourceLoadPriorityHigh,
- WebURLRequest::RequestContextSubresource, true, true},
- {"http://example.test/cat.blob", "blabla", "", "",
+ {"http://example.test/cat.empty", "", "", "", ReferrerPolicyDefault,
+ ResourceLoadPriorityHigh, WebURLRequest::RequestContextSubresource, true,
+ true, ReferrerPolicyDefault},
+ {"http://example.test/cat.blob", "blabla", "", "", ReferrerPolicyDefault,
ResourceLoadPriorityLow, WebURLRequest::RequestContextSubresource, false,
- false},
- {"bla://example.test/cat.gif", "image", "", "",
+ false, ReferrerPolicyDefault},
+ {"bla://example.test/cat.gif", "image", "", "", ReferrerPolicyDefault,
ResourceLoadPriorityUnresolved, WebURLRequest::RequestContextImage,
- false, false},
+ false, false, ReferrerPolicyDefault},
// MIME type tests
{"http://example.test/cat.webp", "image", "image/webp", "",
- ResourceLoadPriorityLow, WebURLRequest::RequestContextImage, true, true},
+ ReferrerPolicyDefault, ResourceLoadPriorityLow,
+ WebURLRequest::RequestContextImage, true, true, ReferrerPolicyDefault},
{"http://example.test/cat.svg", "image", "image/svg+xml", "",
- ResourceLoadPriorityLow, WebURLRequest::RequestContextImage, true, true},
+ ReferrerPolicyDefault, ResourceLoadPriorityLow,
+ WebURLRequest::RequestContextImage, true, true, ReferrerPolicyDefault},
{"http://example.test/cat.jxr", "image", "image/jxr", "",
- ResourceLoadPriorityUnresolved, WebURLRequest::RequestContextImage,
- false, false},
+ ReferrerPolicyDefault, ResourceLoadPriorityUnresolved,
+ WebURLRequest::RequestContextImage, false, false, ReferrerPolicyDefault},
{"http://example.test/cat.js", "script", "text/javascript", "",
- ResourceLoadPriorityHigh, WebURLRequest::RequestContextScript, true,
- true},
+ ReferrerPolicyDefault, ResourceLoadPriorityHigh,
+ WebURLRequest::RequestContextScript, true, true, ReferrerPolicyDefault},
{"http://example.test/cat.js", "script", "text/coffeescript", "",
- ResourceLoadPriorityUnresolved, WebURLRequest::RequestContextScript,
- false, false},
+ ReferrerPolicyDefault, ResourceLoadPriorityUnresolved,
+ WebURLRequest::RequestContextScript, false, false,
+ ReferrerPolicyDefault},
{"http://example.test/cat.css", "style", "text/css", "",
- ResourceLoadPriorityVeryHigh, WebURLRequest::RequestContextStyle, true,
- true},
+ ReferrerPolicyDefault, ResourceLoadPriorityVeryHigh,
+ WebURLRequest::RequestContextStyle, true, true, ReferrerPolicyDefault},
{"http://example.test/cat.css", "style", "text/sass", "",
- ResourceLoadPriorityUnresolved, WebURLRequest::RequestContextStyle,
- false, false},
+ ReferrerPolicyDefault, ResourceLoadPriorityUnresolved,
+ WebURLRequest::RequestContextStyle, false, false, ReferrerPolicyDefault},
{"http://example.test/cat.wav", "media", "audio/wav", "",
- ResourceLoadPriorityLow, WebURLRequest::RequestContextVideo, true, true},
+ ReferrerPolicyDefault, ResourceLoadPriorityLow,
+ WebURLRequest::RequestContextVideo, true, true, ReferrerPolicyDefault},
{"http://example.test/cat.wav", "media", "audio/mp57", "",
- ResourceLoadPriorityUnresolved, WebURLRequest::RequestContextVideo,
- false, false},
+ ReferrerPolicyDefault, ResourceLoadPriorityUnresolved,
+ WebURLRequest::RequestContextVideo, false, false, ReferrerPolicyDefault},
{"http://example.test/cat.webm", "media", "video/webm", "",
- ResourceLoadPriorityLow, WebURLRequest::RequestContextVideo, true, true},
+ ReferrerPolicyDefault, ResourceLoadPriorityLow,
+ WebURLRequest::RequestContextVideo, true, true, ReferrerPolicyDefault},
{"http://example.test/cat.mp199", "media", "video/mp199", "",
- ResourceLoadPriorityUnresolved, WebURLRequest::RequestContextVideo,
- false, false},
+ ReferrerPolicyDefault, ResourceLoadPriorityUnresolved,
+ WebURLRequest::RequestContextVideo, false, false, ReferrerPolicyDefault},
{"http://example.test/cat.vtt", "track", "text/vtt", "",
- ResourceLoadPriorityLow, WebURLRequest::RequestContextTrack, true, true},
+ ReferrerPolicyDefault, ResourceLoadPriorityLow,
+ WebURLRequest::RequestContextTrack, true, true, ReferrerPolicyDefault},
{"http://example.test/cat.vtt", "track", "text/subtitlething", "",
- ResourceLoadPriorityUnresolved, WebURLRequest::RequestContextTrack,
- false, false},
+ ReferrerPolicyDefault, ResourceLoadPriorityUnresolved,
+ WebURLRequest::RequestContextTrack, false, false, ReferrerPolicyDefault},
{"http://example.test/cat.woff", "font", "font/woff2", "",
- ResourceLoadPriorityVeryHigh, WebURLRequest::RequestContextFont, true,
- true},
+ ReferrerPolicyDefault, ResourceLoadPriorityVeryHigh,
+ WebURLRequest::RequestContextFont, true, true, ReferrerPolicyDefault},
{"http://example.test/cat.woff", "font", "font/woff84", "",
- ResourceLoadPriorityUnresolved, WebURLRequest::RequestContextFont, false,
- false},
+ ReferrerPolicyDefault, ResourceLoadPriorityUnresolved,
+ WebURLRequest::RequestContextFont, false, false, ReferrerPolicyDefault},
{"http://example.test/cat.empty", "", "foo/bar", "",
- ResourceLoadPriorityHigh, WebURLRequest::RequestContextSubresource, true,
- true},
+ ReferrerPolicyDefault, ResourceLoadPriorityHigh,
+ WebURLRequest::RequestContextSubresource, true, true,
+ ReferrerPolicyDefault},
{"http://example.test/cat.blob", "blabla", "foo/bar", "",
- ResourceLoadPriorityLow, WebURLRequest::RequestContextSubresource, false,
- false},
+ ReferrerPolicyDefault, ResourceLoadPriorityLow,
+ WebURLRequest::RequestContextSubresource, false, false,
+ ReferrerPolicyDefault},
// Media tests
{"http://example.test/cat.gif", "image", "image/gif",
- "(max-width: 600px)", ResourceLoadPriorityLow,
- WebURLRequest::RequestContextImage, true, true},
+ "(max-width: 600px)", ReferrerPolicyDefault, ResourceLoadPriorityLow,
+ WebURLRequest::RequestContextImage, true, true, ReferrerPolicyDefault},
{"http://example.test/cat.gif", "image", "image/gif",
- "(max-width: 400px)", ResourceLoadPriorityUnresolved,
- WebURLRequest::RequestContextImage, true, false},
+ "(max-width: 400px)", ReferrerPolicyDefault,
+ ResourceLoadPriorityUnresolved, WebURLRequest::RequestContextImage, true,
+ false, ReferrerPolicyDefault},
{"http://example.test/cat.gif", "image", "image/gif",
- "(max-width: 600px)", ResourceLoadPriorityLow,
- WebURLRequest::RequestContextImage, false, false},
+ "(max-width: 600px)", ReferrerPolicyDefault, ResourceLoadPriorityLow,
+ WebURLRequest::RequestContextImage, false, false, ReferrerPolicyDefault},
+ // Referrer Policy
+ {"http://example.test/cat.gif", "image", "image/gif", "",
+ ReferrerPolicyOrigin, ResourceLoadPriorityLow,
+ WebURLRequest::RequestContextImage, true, true, ReferrerPolicyOrigin},
+ {"http://example.test/cat.gif", "image", "image/gif", "",
+ ReferrerPolicyOriginWhenCrossOrigin, ResourceLoadPriorityLow,
+ WebURLRequest::RequestContextImage, true, true,
+ ReferrerPolicyOriginWhenCrossOrigin},
+ {"http://example.test/cat.gif", "image", "image/gif", "",
+ ReferrerPolicyNever, ResourceLoadPriorityLow,
+ WebURLRequest::RequestContextImage, true, true, ReferrerPolicyNever},
};
// Test the cases with a single header
@@ -186,7 +214,8 @@ TEST(LinkLoaderTest, Preload) {
KURL hrefURL = KURL(KURL(), testCase.href);
URLTestHelpers::registerMockedErrorURLLoad(hrefURL);
loader->loadLink(LinkRelAttribute("preload"), CrossOriginAttributeNotSet,
- testCase.type, testCase.as, testCase.media, hrefURL,
+ testCase.type, testCase.as, testCase.media,
+ testCase.referrerPolicy, hrefURL,
dummyPageHolder->document(), NetworkHintsMock());
ASSERT_TRUE(dummyPageHolder->document().fetcher());
HeapListHashSet<Member<Resource>>* preloads =
@@ -210,6 +239,10 @@ TEST(LinkLoaderTest, Preload) {
EXPECT_EQ(testCase.priority, resource->resourceRequest().priority());
EXPECT_EQ(testCase.context,
resource->resourceRequest().requestContext());
+ if (testCase.expectedReferrerPolicy != ReferrerPolicyDefault) {
+ EXPECT_EQ(testCase.expectedReferrerPolicy,
+ resource->resourceRequest().getReferrerPolicy());
+ }
}
}
dummyPageHolder->document().fetcher()->clearPreloads();
@@ -245,7 +278,8 @@ TEST(LinkLoaderTest, DNSPrefetch) {
NetworkHintsMock networkHints;
loader->loadLink(LinkRelAttribute("dns-prefetch"),
CrossOriginAttributeNotSet, String(), String(), String(),
- hrefURL, dummyPageHolder->document(), networkHints);
+ ReferrerPolicyDefault, hrefURL,
+ dummyPageHolder->document(), networkHints);
EXPECT_FALSE(networkHints.didPreconnect());
EXPECT_EQ(testCase.shouldLoad, networkHints.didDnsPrefetch());
}
@@ -277,8 +311,8 @@ TEST(LinkLoaderTest, Preconnect) {
testCase.href);
NetworkHintsMock networkHints;
loader->loadLink(LinkRelAttribute("preconnect"), testCase.crossOrigin,
- String(), String(), String(), hrefURL,
- dummyPageHolder->document(), networkHints);
+ String(), String(), String(), ReferrerPolicyDefault,
+ hrefURL, dummyPageHolder->document(), networkHints);
EXPECT_EQ(testCase.shouldLoad, networkHints.didPreconnect());
EXPECT_EQ(testCase.isHTTPS, networkHints.isHTTPS());
EXPECT_EQ(testCase.isCrossOrigin, networkHints.isCrossOrigin());
« no previous file with comments | « third_party/WebKit/Source/core/loader/LinkLoader.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698