File: coep-navigate-popup-unsafe-inherit.https.html

package info (click to toggle)
firefox 145.0.1-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,653,528 kB
  • sloc: cpp: 7,594,999; javascript: 6,459,658; ansic: 3,752,909; python: 1,403,455; xml: 629,809; asm: 438,679; java: 186,421; sh: 67,287; makefile: 19,169; objc: 13,086; perl: 12,982; yacc: 4,583; cs: 3,846; pascal: 3,448; lex: 1,720; ruby: 1,003; exp: 762; php: 436; lisp: 258; awk: 247; sql: 66; sed: 54; csh: 10
file content (43 lines) | stat: -rw-r--r-- 2,106 bytes parent folder | download | duplicates (15)
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
<!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/subset-tests.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=/common/dispatcher/dispatcher.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 responseToken = token();
    const iframeToken = token();
    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}&responseToken=${responseToken}&iframeToken=${iframeToken}`;
    const opener = site === "same-origin" ? variant.opener : false;

    promise_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.
      return dispatcher_url_test(t, `${SAME_ORIGIN.origin}/html/cross-origin-opener-policy/resources/coop-coep.py?coop=same-origin&coep=require-corp&navigate=${encodeURIComponent(navigateURL)}`, responseToken, iframeToken, opener, undefined, () => t.done());
    }, title);
  });
});
</script>