<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
<html>
  <head>
    <meta charset="utf-8">
    <meta name="timeout" content="long">
    <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": "allowed",
            "origin": "same-https",
            "redirection": "keep-scheme",
            "source_context_list": [
              {
                "policyDeliveries": [
                  {
                    "deliveryType": "http-rp",
                    "key": "mixedContent",
                    "value": "opt-in"
                  }
                ],
                "sourceContextType": "worker-classic"
              }
            ],
            "source_scheme": "https",
            "subresource": "xhr",
            "subresource_policy_deliveries": [],
            "test_description": "Mixed-Content: Expects allowed for xhr to same-https origin and keep-scheme redirection from https context."
          },
          {
            "expectation": "allowed",
            "origin": "same-https",
            "redirection": "no-redirect",
            "source_context_list": [
              {
                "policyDeliveries": [
                  {
                    "deliveryType": "http-rp",
                    "key": "mixedContent",
                    "value": "opt-in"
                  }
                ],
                "sourceContextType": "worker-classic"
              }
            ],
            "source_scheme": "https",
            "subresource": "xhr",
            "subresource_policy_deliveries": [],
            "test_description": "Mixed-Content: Expects allowed for xhr to same-https origin and no-redirect redirection from https context."
          },
          {
            "expectation": "blocked",
            "origin": "cross-http",
            "redirection": "keep-scheme",
            "source_context_list": [
              {
                "policyDeliveries": [
                  {
                    "deliveryType": "http-rp",
                    "key": "mixedContent",
                    "value": "opt-in"
                  }
                ],
                "sourceContextType": "worker-classic"
              }
            ],
            "source_scheme": "https",
            "subresource": "xhr",
            "subresource_policy_deliveries": [],
            "test_description": "Mixed-Content: Expects blocked for xhr to cross-http origin and keep-scheme redirection from https context."
          },
          {
            "expectation": "blocked",
            "origin": "cross-http",
            "redirection": "no-redirect",
            "source_context_list": [
              {
                "policyDeliveries": [
                  {
                    "deliveryType": "http-rp",
                    "key": "mixedContent",
                    "value": "opt-in"
                  }
                ],
                "sourceContextType": "worker-classic"
              }
            ],
            "source_scheme": "https",
            "subresource": "xhr",
            "subresource_policy_deliveries": [],
            "test_description": "Mixed-Content: Expects blocked for xhr to cross-http origin and no-redirect redirection from https context."
          },
          {
            "expectation": "blocked",
            "origin": "cross-http",
            "redirection": "swap-scheme",
            "source_context_list": [
              {
                "policyDeliveries": [
                  {
                    "deliveryType": "http-rp",
                    "key": "mixedContent",
                    "value": "opt-in"
                  }
                ],
                "sourceContextType": "worker-classic"
              }
            ],
            "source_scheme": "https",
            "subresource": "xhr",
            "subresource_policy_deliveries": [],
            "test_description": "Mixed-Content: Expects blocked for xhr to cross-http origin and swap-scheme redirection from https context."
          },
          {
            "expectation": "blocked",
            "origin": "same-http",
            "redirection": "keep-scheme",
            "source_context_list": [
              {
                "policyDeliveries": [
                  {
                    "deliveryType": "http-rp",
                    "key": "mixedContent",
                    "value": "opt-in"
                  }
                ],
                "sourceContextType": "worker-classic"
              }
            ],
            "source_scheme": "https",
            "subresource": "xhr",
            "subresource_policy_deliveries": [],
            "test_description": "Mixed-Content: Expects blocked for xhr to same-http origin and keep-scheme redirection from https context."
          },
          {
            "expectation": "blocked",
            "origin": "same-http",
            "redirection": "no-redirect",
            "source_context_list": [
              {
                "policyDeliveries": [
                  {
                    "deliveryType": "http-rp",
                    "key": "mixedContent",
                    "value": "opt-in"
                  }
                ],
                "sourceContextType": "worker-classic"
              }
            ],
            "source_scheme": "https",
            "subresource": "xhr",
            "subresource_policy_deliveries": [],
            "test_description": "Mixed-Content: Expects blocked for xhr to same-http origin and no-redirect redirection from https context."
          },
          {
            "expectation": "blocked",
            "origin": "same-http",
            "redirection": "swap-scheme",
            "source_context_list": [
              {
                "policyDeliveries": [
                  {
                    "deliveryType": "http-rp",
                    "key": "mixedContent",
                    "value": "opt-in"
                  }
                ],
                "sourceContextType": "worker-classic"
              }
            ],
            "source_scheme": "https",
            "subresource": "xhr",
            "subresource_policy_deliveries": [],
            "test_description": "Mixed-Content: Expects blocked for xhr to same-http origin and swap-scheme redirection from https context."
          }
        ],
        new SanityChecker()
      ).start();
    </script>
    <div id="log"></div>
  </body>
</html>
