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/tentative/restrict-properties/iframe-popup-to-so.https.html?1-1 - WPT Dashboard Interop Dashboard
- /html/cross-origin-opener-policy/tentative/restrict-properties/iframe-popup-to-so.https.html?2-2 - WPT Dashboard Interop Dashboard
- /html/cross-origin-opener-policy/tentative/restrict-properties/iframe-popup-to-so.https.html?3-3 - WPT Dashboard Interop Dashboard
- /html/cross-origin-opener-policy/tentative/restrict-properties/iframe-popup-to-so.https.html?4-4 - WPT Dashboard Interop Dashboard
- /html/cross-origin-opener-policy/tentative/restrict-properties/iframe-popup-to-so.https.html?5-5 - WPT Dashboard Interop Dashboard
- /html/cross-origin-opener-policy/tentative/restrict-properties/iframe-popup-to-so.https.html?6-6 - WPT Dashboard Interop Dashboard
- /html/cross-origin-opener-policy/tentative/restrict-properties/iframe-popup-to-so.https.html?7-7 - WPT Dashboard Interop Dashboard
- /html/cross-origin-opener-policy/tentative/restrict-properties/iframe-popup-to-so.https.html?8-8 - WPT Dashboard Interop Dashboard
- /html/cross-origin-opener-policy/tentative/restrict-properties/iframe-popup-to-so.https.html?9-last - WPT Dashboard Interop Dashboard
<!doctype html>
<meta charset=utf-8>
<meta name=timeout content=long>
<meta name="variant" content="?1-1">
<meta name="variant" content="?2-2">
<meta name="variant" content="?3-3">
<meta name="variant" content="?4-4">
<meta name="variant" content="?5-5">
<meta name="variant" content="?6-6">
<meta name="variant" content="?7-7">
<meta name="variant" content="?8-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: restrict-properties. The popup has COOP: same-origin.
// Opening from an iframe should not be different from opening from the main
// frame and the opener should be severed.
[
{
"title": "same origin iframe, same origin popup",
"iframeOrigin": SAME_ORIGIN,
"popupOrigin": SAME_ORIGIN,
"opener": "severed"
},
{
"title": "same site iframe, same origin popup",
"iframeOrigin": SAME_SITE,
"popupOrigin": SAME_ORIGIN,
"opener": "severed"
},
{
"title": "cross origin iframe, same origin popup",
"iframeOrigin": CROSS_ORIGIN,
"popupOrigin": SAME_ORIGIN,
"opener": "severed"
},
{
"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": "severed"
},
{
"title": "cross origin iframe, same site popup",
"iframeOrigin": CROSS_ORIGIN,
"popupOrigin": SAME_SITE,
"opener": "severed"
},
{
"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": "severed"
},
{
"title": "cross origin iframe, cross origin popup",
"iframeOrigin": CROSS_ORIGIN,
"popupOrigin": CROSS_ORIGIN,
"opener": "severed"
}
].forEach(variant => {
subsetTest(
iframe_test,
`COOP: restrict-properties to popup COOP: same-origin via an iframe, ` +
`with ${variant.title}`,
variant.iframeOrigin,
variant.popupOrigin,
{ coop: 'same-origin' },
variant.opener);
});
</script>
</body>