Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- This WPT test may be referenced by the following Test IDs:
- /html/cross-origin-opener-policy/iframe-popup-same-origin-to-same-origin.https.html?1-2 - WPT Dashboard Interop Dashboard
- /html/cross-origin-opener-policy/iframe-popup-same-origin-to-same-origin.https.html?3-4 - WPT Dashboard Interop Dashboard
- /html/cross-origin-opener-policy/iframe-popup-same-origin-to-same-origin.https.html?5-6 - WPT Dashboard Interop Dashboard
- /html/cross-origin-opener-policy/iframe-popup-same-origin-to-same-origin.https.html?7-8 - WPT Dashboard Interop Dashboard
- /html/cross-origin-opener-policy/iframe-popup-same-origin-to-same-origin.https.html?9-last - WPT Dashboard Interop Dashboard
<!doctype html>
<meta charset=utf-8>
<meta name=timeout content=long>
<meta name="variant" content="?1-2">
<meta name="variant" content="?3-4">
<meta name="variant" content="?5-6">
<meta name="variant" content="?7-8">
<meta name="variant" content="?9-last">
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script src=/common/dispatcher/dispatcher.js></script>
<script src=/common/get-host-info.sub.js></script>
<script src=/common/subset-tests.js></script>
<script src=/common/utils.js></script>
<script src="resources/common.js"></script>
<script src="resources/iframe-test.js"></script>
<body>
<script>
// This document has COOP "same-origin". The popup has COOP "same-origin". Therefore there should
// only be an opener and name if the frameOrigin and popupOrigin are same-origin with this document.
[
{
"title": "same origin iframe, same origin popup",
"iframeOrigin": SAME_ORIGIN,
"popupOrigin": SAME_ORIGIN,
"opener": "preserved"
},
{
"title": "same site iframe, same origin popup",
"iframeOrigin": SAME_SITE,
"popupOrigin": SAME_ORIGIN,
"opener": "noopener"
},
{
"title": "cross origin iframe, same origin popup",
"iframeOrigin": CROSS_ORIGIN,
"popupOrigin": SAME_ORIGIN,
"opener": "noopener"
},
{
"title": "same origin iframe, same site popup",
"iframeOrigin": SAME_ORIGIN,
"popupOrigin": SAME_SITE,
"opener": "severed"
},
{
"title": "same site iframe, same site popup",
"iframeOrigin": SAME_SITE,
"popupOrigin": SAME_SITE,
"opener": "noopener"
},
{
"title": "cross origin iframe, same site popup",
"iframeOrigin": CROSS_ORIGIN,
"popupOrigin": SAME_SITE,
"opener": "noopener"
},
{
"title": "same origin iframe, cross origin popup",
"iframeOrigin": SAME_ORIGIN,
"popupOrigin": CROSS_ORIGIN,
"opener": "severed"
},
{
"title": "same site iframe, cross origin popup",
"iframeOrigin": SAME_SITE,
"popupOrigin": CROSS_ORIGIN,
"opener": "noopener"
},
{
"title": "cross origin iframe, cross origin popup",
"iframeOrigin": CROSS_ORIGIN,
"popupOrigin": CROSS_ORIGIN,
"opener": "noopener"
}
].forEach(variant => {
subsetTest(
iframe_test,
`COOP: same-origin to popup COOP: same-origin via an iframe, with ${variant.title}`,
variant.iframeOrigin,
variant.popupOrigin,
{ coop: 'same-origin' },
variant.opener);
});
</script>
</body>