summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/content-security-policy/reporting/report-cross-origin-no-cookies.sub.html
blob: b8203e9d30d52e14d5803da062f1016dc198ad78 (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
<!DOCTYPE html>
<html>
<head>
    <title>Cookies are not sent on cross origin violation reports</title>
    <meta name="timeout" content="long">
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <!-- CSP headers
         Content-Security-Policy: script-src 'unsafe-inline' 'self'; img-src 'none'; report-uri http://{{domains[www1]}}:{{ports[http][0]}}/reporting/resources/report.py?op=put&reportID=$id
         -->
</head>
<body>
<script>
  promise_test(function(test) {
    const path = encodeURIComponent("{{domains[www1]}}:{{ports[http][0]}}/");
    return fetch(
      "/cookies/resources/set-cookie.py?name=cspViolationReportCookie1&path=" + path,
      {mode: 'no-cors', credentials: 'include'})
    .then(() => {
      test.add_cleanup(() => {
        return fetch("/cookies/resources/set.py?cspViolationReportCookie1=; path=" + path + "; expires=Thu, 01 Jan 1970 00:00:01 GMT");
      });

      // This image will generate a CSP violation report.
      const img = new Image();
      img.onerror = test.step_func_done();
      img.onload = test.unreached_func("Should not have loaded the image");

      img.src = "../support/fail.png";
      document.body.appendChild(img);
    });
  }, "Image should not load");
</script>
<script async defer src='../support/checkReport.sub.js?reportField=violated-directive&reportValue=img-src%20%27none%27&noCookies=true'></script>

</body>
</html>