<!DOCTYPE html>
<body>
  <meta charset="utf-8">
  <title>Synchronous XMLHttpRequest Feature Policy Test</title>
  <script src=/resources/testharness.js></script>
  <script src=/resources/testharnessreport.js></script>
  <script src=/feature-policy/resources/featurepolicy.js></script>
  <script src=util/utils.js></script>
  <script>
  'use strict';
  run_all_fp_tests_allow_all(
      'http://{{hosts[alt][]}}:{{ports[http][0]}}',
      'sync-xhr',
      'NetworkError',
      () => {
        return new Promise((resolve, reject) => {
          try {
            var xhr = new XMLHttpRequest();
            xhr.open("GET", "data:,", false);
            try {
              xhr.send();
            } catch(e) {
              reject(e);
            }
          } catch(e) {
            reject({"name": "UnexpectedException:" + e.name});
          }
          resolve();
       });
      });
  </script>
</body>
