Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

/* Any copyright is dedicated to the Public Domain.
"use strict";
const RESOURCE_URL =
getRootDirectory(gTestPath).replace(
) + "store_header.sjs";
add_task(async function test_fetch_defaults_to_credentialless() {
// Ensure cookie is set up:
let expiry = Date.now() / 1000 + 24 * 60 * 60;
Services.cookies.add(
"example.com",
"/",
"foo",
"bar",
false,
false,
false,
expiry,
{},
Ci.nsICookie.SAMESITE_NONE,
Ci.nsICookie.SCHEME_HTTPS
);
// Explicitly send cookie header by using `same-origin` in the init dict, to
// ensure cookies are stored correctly and can be sent.
await fetch(RESOURCE_URL + "?checkheader", { credentials: "same-origin" });
Assert.equal(
await fetch(RESOURCE_URL + "?getstate").then(r => r.text()),
"hasCookie",
"Should have cookie when explicitly passing credentials info in 'checkheader' request."
);
// Check the default behaviour.
await fetch(RESOURCE_URL + "?checkheader");
Assert.equal(
await fetch(RESOURCE_URL + "?getstate").then(r => r.text()),
"noCookie",
"Should not have cookie in the default case (no explicit credentials mode) for chrome privileged requests."
);
});