<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using referrer-policy/generic/template/test.release.html.template. -->
<html>
  <head>
    <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
    <meta name="description" content="Check that all subresources in all casses get only the origin portion of the referrer URL.">
    <meta name="referrer" content="origin">
    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
    <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin">
    <meta name="assert" content="The referrer URL is origin when a
                                 document served over http requires an https
                                 sub-resource via a-tag using the meta-referrer
                                 delivery method with no-redirect and when
                                 the target request is cross-origin.">
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <script src="/common/security-features/resources/common.js"></script>
    <script src="/referrer-policy/generic/referrer-policy-test-case.js?pipe=sub"></script>
  </head>
  <body>
    <script>
      ReferrerPolicyTestCase(
        {
          "referrer_policy": "origin",
          "delivery_method": "meta-referrer",
          "redirection": "no-redirect",
          "origin": "cross-origin",
          "source_protocol": "http",
          "target_protocol": "https",
          "subresource": "a-tag",
          "referrer_url": "origin"
        },
        document.querySelector("meta[name=assert]").content,
        new SanityChecker()
      ).start();
      </script>
    <div id="log"></div>
  </body>
</html>
