<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    <title>SendBeacon Referrer Header Unsafe Url Policy</title>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <meta name='referrer' content='unsafe-url'>
  </head>
  <body>
    <script src="/common/utils.js"></script>
    <script src="/common/get-host-info.sub.js"></script>
    <script src="/beacon/headers/header-referrer.js"></script>
    <script>
      var testBase = get_host_info().HTTPS_ORIGIN +  RESOURCES_DIR;
      testReferrerHeader(testBase, referrerUrl);
      testBase = get_host_info().HTTP_ORIGIN + RESOURCES_DIR;
      testReferrerHeader(testBase, referrerUrl, true);
    </script>
  </body>
</html>
