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-soap.https.html?1-2 - WPT Dashboard Interop Dashboard
- /html/cross-origin-opener-policy/tentative/restrict-properties/iframe-popup-to-soap.https.html?3-4 - WPT Dashboard Interop Dashboard
- /html/cross-origin-opener-policy/tentative/restrict-properties/iframe-popup-to-soap.https.html?5-6 - WPT Dashboard Interop Dashboard
- /html/cross-origin-opener-policy/tentative/restrict-properties/iframe-popup-to-soap.https.html?7-8 - WPT Dashboard Interop Dashboard
- /html/cross-origin-opener-policy/tentative/restrict-properties/iframe-popup-to-soap.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: restrict-properties. The popup has COOP:
// same-origin-allow-popups. 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-allow-popups ` +
`via an iframe, with ${variant.title}`,
variant.iframeOrigin,
variant.popupOrigin,
{ coop: 'same-origin-allow-popups' },
variant.opener);
});
</script>
</body>