summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/content-security-policy/nonce-hiding/nonce-hiding-move-document.html
blob: 49de893ba03fbd25125fcf13eff8c352e4992d85 (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
<!DOCTYPE html>
<meta charset="utf-8">
<meta http-equiv="Content-Security-Policy" content="style-src 'self' 'nonce-allowme';">
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1831328">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<title>Nonce isn't lost on document move</title>
<style type="text/css" nonce="allowme">
  p {
    color: red;
  }
</style>
<p>What color is this?</p>
<script>
test(function() {
  const doc = document.implementation.createDocument("http://www.w3.org/1999/xhtml","html");
  const style = document.createElement("style");
  style.setAttribute("nonce", "allowme");
  style.textContent = "p { color: lime }";

  doc.documentElement.appendChild(style);
  document.body.appendChild(style);
  assert_equals(style.nonce, "allowme", "Nonce should not have been lost");
  assert_equals(getComputedStyle(document.querySelector("p")).color, "rgb(0, 255, 0)", "Style should apply");
})
</script>