39 lines
1.4 KiB
HTML
39 lines
1.4 KiB
HTML
<!DOCTYPE html>
|
|
<head>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="/cookies/resources/cookie-helper.sub.js"></script>
|
|
</head>
|
|
<body>
|
|
<script>
|
|
//
|
|
// Set-Cookie: domain-attribute-missing=b; Path=/
|
|
//
|
|
const cookieName = "domain-attribute-missing";
|
|
// Clean up cookie at the end to avoid interfering with subsequent tests.
|
|
add_completion_callback(tests => document.cookie =
|
|
`${cookieName}=0; Path=/; expires=01-jan-1970 00:00:00 GMT`);
|
|
|
|
test(t => {
|
|
assert_dom_cookie(cookieName, "b", true);
|
|
}, "No domain attribute => available via `document.cookie`");
|
|
|
|
async_test(t => {
|
|
fetch("/cookies/resources/list.py", { credentials: "include" })
|
|
.then(t.step_func(r => r.json()))
|
|
.then(t.step_func_done(r => {
|
|
assert_equals(r[cookieName], "b");
|
|
}))
|
|
.catch(_ => assert_unreached);
|
|
}, "No domain attribute => sent with same-origin requests.");
|
|
|
|
async_test(t => {
|
|
fetch(`${SECURE_SUBDOMAIN_ORIGIN}/cookies/resources/list.py`, { credentials: "include" })
|
|
.then(t.step_func(r => r.json()))
|
|
.then(t.step_func_done(r => {
|
|
assert_equals(r[cookieName], undefined);
|
|
}))
|
|
.catch(_ => assert_unreached);
|
|
}, "No domain attribute => not sent with subdomain requests.");
|
|
</script>
|
|
</body>
|