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

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

Issue 1487343002: Set credentials mode "same-origin" when crossOrigin=anonymous is set. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: call testRunner.setAlwaysAcceptCookies to set remote origin cookie. Created 5 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 // 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 "config.h" 5 #include "config.h"
6 #include "core/loader/LinkLoader.h" 6 #include "core/loader/LinkLoader.h"
7 7
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 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 }; 89 };
90 90
91 // Test the cases with a single header 91 // Test the cases with a single header
92 for (const auto& testCase : cases) { 92 for (const auto& testCase : cases) {
93 OwnPtr<DummyPageHolder> dummyPageHolder = DummyPageHolder::create(IntSiz e(500, 500)); 93 OwnPtr<DummyPageHolder> dummyPageHolder = DummyPageHolder::create(IntSiz e(500, 500));
94 dummyPageHolder->frame().settings()->setScriptEnabled(true); 94 dummyPageHolder->frame().settings()->setScriptEnabled(true);
95 MockLinkLoaderClient loaderClient(testCase.shouldLoad); 95 MockLinkLoaderClient loaderClient(testCase.shouldLoad);
96 LinkLoader loader(&loaderClient); 96 LinkLoader loader(&loaderClient);
97 KURL hrefURL = KURL(KURL(), testCase.href); 97 KURL hrefURL = KURL(KURL(), testCase.href);
98 loader.loadLink(LinkRelAttribute("preload"), 98 loader.loadLink(LinkRelAttribute("preload"),
99 AtomicString(), 99 CrossOriginAttributeNotSet,
100 String(), 100 String(),
101 testCase.as, 101 testCase.as,
102 hrefURL, 102 hrefURL,
103 dummyPageHolder->document(), 103 dummyPageHolder->document(),
104 NetworkHintsMock()); 104 NetworkHintsMock());
105 ASSERT(dummyPageHolder->document().fetcher()); 105 ASSERT(dummyPageHolder->document().fetcher());
106 WillBeHeapListHashSet<RawPtrWillBeMember<Resource>>* preloads = dummyPag eHolder->document().fetcher()->preloads(); 106 WillBeHeapListHashSet<RawPtrWillBeMember<Resource>>* preloads = dummyPag eHolder->document().fetcher()->preloads();
107 if (testCase.shouldLoad) 107 if (testCase.shouldLoad)
108 ASSERT_NE(nullptr, preloads); 108 ASSERT_NE(nullptr, preloads);
109 if (preloads) { 109 if (preloads) {
(...skipping 23 matching lines...) Expand all
133 133
134 // Test the cases with a single header 134 // Test the cases with a single header
135 for (const auto& testCase : cases) { 135 for (const auto& testCase : cases) {
136 OwnPtr<DummyPageHolder> dummyPageHolder = DummyPageHolder::create(IntSiz e(500, 500)); 136 OwnPtr<DummyPageHolder> dummyPageHolder = DummyPageHolder::create(IntSiz e(500, 500));
137 dummyPageHolder->document().settings()->setDNSPrefetchingEnabled(true); 137 dummyPageHolder->document().settings()->setDNSPrefetchingEnabled(true);
138 MockLinkLoaderClient loaderClient(testCase.shouldLoad); 138 MockLinkLoaderClient loaderClient(testCase.shouldLoad);
139 LinkLoader loader(&loaderClient); 139 LinkLoader loader(&loaderClient);
140 KURL hrefURL = KURL(KURL(ParsedURLStringTag(), String("http://example.co m")), testCase.href); 140 KURL hrefURL = KURL(KURL(ParsedURLStringTag(), String("http://example.co m")), testCase.href);
141 NetworkHintsMock networkHints; 141 NetworkHintsMock networkHints;
142 loader.loadLink(LinkRelAttribute("dns-prefetch"), 142 loader.loadLink(LinkRelAttribute("dns-prefetch"),
143 AtomicString(), 143 CrossOriginAttributeNotSet,
144 String(), 144 String(),
145 String(), 145 String(),
146 hrefURL, 146 hrefURL,
147 dummyPageHolder->document(), 147 dummyPageHolder->document(),
148 networkHints); 148 networkHints);
149 ASSERT_FALSE(networkHints.didPreconnect()); 149 ASSERT_FALSE(networkHints.didPreconnect());
150 ASSERT_EQ(testCase.shouldLoad, networkHints.didDnsPrefetch()); 150 ASSERT_EQ(testCase.shouldLoad, networkHints.didDnsPrefetch());
151 } 151 }
152 } 152 }
153 153
154 TEST(LinkLoaderTest, Preconnect) 154 TEST(LinkLoaderTest, Preconnect)
155 { 155 {
156 struct { 156 struct {
157 const char* href; 157 const char* href;
158 const char* crossOrigin; 158 CrossOriginAttributeValue crossOrigin;
159 const bool shouldLoad; 159 const bool shouldLoad;
160 const bool isHTTPS; 160 const bool isHTTPS;
161 const bool isCrossOrigin; 161 const bool isCrossOrigin;
162 } cases[] = { 162 } cases[] = {
163 {"http://example.com/", nullptr, true, false, false}, 163 {"http://example.com/", CrossOriginAttributeNotSet, true, false, false},
164 {"https://example.com/", nullptr, true, true, false}, 164 {"https://example.com/", CrossOriginAttributeNotSet, true, true, false},
165 {"http://example.com/", "anonymous", true, false, true}, 165 {"http://example.com/", CrossOriginAttributeAnonymous, true, false, true },
166 {"//example.com/", nullptr, true, false, false}, 166 {"//example.com/", CrossOriginAttributeNotSet, true, false, false},
167 }; 167 };
168 168
169 // Test the cases with a single header 169 // Test the cases with a single header
170 for (const auto& testCase : cases) { 170 for (const auto& testCase : cases) {
171 OwnPtr<DummyPageHolder> dummyPageHolder = DummyPageHolder::create(IntSiz e(500, 500)); 171 OwnPtr<DummyPageHolder> dummyPageHolder = DummyPageHolder::create(IntSiz e(500, 500));
172 MockLinkLoaderClient loaderClient(testCase.shouldLoad); 172 MockLinkLoaderClient loaderClient(testCase.shouldLoad);
173 LinkLoader loader(&loaderClient); 173 LinkLoader loader(&loaderClient);
174 KURL hrefURL = KURL(KURL(ParsedURLStringTag(), String("http://example.co m")), testCase.href); 174 KURL hrefURL = KURL(KURL(ParsedURLStringTag(), String("http://example.co m")), testCase.href);
175 NetworkHintsMock networkHints; 175 NetworkHintsMock networkHints;
176 loader.loadLink(LinkRelAttribute("preconnect"), 176 loader.loadLink(LinkRelAttribute("preconnect"),
177 testCase.crossOrigin, 177 testCase.crossOrigin,
178 String(), 178 String(),
179 String(), 179 String(),
180 hrefURL, 180 hrefURL,
181 dummyPageHolder->document(), 181 dummyPageHolder->document(),
182 networkHints); 182 networkHints);
183 ASSERT_EQ(testCase.shouldLoad, networkHints.didPreconnect()); 183 ASSERT_EQ(testCase.shouldLoad, networkHints.didPreconnect());
184 ASSERT_EQ(testCase.isHTTPS, networkHints.isHTTPS()); 184 ASSERT_EQ(testCase.isHTTPS, networkHints.isHTTPS());
185 ASSERT_EQ(testCase.isCrossOrigin, networkHints.isCrossOrigin()); 185 ASSERT_EQ(testCase.isCrossOrigin, networkHints.isCrossOrigin());
186 } 186 }
187 } 187 }
188 188
189 } // namespace blink 189 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698