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

Side by Side Diff: third_party/WebKit/Source/web/tests/WebDocumentTest.cpp

Issue 1607243002: Add 'OriginAccessEntry::matchDomain'. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2623
Patch Set: Created 4 years, 11 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "public/web/WebDocument.h" 5 #include "public/web/WebDocument.h"
6 6
7 #include "core/CSSPropertyNames.h" 7 #include "core/CSSPropertyNames.h"
8 #include "core/HTMLNames.h" 8 #include "core/HTMLNames.h"
9 #include "core/dom/NodeComputedStyle.h" 9 #include "core/dom/NodeComputedStyle.h"
10 #include "core/dom/StyleEngine.h" 10 #include "core/dom/StyleEngine.h"
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 132
133 // Crossorigin set to 'use-credentials' should trigger using credentials. 133 // Crossorigin set to 'use-credentials' should trigger using credentials.
134 linkManifest->setAttribute(HTMLNames::crossoriginAttr, "use-credentials"); 134 linkManifest->setAttribute(HTMLNames::crossoriginAttr, "use-credentials");
135 ASSERT_TRUE(webDoc.manifestUseCredentials()); 135 ASSERT_TRUE(webDoc.manifestUseCredentials());
136 } 136 }
137 137
138 namespace { 138 namespace {
139 139
140 const char* baseURLOriginA = "http://example.test:0/"; 140 const char* baseURLOriginA = "http://example.test:0/";
141 const char* baseURLOriginSubA = "http://subdomain.example.test:0/"; 141 const char* baseURLOriginSubA = "http://subdomain.example.test:0/";
142 const char* baseURLOriginSecureA = "https://example.test:0/";
142 const char* baseURLOriginB = "http://not-example.test:0/"; 143 const char* baseURLOriginB = "http://not-example.test:0/";
143 const char* emptyFile = "first_party/empty.html"; 144 const char* emptyFile = "first_party/empty.html";
144 const char* nestedData = "first_party/nested-data.html"; 145 const char* nestedData = "first_party/nested-data.html";
145 const char* nestedOriginA = "first_party/nested-originA.html"; 146 const char* nestedOriginA = "first_party/nested-originA.html";
146 const char* nestedOriginSubA = "first_party/nested-originSubA.html"; 147 const char* nestedOriginSubA = "first_party/nested-originSubA.html";
148 const char* nestedOriginSecureA = "first_party/nested-originSecureA.html";
147 const char* nestedOriginAInOriginA = "first_party/nested-originA-in-originA.html "; 149 const char* nestedOriginAInOriginA = "first_party/nested-originA-in-originA.html ";
148 const char* nestedOriginAInOriginB = "first_party/nested-originA-in-originB.html "; 150 const char* nestedOriginAInOriginB = "first_party/nested-originA-in-originB.html ";
149 const char* nestedOriginB = "first_party/nested-originB.html"; 151 const char* nestedOriginB = "first_party/nested-originB.html";
150 const char* nestedOriginBInOriginA = "first_party/nested-originB-in-originA.html "; 152 const char* nestedOriginBInOriginA = "first_party/nested-originB-in-originA.html ";
151 const char* nestedOriginBInOriginB = "first_party/nested-originB-in-originB.html "; 153 const char* nestedOriginBInOriginB = "first_party/nested-originB-in-originB.html ";
152 const char* nestedSrcDoc = "first_party/nested-srcdoc.html"; 154 const char* nestedSrcDoc = "first_party/nested-srcdoc.html";
153 155
154 KURL toOriginA(const char* file) 156 KURL toOriginA(const char* file)
155 { 157 {
156 return toKURL(std::string(baseURLOriginA) + file); 158 return toKURL(std::string(baseURLOriginA) + file);
157 } 159 }
158 160
159 KURL toOriginSubA(const char* file) 161 KURL toOriginSubA(const char* file)
160 { 162 {
161 return toKURL(std::string(baseURLOriginSubA) + file); 163 return toKURL(std::string(baseURLOriginSubA) + file);
162 } 164 }
163 165
166 KURL toOriginSecureA(const char* file)
167 {
168 return toKURL(std::string(baseURLOriginSecureA) + file);
169 }
170
164 KURL toOriginB(const char* file) 171 KURL toOriginB(const char* file)
165 { 172 {
166 return toKURL(std::string(baseURLOriginB) + file); 173 return toKURL(std::string(baseURLOriginB) + file);
167 } 174 }
168 175
169 } // anonymous namespace 176 } // anonymous namespace
170 177
171 class WebDocumentFirstPartyTest : public WebDocumentTest { 178 class WebDocumentFirstPartyTest : public WebDocumentTest {
172 public: 179 public:
173 static void SetUpTestCase(); 180 static void SetUpTestCase();
174 181
175 protected: 182 protected:
176 void load(const char*); 183 void load(const char*);
177 Document* nestedDocument() const; 184 Document* nestedDocument() const;
178 Document* nestedNestedDocument() const; 185 Document* nestedNestedDocument() const;
179 }; 186 };
180 187
181 void WebDocumentFirstPartyTest::SetUpTestCase() 188 void WebDocumentFirstPartyTest::SetUpTestCase()
182 { 189 {
183 URLTestHelpers::registerMockedURLLoad(toOriginA(emptyFile), WebString::fromU TF8(emptyFile)); 190 URLTestHelpers::registerMockedURLLoad(toOriginA(emptyFile), WebString::fromU TF8(emptyFile));
184 URLTestHelpers::registerMockedURLLoad(toOriginA(nestedData), WebString::from UTF8(nestedData)); 191 URLTestHelpers::registerMockedURLLoad(toOriginA(nestedData), WebString::from UTF8(nestedData));
185 URLTestHelpers::registerMockedURLLoad(toOriginA(nestedOriginA), WebString::f romUTF8(nestedOriginA)); 192 URLTestHelpers::registerMockedURLLoad(toOriginA(nestedOriginA), WebString::f romUTF8(nestedOriginA));
186 URLTestHelpers::registerMockedURLLoad(toOriginA(nestedOriginSubA), WebString ::fromUTF8(nestedOriginSubA)); 193 URLTestHelpers::registerMockedURLLoad(toOriginA(nestedOriginSubA), WebString ::fromUTF8(nestedOriginSubA));
194 URLTestHelpers::registerMockedURLLoad(toOriginA(nestedOriginSecureA), WebStr ing::fromUTF8(nestedOriginSecureA));
187 URLTestHelpers::registerMockedURLLoad(toOriginA(nestedOriginAInOriginA), Web String::fromUTF8(nestedOriginAInOriginA)); 195 URLTestHelpers::registerMockedURLLoad(toOriginA(nestedOriginAInOriginA), Web String::fromUTF8(nestedOriginAInOriginA));
188 URLTestHelpers::registerMockedURLLoad(toOriginA(nestedOriginAInOriginB), Web String::fromUTF8(nestedOriginAInOriginB)); 196 URLTestHelpers::registerMockedURLLoad(toOriginA(nestedOriginAInOriginB), Web String::fromUTF8(nestedOriginAInOriginB));
189 URLTestHelpers::registerMockedURLLoad(toOriginA(nestedOriginB), WebString::f romUTF8(nestedOriginB)); 197 URLTestHelpers::registerMockedURLLoad(toOriginA(nestedOriginB), WebString::f romUTF8(nestedOriginB));
190 URLTestHelpers::registerMockedURLLoad(toOriginA(nestedOriginBInOriginA), Web String::fromUTF8(nestedOriginBInOriginA)); 198 URLTestHelpers::registerMockedURLLoad(toOriginA(nestedOriginBInOriginA), Web String::fromUTF8(nestedOriginBInOriginA));
191 URLTestHelpers::registerMockedURLLoad(toOriginA(nestedOriginBInOriginB), Web String::fromUTF8(nestedOriginBInOriginB)); 199 URLTestHelpers::registerMockedURLLoad(toOriginA(nestedOriginBInOriginB), Web String::fromUTF8(nestedOriginBInOriginB));
192 URLTestHelpers::registerMockedURLLoad(toOriginA(nestedSrcDoc), WebString::fr omUTF8(nestedSrcDoc)); 200 URLTestHelpers::registerMockedURLLoad(toOriginA(nestedSrcDoc), WebString::fr omUTF8(nestedSrcDoc));
193 201
194 URLTestHelpers::registerMockedURLLoad(toOriginSubA(emptyFile), WebString::fr omUTF8(emptyFile)); 202 URLTestHelpers::registerMockedURLLoad(toOriginSubA(emptyFile), WebString::fr omUTF8(emptyFile));
203 URLTestHelpers::registerMockedURLLoad(toOriginSecureA(emptyFile), WebString: :fromUTF8(emptyFile));
195 204
196 URLTestHelpers::registerMockedURLLoad(toOriginB(emptyFile), WebString::fromU TF8(emptyFile)); 205 URLTestHelpers::registerMockedURLLoad(toOriginB(emptyFile), WebString::fromU TF8(emptyFile));
197 URLTestHelpers::registerMockedURLLoad(toOriginB(nestedOriginA), WebString::f romUTF8(nestedOriginA)); 206 URLTestHelpers::registerMockedURLLoad(toOriginB(nestedOriginA), WebString::f romUTF8(nestedOriginA));
198 URLTestHelpers::registerMockedURLLoad(toOriginB(nestedOriginB), WebString::f romUTF8(nestedOriginB)); 207 URLTestHelpers::registerMockedURLLoad(toOriginB(nestedOriginB), WebString::f romUTF8(nestedOriginB));
199 } 208 }
200 209
201 void WebDocumentFirstPartyTest::load(const char* file) 210 void WebDocumentFirstPartyTest::load(const char* file)
202 { 211 {
203 m_webViewHelper.initializeAndLoad(std::string(baseURLOriginA) + file); 212 m_webViewHelper.initializeAndLoad(std::string(baseURLOriginA) + file);
204 } 213 }
(...skipping 24 matching lines...) Expand all
229 } 238 }
230 239
231 TEST_F(WebDocumentFirstPartyTest, NestedOriginSubA) 240 TEST_F(WebDocumentFirstPartyTest, NestedOriginSubA)
232 { 241 {
233 load(nestedOriginSubA); 242 load(nestedOriginSubA);
234 243
235 ASSERT_EQ(toOriginA(nestedOriginSubA), topDocument()->firstPartyForCookies() ); 244 ASSERT_EQ(toOriginA(nestedOriginSubA), topDocument()->firstPartyForCookies() );
236 ASSERT_EQ(toOriginA(nestedOriginSubA), nestedDocument()->firstPartyForCookie s()); 245 ASSERT_EQ(toOriginA(nestedOriginSubA), nestedDocument()->firstPartyForCookie s());
237 } 246 }
238 247
248 TEST_F(WebDocumentFirstPartyTest, NestedOriginSecureA)
249 {
250 load(nestedOriginSecureA);
251
252 ASSERT_EQ(toOriginA(nestedOriginSecureA), topDocument()->firstPartyForCookie s());
253 ASSERT_EQ(toOriginA(nestedOriginSecureA), nestedDocument()->firstPartyForCoo kies());
254 }
255
239 TEST_F(WebDocumentFirstPartyTest, NestedOriginAInOriginA) 256 TEST_F(WebDocumentFirstPartyTest, NestedOriginAInOriginA)
240 { 257 {
241 load(nestedOriginAInOriginA); 258 load(nestedOriginAInOriginA);
242 259
243 ASSERT_EQ(toOriginA(nestedOriginAInOriginA), topDocument()->firstPartyForCoo kies()); 260 ASSERT_EQ(toOriginA(nestedOriginAInOriginA), topDocument()->firstPartyForCoo kies());
244 ASSERT_EQ(toOriginA(nestedOriginAInOriginA), nestedDocument()->firstPartyFor Cookies()); 261 ASSERT_EQ(toOriginA(nestedOriginAInOriginA), nestedDocument()->firstPartyFor Cookies());
245 ASSERT_EQ(toOriginA(nestedOriginAInOriginA), nestedNestedDocument()->firstPa rtyForCookies()); 262 ASSERT_EQ(toOriginA(nestedOriginAInOriginA), nestedNestedDocument()->firstPa rtyForCookies());
246 } 263 }
247 264
248 TEST_F(WebDocumentFirstPartyTest, NestedOriginAInOriginB) 265 TEST_F(WebDocumentFirstPartyTest, NestedOriginAInOriginB)
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
301 load(nestedOriginAInOriginB); 318 load(nestedOriginAInOriginB);
302 319
303 SchemeRegistry::registerURLSchemeAsFirstPartyWhenTopLevel("http"); 320 SchemeRegistry::registerURLSchemeAsFirstPartyWhenTopLevel("http");
304 321
305 ASSERT_EQ(toOriginA(nestedOriginAInOriginB), topDocument()->firstPartyForCoo kies()); 322 ASSERT_EQ(toOriginA(nestedOriginAInOriginB), topDocument()->firstPartyForCoo kies());
306 ASSERT_EQ(toOriginA(nestedOriginAInOriginB), nestedDocument()->firstPartyFor Cookies()); 323 ASSERT_EQ(toOriginA(nestedOriginAInOriginB), nestedDocument()->firstPartyFor Cookies());
307 ASSERT_EQ(toOriginA(nestedOriginAInOriginB), nestedNestedDocument()->firstPa rtyForCookies()); 324 ASSERT_EQ(toOriginA(nestedOriginAInOriginB), nestedNestedDocument()->firstPa rtyForCookies());
308 } 325 }
309 326
310 } // namespace blink 327 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698