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); |