<!DOCTYPE html>
<html>
  <head>
    <title>Sync request denied at preflight because of non-CORS-safelisted header</title>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <script src="/common/get-host-info.sub.js"></script>
    <script src="/common/utils.js"></script>
  </head>
  <body>
    <script type="text/javascript">
const uuid = token();
const url = get_host_info().HTTP_REMOTE_ORIGIN +
    "/XMLHttpRequest/resources/access-control-preflight-denied.py?token=" + uuid;

test(() => {
  let xhr = new XMLHttpRequest;
  xhr.open("GET", url + "&command=reset", false);
  xhr.send();

  xhr = new XMLHttpRequest;
  xhr.open("GET", url + "&command=header", false);
  xhr.setRequestHeader("x-test", "foo");

  try {
    xhr.send();
  } catch(e) {
    xhr = new XMLHttpRequest;
    xhr.open("GET", url + "&command=complete", false);
    xhr.send();
    assert_equals(xhr.responseText, "Request successfully blocked.");
    return;
  }

  assert_unreached("Cross-domain access with custom header allowed without throwing exception");
}, "Sync request denied at preflight");
    </script>
  </body>
</html>
