summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/cross-origin-opener-policy/header-parsing-failures.https.html
blob: 55b126ff379b1071cc22b4a1fa706865824550f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
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>