Chromium Code Reviews| 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); |