summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/network-error-logging/reports-are-not-observable.https.html
blob: 35ab4f3c23507617c4f26981339741d9b3c385be (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
<!DOCTYPE HTML>
<html>
<head>
  <title>
    Test that NEL reports are not observable from JavaScript
  </title>
  <script src='/resources/testharness.js'></script>
  <script src='/resources/testharnessreport.js'></script>
  <script src='./support/nel.sub.js'></script>
</head>
<body>
  <script>
    nel_test(async t => {
      // Register an observer for NEL reports.
      var observer = new ReportingObserver((reports, _) => {
        assert_unreached("NEL reports should not be observable");
      }, {"types": ["network-error"]});
      observer.observe();
      // Make a request to a resource whose response headers include a NEL
      // policy.  If NEL reports are observable, this will queue a task that
      // calls the observer function above (which we don't want).
      await fetchResourceWithBasicPolicy();
      // Wait for one second to give any observer callback task a chance to
      // fire.
      await new Promise(resolve => t.step_timeout(resolve, 1000 /* msec */));
    });
  </script>
</body>
</html>