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

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: rebase 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 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 }; 99 };
100 100
101 // Test the cases with a single header 101 // Test the cases with a single header
102 for (const auto& testCase : cases) { 102 for (const auto& testCase : cases) {
103 OwnPtr<DummyPageHolder> dummyPageHolder = DummyPageHolder::create(IntSiz e(500, 500)); 103 OwnPtr<DummyPageHolder> dummyPageHolder = DummyPageHolder::create(IntSiz e(500, 500));
104 dummyPageHolder->frame().settings()->setScriptEnabled(true); 104 dummyPageHolder->frame().settings()->setScriptEnabled(true);
105 MockLinkLoaderClient loaderClient(testCase.shouldLoad); 105 MockLinkLoaderClient loaderClient(testCase.shouldLoad);
106 LinkLoader loader(&loaderClient); 106 LinkLoader loader(&loaderClient);
107 KURL hrefURL = KURL(KURL(), testCase.href); 107 KURL hrefURL = KURL(KURL(), testCase.href);
108 loader.loadLink(LinkRelAttribute("preload"), 108 loader.loadLink(LinkRelAttribute("preload"),
109 AtomicString(), 109 CrossOriginAttributeNotSet,
110 String(), 110 String(),
111 testCase.as, 111 testCase.as,
112 hrefURL, 112 hrefURL,
113 dummyPageHolder->document(), 113 dummyPageHolder->document(),
114 NetworkHintsMock()); 114 NetworkHintsMock());
115 ASSERT(dummyPageHolder->document().fetcher()); 115 ASSERT(dummyPageHolder->document().fetcher());
116 WillBeHeapListHashSet<RawPtrWillBeMember<Resource>>* preloads = dummyPag eHolder->document().fetcher()->preloads(); 116 WillBeHeapListHashSet<RawPtrWillBeMember<Resource>>* preloads = dummyPag eHolder->document().fetcher()->preloads();
117 if (testCase.shouldLoad) 117 if (testCase.shouldLoad)
118 ASSERT_NE(nullptr, preloads); 118 ASSERT_NE(nullptr, preloads);
119 if (preloads) { 119 if (preloads) {
(...skipping 27 matching lines...) Expand all
147 147
148 // Test the cases with a single header 148 // Test the cases with a single header
149 for (const auto& testCase : cases) { 149 for (const auto& testCase : cases) {
150 OwnPtr<DummyPageHolder> dummyPageHolder = DummyPageHolder::create(IntSiz e(500, 500)); 150 OwnPtr<DummyPageHolder> dummyPageHolder = DummyPageHolder::create(IntSiz e(500, 500));
151 dummyPageHolder->document().settings()->setDNSPrefetchingEnabled(true); 151 dummyPageHolder->document().settings()->setDNSPrefetchingEnabled(true);
152 MockLinkLoaderClient loaderClient(testCase.shouldLoad); 152 MockLinkLoaderClient loaderClient(testCase.shouldLoad);
153 LinkLoader loader(&loaderClient); 153 LinkLoader loader(&loaderClient);
154 KURL hrefURL = KURL(KURL(ParsedURLStringTag(), String("http://example.co m")), testCase.href); 154 KURL hrefURL = KURL(KURL(ParsedURLStringTag(), String("http://example.co m")), testCase.href);
155 NetworkHintsMock networkHints; 155 NetworkHintsMock networkHints;
156 loader.loadLink(LinkRelAttribute("dns-prefetch"), 156 loader.loadLink(LinkRelAttribute("dns-prefetch"),
157 AtomicString(), 157 CrossOriginAttributeNotSet,
158 String(), 158 String(),
159 String(), 159 String(),
160 hrefURL, 160 hrefURL,
161 dummyPageHolder->document(), 161 dummyPageHolder->document(),
162 networkHints); 162 networkHints);
163 ASSERT_FALSE(networkHints.didPreconnect()); 163 ASSERT_FALSE(networkHints.didPreconnect());
164 ASSERT_EQ(testCase.shouldLoad, networkHints.didDnsPrefetch()); 164 ASSERT_EQ(testCase.shouldLoad, networkHints.didDnsPrefetch());
165 } 165 }
166 } 166 }
167 167
168 TEST(LinkLoaderTest, Preconnect) 168 TEST(LinkLoaderTest, Preconnect)
169 { 169 {
170 struct { 170 struct {
171 const char* href; 171 const char* href;
172 const char* crossOrigin; 172 CrossOriginAttributeValue crossOrigin;
173 const bool shouldLoad; 173 const bool shouldLoad;
174 const bool isHTTPS; 174 const bool isHTTPS;
175 const bool isCrossOrigin; 175 const bool isCrossOrigin;
176 } cases[] = { 176 } cases[] = {
177 {"http://example.com/", nullptr, true, false, false}, 177 {"http://example.com/", CrossOriginAttributeNotSet, true, false, false},
178 {"https://example.com/", nullptr, true, true, false}, 178 {"https://example.com/", CrossOriginAttributeNotSet, true, true, false},
179 {"http://example.com/", "anonymous", true, false, true}, 179 {"http://example.com/", CrossOriginAttributeAnonymous, true, false, true },
180 {"//example.com/", nullptr, true, false, false}, 180 {"//example.com/", CrossOriginAttributeNotSet, true, false, false},
181 }; 181 };
182 182
183 // Test the cases with a single header 183 // Test the cases with a single header
184 for (const auto& testCase : cases) { 184 for (const auto& testCase : cases) {
185 OwnPtr<DummyPageHolder> dummyPageHolder = DummyPageHolder::create(IntSiz e(500, 500)); 185 OwnPtr<DummyPageHolder> dummyPageHolder = DummyPageHolder::create(IntSiz e(500, 500));
186 MockLinkLoaderClient loaderClient(testCase.shouldLoad); 186 MockLinkLoaderClient loaderClient(testCase.shouldLoad);
187 LinkLoader loader(&loaderClient); 187 LinkLoader loader(&loaderClient);
188 KURL hrefURL = KURL(KURL(ParsedURLStringTag(), String("http://example.co m")), testCase.href); 188 KURL hrefURL = KURL(KURL(ParsedURLStringTag(), String("http://example.co m")), testCase.href);
189 NetworkHintsMock networkHints; 189 NetworkHintsMock networkHints;
190 loader.loadLink(LinkRelAttribute("preconnect"), 190 loader.loadLink(LinkRelAttribute("preconnect"),
191 testCase.crossOrigin, 191 testCase.crossOrigin,
192 String(), 192 String(),
193 String(), 193 String(),
194 hrefURL, 194 hrefURL,
195 dummyPageHolder->document(), 195 dummyPageHolder->document(),
196 networkHints); 196 networkHints);
197 ASSERT_EQ(testCase.shouldLoad, networkHints.didPreconnect()); 197 ASSERT_EQ(testCase.shouldLoad, networkHints.didPreconnect());
198 ASSERT_EQ(testCase.isHTTPS, networkHints.isHTTPS()); 198 ASSERT_EQ(testCase.isHTTPS, networkHints.isHTTPS());
199 ASSERT_EQ(testCase.isCrossOrigin, networkHints.isCrossOrigin()); 199 ASSERT_EQ(testCase.isCrossOrigin, networkHints.isCrossOrigin());
200 } 200 }
201 } 201 }
202 202
203 } // namespace blink 203 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/loader/LinkLoader.cpp ('k') | third_party/WebKit/Source/core/loader/TextTrackLoader.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698