summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/cross-origin-opener-policy/header-parsing-failures.https.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/html/cross-origin-opener-policy/header-parsing-failures.https.html')
-rw-r--r--testing/web-platform/tests/html/cross-origin-opener-policy/header-parsing-failures.https.html90
1 files changed, 90 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/cross-origin-opener-policy/header-parsing-failures.https.html b/testing/web-platform/tests/html/cross-origin-opener-policy/header-parsing-failures.https.html
new file mode 100644
index 0000000000..55b126ff37
--- /dev/null
+++ b/testing/web-platform/tests/html/cross-origin-opener-policy/header-parsing-failures.https.html
@@ -0,0 +1,90 @@
+<!doctype html>
+<meta charset=utf-8>
+<meta name=timeout content=long>
+<meta name="variant" content="?1-4">
+<meta name="variant" content="?5-8">
+<meta name="variant" content="?9-12">
+<meta name="variant" content="?12-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/popup-test.js"></script>
+<script>
+
+[
+ // None of the following should be recognized as "same-origin" (hence the
+ // preserved opener).
+ {
+ "title": "coop with semi-column",
+ "coop": "same-origin;",
+ },
+ {
+ "title": "coop with vertical tab",
+ "coop": "\u000bsame-origin\u000b",
+ },
+ {
+ "title": "coop with form feed",
+ "coop": "\u000csame-origin\u000c",
+ },
+ {
+ "title": "coop with carriage return",
+ "coop": "\u000dsame-origin\u000d",
+ },
+ {
+ "title": "coop with capital letter",
+ "coop": "Same-origin",
+ },
+ {
+ "title": "coop with bad structured header 1",
+ "coop": "same-origin;\tfoo=bar",
+ },
+ {
+ "title": "coop with bad structured header 2",
+ "coop": "same-origin ;foo=bar",
+ },
+ {
+ "title": "coop with bad structured header 3",
+ "coop": "same-origin; foo=bar;",
+ },
+ {
+ "title": "coop as a structured header 'string' item",
+ "coop": "\"same-origin\"",
+ },
+ {
+ "title": "coop as a structured header 'byte sequence' item",
+ "coop": ":c2FtZS1vcmlnaW4=:",
+ },
+ {
+ "title": "coop as a structured header 'boolean' item",
+ "coop": "?1",
+ },
+ {
+ "title": "coop as a structured header 'integer or decimal' item",
+ "coop": "1",
+ },
+ {
+ "title": "coop as an unrecognized structured header type",
+ "coop": "$same-origin",
+ },
+ {
+ "title": "coop with duplicate value",
+ "coop": "same-origin same-origin",
+ },
+ {
+ // Note: comma must be escaped here to not mess with the WPT pipe function.
+ "title": "coop with duplicate value, separated by a comma",
+ "coop": "same-origin\\,same-origin",
+ },
+ {
+ "title": "coop with preceding asterisk character",
+ "coop": "*same-origin ",
+ }
+].forEach(variant => {
+ subsetTest(popup_test, `Parsing ${variant.title}`, SAME_ORIGIN, { coop: variant.coop }, "preserved");
+});
+
+</script>