<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
<html>
  <head>
    <meta charset="utf-8">
    <meta name="timeout" content="long">
    <meta name="referrer" content="always">
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <script src="/common/security-features/resources/common.sub.js"></script>
    <script src="../../../generic/test-case.sub.js"></script>
  </head>
  <body>
    <script>
      TestCase(
        [
          {
            "expectation": "stripped-referrer",
            "origin": "cross-http",
            "redirection": "keep-origin",
            "source_context_list": [
              {
                "policyDeliveries": [],
                "sourceContextType": "srcdoc"
              }
            ],
            "source_scheme": "http",
            "subresource": "img-tag",
            "subresource_policy_deliveries": [],
            "test_description": "Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context."
          },
          {
            "expectation": "stripped-referrer",
            "origin": "cross-http",
            "redirection": "no-redirect",
            "source_context_list": [
              {
                "policyDeliveries": [],
                "sourceContextType": "srcdoc"
              }
            ],
            "source_scheme": "http",
            "subresource": "img-tag",
            "subresource_policy_deliveries": [],
            "test_description": "Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context."
          },
          {
            "expectation": "stripped-referrer",
            "origin": "cross-http",
            "redirection": "swap-origin",
            "source_context_list": [
              {
                "policyDeliveries": [],
                "sourceContextType": "srcdoc"
              }
            ],
            "source_scheme": "http",
            "subresource": "img-tag",
            "subresource_policy_deliveries": [],
            "test_description": "Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context."
          },
          {
            "expectation": "stripped-referrer",
            "origin": "cross-https",
            "redirection": "keep-origin",
            "source_context_list": [
              {
                "policyDeliveries": [],
                "sourceContextType": "srcdoc"
              }
            ],
            "source_scheme": "http",
            "subresource": "img-tag",
            "subresource_policy_deliveries": [],
            "test_description": "Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context."
          },
          {
            "expectation": "stripped-referrer",
            "origin": "cross-https",
            "redirection": "no-redirect",
            "source_context_list": [
              {
                "policyDeliveries": [],
                "sourceContextType": "srcdoc"
              }
            ],
            "source_scheme": "http",
            "subresource": "img-tag",
            "subresource_policy_deliveries": [],
            "test_description": "Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context."
          },
          {
            "expectation": "stripped-referrer",
            "origin": "cross-https",
            "redirection": "swap-origin",
            "source_context_list": [
              {
                "policyDeliveries": [],
                "sourceContextType": "srcdoc"
              }
            ],
            "source_scheme": "http",
            "subresource": "img-tag",
            "subresource_policy_deliveries": [],
            "test_description": "Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context."
          },
          {
            "expectation": "stripped-referrer",
            "origin": "same-http",
            "redirection": "keep-origin",
            "source_context_list": [
              {
                "policyDeliveries": [],
                "sourceContextType": "srcdoc"
              }
            ],
            "source_scheme": "http",
            "subresource": "img-tag",
            "subresource_policy_deliveries": [],
            "test_description": "Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context."
          },
          {
            "expectation": "stripped-referrer",
            "origin": "same-http",
            "redirection": "no-redirect",
            "source_context_list": [
              {
                "policyDeliveries": [],
                "sourceContextType": "srcdoc"
              }
            ],
            "source_scheme": "http",
            "subresource": "img-tag",
            "subresource_policy_deliveries": [],
            "test_description": "Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context."
          },
          {
            "expectation": "stripped-referrer",
            "origin": "same-http",
            "redirection": "swap-origin",
            "source_context_list": [
              {
                "policyDeliveries": [],
                "sourceContextType": "srcdoc"
              }
            ],
            "source_scheme": "http",
            "subresource": "img-tag",
            "subresource_policy_deliveries": [],
            "test_description": "Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context."
          },
          {
            "expectation": "stripped-referrer",
            "origin": "same-https",
            "redirection": "keep-origin",
            "source_context_list": [
              {
                "policyDeliveries": [],
                "sourceContextType": "srcdoc"
              }
            ],
            "source_scheme": "http",
            "subresource": "img-tag",
            "subresource_policy_deliveries": [],
            "test_description": "Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context."
          },
          {
            "expectation": "stripped-referrer",
            "origin": "same-https",
            "redirection": "no-redirect",
            "source_context_list": [
              {
                "policyDeliveries": [],
                "sourceContextType": "srcdoc"
              }
            ],
            "source_scheme": "http",
            "subresource": "img-tag",
            "subresource_policy_deliveries": [],
            "test_description": "Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context."
          },
          {
            "expectation": "stripped-referrer",
            "origin": "same-https",
            "redirection": "swap-origin",
            "source_context_list": [
              {
                "policyDeliveries": [],
                "sourceContextType": "srcdoc"
              }
            ],
            "source_scheme": "http",
            "subresource": "img-tag",
            "subresource_policy_deliveries": [],
            "test_description": "Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context."
          }
        ],
        new SanityChecker()
      ).start();
    </script>
    <div id="log"></div>
  </body>
</html>
