<!DOCTYPE html>
<html>
<head>
    <script src="/resources/get-host-info.js"></script>
</head>
<body>
    <script>
       if (window.testRunner)
           testRunner.waitUntilDone();

        if (window.location.origin != get_host_info().HTTPS_ORIGIN) {
            window.location = get_host_info().HTTPS_ORIGIN + window.location.pathname;
        } else {
            var img = document.createElement("img");

            // Before calling testRunner.notifyDone (and taking a screenshot of
            // the page), we need to make sure the image got actually loaded.
            img.addEventListener("load", function() {
                testRunner.notifyDone();
            });

            img.src = "http://127.0.0.1:8000/security/resources/green-if-no-referrer.php";
            img.referrerpolicy = "no-referrer-when-downgrade";
            document.body.appendChild(img);
        }
    </script>
</body>
</html>
