summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/cross-origin-opener-policy/historical
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/html/cross-origin-opener-policy/historical')
-rw-r--r--testing/web-platform/tests/html/cross-origin-opener-policy/historical/coep-navigate-popup-unsafe-inherit.https.html40
-rw-r--r--testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-origin-unsafe-allow-outgoing-with-cross-origin.https.html58
-rw-r--r--testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-origin-unsafe-allow-outgoing-with-cross-origin.https.html.headers1
-rw-r--r--testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-origin-unsafe-allow-outgoing-with-same-origin.https.html58
-rw-r--r--testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-origin-unsafe-allow-outgoing-with-same-origin.https.html.headers1
-rw-r--r--testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-origin-unsafe-allow-outgoing-with-same-site.https.html58
-rw-r--r--testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-origin-unsafe-allow-outgoing-with-same-site.https.html.headers1
-rw-r--r--testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-unsafe-allow-outgoing-with-cross-origin.https.html58
-rw-r--r--testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-unsafe-allow-outgoing-with-cross-origin.https.html.headers1
-rw-r--r--testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-unsafe-allow-outgoing-with-same-origin.https.html58
-rw-r--r--testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-unsafe-allow-outgoing-with-same-origin.https.html.headers1
-rw-r--r--testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-unsafe-allow-outgoing-with-same-site.https.html58
-rw-r--r--testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-unsafe-allow-outgoing-with-same-site.https.html.headers1
-rw-r--r--testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-with-cross-origin.https.html58
-rw-r--r--testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-with-cross-origin.https.html.headers1
-rw-r--r--testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-with-same-origin.https.html58
-rw-r--r--testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-with-same-origin.https.html.headers1
-rw-r--r--testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-with-same-site.https.html58
-rw-r--r--testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-with-same-site.https.html.headers1
19 files changed, 571 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/cross-origin-opener-policy/historical/coep-navigate-popup-unsafe-inherit.https.html b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/coep-navigate-popup-unsafe-inherit.https.html
new file mode 100644
index 0000000000..8368dc4c81
--- /dev/null
+++ b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/coep-navigate-popup-unsafe-inherit.https.html
@@ -0,0 +1,40 @@
+<!doctype html>
+<title>Historical: Cross-Origin-Opener-Policy and Cross-Origin-Embedder-Policy: a navigating popup</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 src="/common/subset-tests.js"></script>
+<script>
+[
+ {
+ "title": "coop unsafe-inherit/coep",
+ "coop": "unsafe-inherit", // historical value, equivalent to "unsafe-none"
+ "coep": "require-corp",
+ "opener": false
+ },
+ {
+ "title": "coop unsafe-inherit/no coep",
+ "coop": "unsafe-inherit", // historical value, equivalent to "unsafe-none"
+ "coep": "",
+ "opener": false
+ }
+].forEach((variant) => {
+ ["same-origin", "same-site"].forEach((site) => {
+ const title = `Popup navigating to ${site} with ${variant.title}`;
+ const channel = title.replace(/ /g,"-");
+ const navigateHost = site === "same-origin" ? SAME_ORIGIN : SAME_SITE;
+ const navigateURL = `${navigateHost.origin}/html/cross-origin-opener-policy/resources/coop-coep.py?coop=${variant.coop}&coep=${variant.coep}&channel=${channel}`;
+ const opener = site === "same-origin" ? variant.opener : false;
+
+ async_test(t => {
+ // For each test we open a COOP: same-origin/COEP: require-corp document in a popup and then
+ // navigate that to either a document with same origin (site=="same-origin") or
+ // not-same-origin (site=="same-site") whose COOP and COEP are set as per the top-most array.
+ // We then verify that this document has the correct opener for its specific setup.
+ url_test(t, `${SAME_ORIGIN.origin}/html/cross-origin-opener-policy/resources/coop-coep.py?coop=same-origin&coep=require-corp&navigate=${encodeURIComponent(navigateURL)}`, channel, opener);
+ }, title);
+ });
+});
+</script>
diff --git a/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-origin-unsafe-allow-outgoing-with-cross-origin.https.html b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-origin-unsafe-allow-outgoing-with-cross-origin.https.html
new file mode 100644
index 0000000000..21e0875f41
--- /dev/null
+++ b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-origin-unsafe-allow-outgoing-with-cross-origin.https.html
@@ -0,0 +1,58 @@
+<!doctype html>
+<meta charset=utf-8>
+<meta name=timeout content=long>
+<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/utils.js"></script>
+<script src="../resources/common.js"></script>
+<script src="../resources/popup-test.js"></script>
+<script>
+
+[
+ {
+ "title": "popup with empty coop",
+ "coop": "",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with coop unsafe-none",
+ "coop": "unsafe-none",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with jibberish coop",
+ "coop": "jibberish",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with obsolete coop",
+ "coop": "same-site",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with obsolete coop 2",
+ "coop": "same-site unsafe-allow-outgoing",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with obsolete coop 3",
+ "coop": "same-origin unsafe-allow-outgoing",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with coop same-origin",
+ "coop": "same-origin",
+ "opener": "severed"
+ },
+ {
+ "title": "popup with coop same-origin-allow-popups",
+ "coop": "same-origin-allow-popups",
+ "opener": "severed"
+ }
+].forEach(variant => {
+ popup_test(`Cross-origin ${variant.title}`, CROSS_ORIGIN, { coop: variant.coop }, variant.opener);
+});
+
+</script>
diff --git a/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-origin-unsafe-allow-outgoing-with-cross-origin.https.html.headers b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-origin-unsafe-allow-outgoing-with-cross-origin.https.html.headers
new file mode 100644
index 0000000000..a19f4400ce
--- /dev/null
+++ b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-origin-unsafe-allow-outgoing-with-cross-origin.https.html.headers
@@ -0,0 +1 @@
+Cross-Origin-Opener-Policy: same-origin unsafe-allow-outgoing
diff --git a/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-origin-unsafe-allow-outgoing-with-same-origin.https.html b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-origin-unsafe-allow-outgoing-with-same-origin.https.html
new file mode 100644
index 0000000000..89b0b4934e
--- /dev/null
+++ b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-origin-unsafe-allow-outgoing-with-same-origin.https.html
@@ -0,0 +1,58 @@
+<!doctype html>
+<meta charset=utf-8>
+<meta name=timeout content=long>
+<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/utils.js"></script>
+<script src="../resources/common.js"></script>
+<script src="../resources/popup-test.js"></script>
+<script>
+
+[
+ {
+ "title": "popup with empty coop",
+ "coop": "",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with coop unsafe-none",
+ "coop": "unsafe-none",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with jibberish coop",
+ "coop": "jibberish",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with obsolete coop",
+ "coop": "same-site",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with obsolete coop 2",
+ "coop": "same-site unsafe-allow-outgoing",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with obsolete coop 3",
+ "coop": "same-origin unsafe-allow-outgoing",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with coop same-origin",
+ "coop": "same-origin",
+ "opener": "severed"
+ },
+ {
+ "title": "popup with coop same-origin-allow-popups",
+ "coop": "same-origin-allow-popups",
+ "opener": "severed"
+ }
+].forEach(variant => {
+ popup_test(`Same-origin ${variant.title}`, SAME_ORIGIN, { coop: variant.coop }, variant.opener);
+});
+
+</script>
diff --git a/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-origin-unsafe-allow-outgoing-with-same-origin.https.html.headers b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-origin-unsafe-allow-outgoing-with-same-origin.https.html.headers
new file mode 100644
index 0000000000..a19f4400ce
--- /dev/null
+++ b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-origin-unsafe-allow-outgoing-with-same-origin.https.html.headers
@@ -0,0 +1 @@
+Cross-Origin-Opener-Policy: same-origin unsafe-allow-outgoing
diff --git a/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-origin-unsafe-allow-outgoing-with-same-site.https.html b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-origin-unsafe-allow-outgoing-with-same-site.https.html
new file mode 100644
index 0000000000..fb3330365f
--- /dev/null
+++ b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-origin-unsafe-allow-outgoing-with-same-site.https.html
@@ -0,0 +1,58 @@
+<!doctype html>
+<meta charset=utf-8>
+<meta name=timeout content=long>
+<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/utils.js"></script>
+<script src="../resources/common.js"></script>
+<script src="../resources/popup-test.js"></script>
+<script>
+
+[
+ {
+ "title": "popup with empty coop",
+ "coop": "",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with coop unsafe-none",
+ "coop": "unsafe-none",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with jibberish coop",
+ "coop": "jibberish",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with obsolete coop",
+ "coop": "same-site",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with obsolete coop 2",
+ "coop": "same-site unsafe-allow-outgoing",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with obsolete coop 3",
+ "coop": "same-origin unsafe-allow-outgoing",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with coop same-origin",
+ "coop": "same-origin",
+ "opener": "severed"
+ },
+ {
+ "title": "popup with coop same-origin-allow-popups",
+ "coop": "same-origin-allow-popups",
+ "opener": "severed"
+ }
+].forEach(variant => {
+ popup_test(`Same-site ${variant.title}`, SAME_SITE, { coop: variant.coop }, variant.opener);
+});
+
+</script>
diff --git a/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-origin-unsafe-allow-outgoing-with-same-site.https.html.headers b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-origin-unsafe-allow-outgoing-with-same-site.https.html.headers
new file mode 100644
index 0000000000..a19f4400ce
--- /dev/null
+++ b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-origin-unsafe-allow-outgoing-with-same-site.https.html.headers
@@ -0,0 +1 @@
+Cross-Origin-Opener-Policy: same-origin unsafe-allow-outgoing
diff --git a/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-unsafe-allow-outgoing-with-cross-origin.https.html b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-unsafe-allow-outgoing-with-cross-origin.https.html
new file mode 100644
index 0000000000..21e0875f41
--- /dev/null
+++ b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-unsafe-allow-outgoing-with-cross-origin.https.html
@@ -0,0 +1,58 @@
+<!doctype html>
+<meta charset=utf-8>
+<meta name=timeout content=long>
+<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/utils.js"></script>
+<script src="../resources/common.js"></script>
+<script src="../resources/popup-test.js"></script>
+<script>
+
+[
+ {
+ "title": "popup with empty coop",
+ "coop": "",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with coop unsafe-none",
+ "coop": "unsafe-none",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with jibberish coop",
+ "coop": "jibberish",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with obsolete coop",
+ "coop": "same-site",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with obsolete coop 2",
+ "coop": "same-site unsafe-allow-outgoing",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with obsolete coop 3",
+ "coop": "same-origin unsafe-allow-outgoing",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with coop same-origin",
+ "coop": "same-origin",
+ "opener": "severed"
+ },
+ {
+ "title": "popup with coop same-origin-allow-popups",
+ "coop": "same-origin-allow-popups",
+ "opener": "severed"
+ }
+].forEach(variant => {
+ popup_test(`Cross-origin ${variant.title}`, CROSS_ORIGIN, { coop: variant.coop }, variant.opener);
+});
+
+</script>
diff --git a/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-unsafe-allow-outgoing-with-cross-origin.https.html.headers b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-unsafe-allow-outgoing-with-cross-origin.https.html.headers
new file mode 100644
index 0000000000..ab7b289481
--- /dev/null
+++ b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-unsafe-allow-outgoing-with-cross-origin.https.html.headers
@@ -0,0 +1 @@
+Cross-Origin-Opener-Policy: same-site unsafe-allow-outgoing
diff --git a/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-unsafe-allow-outgoing-with-same-origin.https.html b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-unsafe-allow-outgoing-with-same-origin.https.html
new file mode 100644
index 0000000000..89b0b4934e
--- /dev/null
+++ b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-unsafe-allow-outgoing-with-same-origin.https.html
@@ -0,0 +1,58 @@
+<!doctype html>
+<meta charset=utf-8>
+<meta name=timeout content=long>
+<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/utils.js"></script>
+<script src="../resources/common.js"></script>
+<script src="../resources/popup-test.js"></script>
+<script>
+
+[
+ {
+ "title": "popup with empty coop",
+ "coop": "",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with coop unsafe-none",
+ "coop": "unsafe-none",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with jibberish coop",
+ "coop": "jibberish",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with obsolete coop",
+ "coop": "same-site",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with obsolete coop 2",
+ "coop": "same-site unsafe-allow-outgoing",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with obsolete coop 3",
+ "coop": "same-origin unsafe-allow-outgoing",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with coop same-origin",
+ "coop": "same-origin",
+ "opener": "severed"
+ },
+ {
+ "title": "popup with coop same-origin-allow-popups",
+ "coop": "same-origin-allow-popups",
+ "opener": "severed"
+ }
+].forEach(variant => {
+ popup_test(`Same-origin ${variant.title}`, SAME_ORIGIN, { coop: variant.coop }, variant.opener);
+});
+
+</script>
diff --git a/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-unsafe-allow-outgoing-with-same-origin.https.html.headers b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-unsafe-allow-outgoing-with-same-origin.https.html.headers
new file mode 100644
index 0000000000..ab7b289481
--- /dev/null
+++ b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-unsafe-allow-outgoing-with-same-origin.https.html.headers
@@ -0,0 +1 @@
+Cross-Origin-Opener-Policy: same-site unsafe-allow-outgoing
diff --git a/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-unsafe-allow-outgoing-with-same-site.https.html b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-unsafe-allow-outgoing-with-same-site.https.html
new file mode 100644
index 0000000000..fb3330365f
--- /dev/null
+++ b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-unsafe-allow-outgoing-with-same-site.https.html
@@ -0,0 +1,58 @@
+<!doctype html>
+<meta charset=utf-8>
+<meta name=timeout content=long>
+<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/utils.js"></script>
+<script src="../resources/common.js"></script>
+<script src="../resources/popup-test.js"></script>
+<script>
+
+[
+ {
+ "title": "popup with empty coop",
+ "coop": "",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with coop unsafe-none",
+ "coop": "unsafe-none",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with jibberish coop",
+ "coop": "jibberish",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with obsolete coop",
+ "coop": "same-site",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with obsolete coop 2",
+ "coop": "same-site unsafe-allow-outgoing",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with obsolete coop 3",
+ "coop": "same-origin unsafe-allow-outgoing",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with coop same-origin",
+ "coop": "same-origin",
+ "opener": "severed"
+ },
+ {
+ "title": "popup with coop same-origin-allow-popups",
+ "coop": "same-origin-allow-popups",
+ "opener": "severed"
+ }
+].forEach(variant => {
+ popup_test(`Same-site ${variant.title}`, SAME_SITE, { coop: variant.coop }, variant.opener);
+});
+
+</script>
diff --git a/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-unsafe-allow-outgoing-with-same-site.https.html.headers b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-unsafe-allow-outgoing-with-same-site.https.html.headers
new file mode 100644
index 0000000000..ab7b289481
--- /dev/null
+++ b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-unsafe-allow-outgoing-with-same-site.https.html.headers
@@ -0,0 +1 @@
+Cross-Origin-Opener-Policy: same-site unsafe-allow-outgoing
diff --git a/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-with-cross-origin.https.html b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-with-cross-origin.https.html
new file mode 100644
index 0000000000..21e0875f41
--- /dev/null
+++ b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-with-cross-origin.https.html
@@ -0,0 +1,58 @@
+<!doctype html>
+<meta charset=utf-8>
+<meta name=timeout content=long>
+<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/utils.js"></script>
+<script src="../resources/common.js"></script>
+<script src="../resources/popup-test.js"></script>
+<script>
+
+[
+ {
+ "title": "popup with empty coop",
+ "coop": "",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with coop unsafe-none",
+ "coop": "unsafe-none",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with jibberish coop",
+ "coop": "jibberish",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with obsolete coop",
+ "coop": "same-site",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with obsolete coop 2",
+ "coop": "same-site unsafe-allow-outgoing",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with obsolete coop 3",
+ "coop": "same-origin unsafe-allow-outgoing",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with coop same-origin",
+ "coop": "same-origin",
+ "opener": "severed"
+ },
+ {
+ "title": "popup with coop same-origin-allow-popups",
+ "coop": "same-origin-allow-popups",
+ "opener": "severed"
+ }
+].forEach(variant => {
+ popup_test(`Cross-origin ${variant.title}`, CROSS_ORIGIN, { coop: variant.coop }, variant.opener);
+});
+
+</script>
diff --git a/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-with-cross-origin.https.html.headers b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-with-cross-origin.https.html.headers
new file mode 100644
index 0000000000..34bd099a30
--- /dev/null
+++ b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-with-cross-origin.https.html.headers
@@ -0,0 +1 @@
+Cross-Origin-Opener-Policy: same-site
diff --git a/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-with-same-origin.https.html b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-with-same-origin.https.html
new file mode 100644
index 0000000000..89b0b4934e
--- /dev/null
+++ b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-with-same-origin.https.html
@@ -0,0 +1,58 @@
+<!doctype html>
+<meta charset=utf-8>
+<meta name=timeout content=long>
+<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/utils.js"></script>
+<script src="../resources/common.js"></script>
+<script src="../resources/popup-test.js"></script>
+<script>
+
+[
+ {
+ "title": "popup with empty coop",
+ "coop": "",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with coop unsafe-none",
+ "coop": "unsafe-none",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with jibberish coop",
+ "coop": "jibberish",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with obsolete coop",
+ "coop": "same-site",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with obsolete coop 2",
+ "coop": "same-site unsafe-allow-outgoing",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with obsolete coop 3",
+ "coop": "same-origin unsafe-allow-outgoing",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with coop same-origin",
+ "coop": "same-origin",
+ "opener": "severed"
+ },
+ {
+ "title": "popup with coop same-origin-allow-popups",
+ "coop": "same-origin-allow-popups",
+ "opener": "severed"
+ }
+].forEach(variant => {
+ popup_test(`Same-origin ${variant.title}`, SAME_ORIGIN, { coop: variant.coop }, variant.opener);
+});
+
+</script>
diff --git a/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-with-same-origin.https.html.headers b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-with-same-origin.https.html.headers
new file mode 100644
index 0000000000..34bd099a30
--- /dev/null
+++ b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-with-same-origin.https.html.headers
@@ -0,0 +1 @@
+Cross-Origin-Opener-Policy: same-site
diff --git a/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-with-same-site.https.html b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-with-same-site.https.html
new file mode 100644
index 0000000000..fb3330365f
--- /dev/null
+++ b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-with-same-site.https.html
@@ -0,0 +1,58 @@
+<!doctype html>
+<meta charset=utf-8>
+<meta name=timeout content=long>
+<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/utils.js"></script>
+<script src="../resources/common.js"></script>
+<script src="../resources/popup-test.js"></script>
+<script>
+
+[
+ {
+ "title": "popup with empty coop",
+ "coop": "",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with coop unsafe-none",
+ "coop": "unsafe-none",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with jibberish coop",
+ "coop": "jibberish",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with obsolete coop",
+ "coop": "same-site",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with obsolete coop 2",
+ "coop": "same-site unsafe-allow-outgoing",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with obsolete coop 3",
+ "coop": "same-origin unsafe-allow-outgoing",
+ "opener": "preserved"
+ },
+ {
+ "title": "popup with coop same-origin",
+ "coop": "same-origin",
+ "opener": "severed"
+ },
+ {
+ "title": "popup with coop same-origin-allow-popups",
+ "coop": "same-origin-allow-popups",
+ "opener": "severed"
+ }
+].forEach(variant => {
+ popup_test(`Same-site ${variant.title}`, SAME_SITE, { coop: variant.coop }, variant.opener);
+});
+
+</script>
diff --git a/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-with-same-site.https.html.headers b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-with-same-site.https.html.headers
new file mode 100644
index 0000000000..34bd099a30
--- /dev/null
+++ b/testing/web-platform/tests/html/cross-origin-opener-policy/historical/popup-same-site-with-same-site.https.html.headers
@@ -0,0 +1 @@
+Cross-Origin-Opener-Policy: same-site