| <!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> |