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

Unified Diff: Source/web/tests/WebDocumentTest.cpp

Issue 1133223002: Apply PSL to "first-party for cookies" ancestor restrictions. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 7 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 | « Source/core/dom/Document.cpp ('k') | Source/web/tests/data/first_party/nested-originSubA.html » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/web/tests/WebDocumentTest.cpp
diff --git a/Source/web/tests/WebDocumentTest.cpp b/Source/web/tests/WebDocumentTest.cpp
index 8c71dc317a9bc2a5164abfc7be992cacac928651..7c8993e06abf1031b550afa571bece2a90854018 100644
--- a/Source/web/tests/WebDocumentTest.cpp
+++ b/Source/web/tests/WebDocumentTest.cpp
@@ -208,10 +208,12 @@ TEST(WebDocumentTest, SetIsTransitionDocument)
namespace {
const char* baseURLOriginA = "http://example.test:0/";
+ const char* baseURLOriginSubA = "http://subdomain.example.test:0/";
Ryan Sleevi 2015/05/15 21:33:42 An invalid origin, FWIW ;) (:0 = oh noes)
const char* baseURLOriginB = "http://not-example.test:0/";
const char* emptyFile = "first_party/empty.html";
const char* nestedData = "first_party/nested-data.html";
const char* nestedOriginA = "first_party/nested-originA.html";
+ const char* nestedOriginSubA = "first_party/nested-originSubA.html";
const char* nestedOriginAInOriginA = "first_party/nested-originA-in-originA.html";
const char* nestedOriginAInOriginB = "first_party/nested-originA-in-originB.html";
const char* nestedOriginB = "first_party/nested-originB.html";
@@ -224,6 +226,11 @@ namespace {
return toKURL(std::string(baseURLOriginA) + file);
}
+ static KURL toOriginSubA(const char* file)
+ {
+ return toKURL(std::string(baseURLOriginSubA) + file);
+ }
+
static KURL toOriginB(const char* file)
{
return toKURL(std::string(baseURLOriginB) + file);
@@ -248,6 +255,7 @@ void WebDocumentFirstPartyTest::SetUpTestCase()
URLTestHelpers::registerMockedURLLoad(toOriginA(emptyFile), WebString::fromUTF8(emptyFile));
URLTestHelpers::registerMockedURLLoad(toOriginA(nestedData), WebString::fromUTF8(nestedData));
URLTestHelpers::registerMockedURLLoad(toOriginA(nestedOriginA), WebString::fromUTF8(nestedOriginA));
+ URLTestHelpers::registerMockedURLLoad(toOriginA(nestedOriginSubA), WebString::fromUTF8(nestedOriginSubA));
URLTestHelpers::registerMockedURLLoad(toOriginA(nestedOriginAInOriginA), WebString::fromUTF8(nestedOriginAInOriginA));
URLTestHelpers::registerMockedURLLoad(toOriginA(nestedOriginAInOriginB), WebString::fromUTF8(nestedOriginAInOriginB));
URLTestHelpers::registerMockedURLLoad(toOriginA(nestedOriginB), WebString::fromUTF8(nestedOriginB));
@@ -255,6 +263,8 @@ void WebDocumentFirstPartyTest::SetUpTestCase()
URLTestHelpers::registerMockedURLLoad(toOriginA(nestedOriginBInOriginB), WebString::fromUTF8(nestedOriginBInOriginB));
URLTestHelpers::registerMockedURLLoad(toOriginA(nestedSrcDoc), WebString::fromUTF8(nestedSrcDoc));
+ URLTestHelpers::registerMockedURLLoad(toOriginSubA(emptyFile), WebString::fromUTF8(emptyFile));
+
URLTestHelpers::registerMockedURLLoad(toOriginB(emptyFile), WebString::fromUTF8(emptyFile));
URLTestHelpers::registerMockedURLLoad(toOriginB(nestedOriginA), WebString::fromUTF8(nestedOriginA));
URLTestHelpers::registerMockedURLLoad(toOriginB(nestedOriginB), WebString::fromUTF8(nestedOriginB));
@@ -304,6 +314,19 @@ TEST_F(WebDocumentFirstPartyTest, NestedOriginA)
ASSERT_EQ(toOriginA(nestedOriginA), nestedDocument()->firstPartyForCookies());
}
+TEST_F(WebDocumentFirstPartyTest, NestedOriginSubA)
+{
+ load(nestedOriginSubA);
+
+ RuntimeEnabledFeatures::setFirstPartyIncludesAncestorsEnabled(false);
+ ASSERT_EQ(toOriginA(nestedOriginSubA), topDocument()->firstPartyForCookies());
+ ASSERT_EQ(toOriginA(nestedOriginSubA), nestedDocument()->firstPartyForCookies());
+
+ RuntimeEnabledFeatures::setFirstPartyIncludesAncestorsEnabled(true);
+ ASSERT_EQ(toOriginA(nestedOriginSubA), topDocument()->firstPartyForCookies());
+ ASSERT_EQ(toOriginA(nestedOriginSubA), nestedDocument()->firstPartyForCookies());
+}
+
TEST_F(WebDocumentFirstPartyTest, NestedOriginAInOriginA)
{
load(nestedOriginAInOriginA);
« no previous file with comments | « Source/core/dom/Document.cpp ('k') | Source/web/tests/data/first_party/nested-originSubA.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698