forked from mirrors/gecko-dev
Bug 1898253 - Enable CHIPS in Nighlty. r=bvandersloot
Differential Revision: https://phabricator.services.mozilla.com/D212236
This commit is contained in:
parent
0cdb337467
commit
efc48100f0
8 changed files with 54 additions and 20 deletions
|
|
@ -31,7 +31,10 @@ function initTest() {
|
||||||
// Bug 1617611: Fix all the tests broken by "cookies SameSite=lax by default"
|
// Bug 1617611: Fix all the tests broken by "cookies SameSite=lax by default"
|
||||||
["network.cookie.sameSite.laxByDefault", false],
|
["network.cookie.sameSite.laxByDefault", false],
|
||||||
["network.cors_preflight.authorization_covered_by_wildcard", false],
|
["network.cors_preflight.authorization_covered_by_wildcard", false],
|
||||||
]
|
// Disable CHIPS for now because it breaks this test. We will fix this
|
||||||
|
// issue in Bug 1873982
|
||||||
|
["network.cookie.CHIPS.enabled", false],
|
||||||
|
]
|
||||||
}, initTestCallback);
|
}, initTestCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -93,8 +93,15 @@ function setCookieAndInitTest() {
|
||||||
cookieImage.src = tests[curTest].imgSRC;
|
cookieImage.src = tests[curTest].imgSRC;
|
||||||
}
|
}
|
||||||
|
|
||||||
// fire up the test
|
// Setup the prefs and fire up the test.
|
||||||
setCookieAndInitTest();
|
// Note that we need to explicitly enable Always Partition Storage. Otherwise,
|
||||||
|
// we will have an issue when CHIPS enabled in xorigin tests. See Bug 1899570
|
||||||
|
// for more details.
|
||||||
|
SpecialPowers.pushPrefEnv({
|
||||||
|
"set": [
|
||||||
|
["privacy.partition.always_partition_third_party_non_cookie_storage", true],
|
||||||
|
]
|
||||||
|
}, setCookieAndInitTest);
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
||||||
|
|
@ -11713,7 +11713,7 @@
|
||||||
# Whether to support CHIPS(Cookies Having Independent Partitioned State).
|
# Whether to support CHIPS(Cookies Having Independent Partitioned State).
|
||||||
- name: network.cookie.CHIPS.enabled
|
- name: network.cookie.CHIPS.enabled
|
||||||
type: bool
|
type: bool
|
||||||
value: false
|
value: @IS_NIGHTLY_BUILD@
|
||||||
mirror: always
|
mirror: always
|
||||||
|
|
||||||
# Stale threshold for cookies in seconds.
|
# Stale threshold for cookies in seconds.
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,15 @@
|
||||||
[partitioned-cookies.tentative.https.html]
|
[partitioned-cookies.tentative.https.html]
|
||||||
|
[Partitioned cookies accessible on the top-level site they are created in via HTTP]
|
||||||
|
bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1899969
|
||||||
|
expected:
|
||||||
|
if os == "android" and nightly_build: FAIL
|
||||||
|
|
||||||
|
[Partitioned cookies accessible on the top-level site they are created in via DOM]
|
||||||
|
bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1899969
|
||||||
|
expected:
|
||||||
|
if os == "android" and nightly_build: FAIL
|
||||||
|
|
||||||
[Partitioned cookies are not accessible on a different top-level site via HTTP]
|
[Partitioned cookies are not accessible on a different top-level site via HTTP]
|
||||||
|
bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1899969
|
||||||
expected:
|
expected:
|
||||||
if os == "android": FAIL
|
if os == "android": FAIL
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,7 @@
|
||||||
[shared-worker-partitioned-cookies.tentative.https.html]
|
[shared-worker-partitioned-cookies.tentative.https.html]
|
||||||
|
[SharedWorker: Partitioned Cookies]
|
||||||
|
expected:
|
||||||
|
if os == "android" and nightly_build: FAIL
|
||||||
|
|
||||||
[Service Worker: Partitioned Cookies 3P Iframe]
|
[Service Worker: Partitioned Cookies 3P Iframe]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
|
||||||
|
|
@ -105,6 +105,7 @@ add_setup(async function () {
|
||||||
["privacy.trackingprotection.annotate_channels", true],
|
["privacy.trackingprotection.annotate_channels", true],
|
||||||
// Bug 1617611: Fix all the tests broken by "cookies SameSite=lax by default"
|
// Bug 1617611: Fix all the tests broken by "cookies SameSite=lax by default"
|
||||||
["network.cookie.sameSite.laxByDefault", false],
|
["network.cookie.sameSite.laxByDefault", false],
|
||||||
|
["network.cookie.CHIPS.enabled", true],
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -322,9 +323,17 @@ add_task(async function test_privilege_api_with_dFPI() {
|
||||||
await runScriptInSubFrame(browser, "test", async _ => {
|
await runScriptInSubFrame(browser, "test", async _ => {
|
||||||
await hasStorageAccessInitially();
|
await hasStorageAccessInitially();
|
||||||
|
|
||||||
is(document.cookie, "", "No unpartitioned cookies");
|
is(
|
||||||
|
document.cookie,
|
||||||
|
"name=partitioned",
|
||||||
|
"partitioned cookies should be available"
|
||||||
|
);
|
||||||
document.cookie = "name=unpartitioned";
|
document.cookie = "name=unpartitioned";
|
||||||
is(document.cookie, "name=unpartitioned", "Successfully set cookies.");
|
is(
|
||||||
|
document.cookie,
|
||||||
|
"name=unpartitioned; name=partitioned",
|
||||||
|
"Successfully set cookies. Both partitioned and unpartitioned cookies should be available"
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Insert another third-party content iframe and check if it has storage access.
|
// Insert another third-party content iframe and check if it has storage access.
|
||||||
|
|
@ -334,7 +343,7 @@ add_task(async function test_privilege_api_with_dFPI() {
|
||||||
|
|
||||||
is(
|
is(
|
||||||
document.cookie,
|
document.cookie,
|
||||||
"name=unpartitioned",
|
"name=unpartitioned; name=partitioned",
|
||||||
"Some cookies for unpartitioned context"
|
"Some cookies for unpartitioned context"
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -59,6 +59,8 @@ add_setup(async function () {
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
registerCleanupFunction(cleanup);
|
registerCleanupFunction(cleanup);
|
||||||
|
|
||||||
|
await cleanup();
|
||||||
});
|
});
|
||||||
|
|
||||||
function executeContentScript(browser, callback, options = {}) {
|
function executeContentScript(browser, callback, options = {}) {
|
||||||
|
|
@ -152,19 +154,18 @@ async function redirectWithUserInteraction(browser, url, wait = null) {
|
||||||
}
|
}
|
||||||
|
|
||||||
async function checkData(browser, options) {
|
async function checkData(browser, options) {
|
||||||
|
let data;
|
||||||
|
|
||||||
|
// We check if the cookie string includes the expected cookie because the
|
||||||
|
// cookie string might contain both partitioned and unpartitioned cookies at
|
||||||
|
// the same time.
|
||||||
if ("firstParty" in options) {
|
if ("firstParty" in options) {
|
||||||
is(
|
data = await getDataFromFirstParty(browser);
|
||||||
await getDataFromFirstParty(browser),
|
ok(data.includes(options.firstParty), "correct first-party data");
|
||||||
options.firstParty,
|
|
||||||
"correct first-party data"
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
if ("thirdParty" in options) {
|
if ("thirdParty" in options) {
|
||||||
is(
|
data = await getDataFromThirdParty(browser);
|
||||||
await getDataFromThirdParty(browser),
|
ok(data.includes(options.thirdParty), "correct third-party data");
|
||||||
options.thirdParty,
|
|
||||||
"correct third-party data"
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -109,9 +109,8 @@ add_task(async function test_all_tabs_closed() {
|
||||||
"example.org should have storage access after request succeeded."
|
"example.org should have storage access after request succeeded."
|
||||||
);
|
);
|
||||||
|
|
||||||
is(
|
ok(
|
||||||
content.document.cookie,
|
content.document.cookie.includes("foo=bar"),
|
||||||
"foo=bar",
|
|
||||||
"example.org should have access to the cookie set in the first party context previously."
|
"example.org should have access to the cookie set in the first party context previously."
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue