summaryrefslogtreecommitdiffstats
path: root/dom/security/test/csp/test_bug1777572.html
blob: f735f4fb6aca8c612658b91bf0b5e39ae490221d (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
<!DOCTYPE HTML>
<html>
<head>
  <meta charset="utf-8">
  <title>bug 1777572</title>
  <script src="/tests/SimpleTest/SimpleTest.js"></script>
  <link rel="stylesheet" href="/tests/SimpleTest/test.css"/>
  <script>
  SimpleTest.waitForExplicitFinish();

  async function testCSPInheritance(closeOpenerWindow) {
    let url = "file_bug1777572.html";
    if (closeOpenerWindow) {
      url += "?close";
    }
    let win = window.open(url);
    return new Promise((resolve) => {
      window.addEventListener("message", (event) => {
        ok(event.data.includes("img-src"), "Got expected data " + event.data);
        resolve();
      }, { once: true});
    });
  }

  async function run() {
    // Test that CSP inheritance to the initial about:blank works the same way
    // whether or not the opener is already closed when window.open is called.
    await testCSPInheritance(false);
    await testCSPInheritance(true);
    SimpleTest.finish();
  }

  </script>
</head>
<body onload="run()">
<p id="display"></p>
<div id="content" style="display: none"></div>
<pre id="test"></pre>
</body>
</html>