Source code

Revision control

Copy as Markdown

Other Tools

<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="utils.js"></script>
<title>Fenced frame accessing cookies</title>
<body>
<script>
async function init() {
// This file is meant to run in a <fencedframe>. It sets up multiple frames
// in the following arrangements:
// 1.) A top-level fenced frame
// 2.) An iframe within a fenced frame
// 3.) A nested fenced frame
// Set cookies in the root fenced frame via document and cookieStore APIs.
const [cookie_value_key, test_type] = parseKeylist();
document.cookie = 'C=fenced; SameSite=Lax';
document.cookie = 'D=fenced; SameSite=None; Secure';
await cookieStore.set('E', 'fenced');
const cookie_access_url = generateURL("cookie-access.https.html",
[cookie_value_key]);
switch (test_type) {
case "top-level fenced frame":
const cookie_value = document.cookie;
writeValueToServer(cookie_value_key, cookie_value);
break;
case "nested iframe":
const iframe = document.createElement('iframe');
document.body.append(iframe);
iframe.src = cookie_access_url;
break;
case "nested fenced frame":
const ff = attachFencedFrame(cookie_access_url);
break;
}
}
init();
</script>
</body>