Source code

Revision control

Other Tools

Test Info:

<!doctype html>
<title>Cross-Origin-Opener-Policy and Cross-Origin-Embedder-Policy</title>
<meta name=timeout content=long>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script src="/common/get-host-info.sub.js"></script>
<script src="resources/common.js"></script>
<script>
[
{
"title": "popup with coop/coep",
"coop": "same-origin",
"coep": "require-corp",
"opener": true
},
{
"title": "popup with coop unsafe-none/coep",
"coop": "unsafe-none",
"coep": "require-corp",
"opener": false
},
{
"title": "popup with coop unsafe-none without coep",
"coop": "unsafe-none",
"coep": "",
"opener": false
},
{
"title": "popup without coep",
"coop": "same-origin",
"coep": "",
"opener": false
}
].forEach(variant => {
async_test(t => {
coop_coep_test(t, SAME_ORIGIN, variant.coop, variant.coep, variant.title.replace(/ /g,"-"), variant.opener);
}, `Same-origin ${variant.title}`);
// "same-site" is a historical value, equivalent to "unsafe-none"
async_test(t => {
coop_coep_test(t, SAME_SITE, variant.coop, variant.coep, `same-site-${variant.title.replace(/ /g,"-")}`, false);
}, `historical: "same-site" ${variant.title}`);
});
test(() => {
assert_true(window.crossOriginIsolated);
}, "Bonus: window.crossOriginIsolated");
</script>