<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script src="/js-test-resources/js-test.js"></script>
    <script src="resources/util.js"></script>
<script>
    description("Tests that blocking is not applied to top-level navigation redirects.");
    jsTestIsAsync = true;

    internals.setResourceLoadStatisticsEnabled(true);

    function doRedirect()
    {
        testRunner.setUseITPDatabase(true);
        setEnableFeature(true, function () {
            testRunner.setStatisticsPrevalentResource("http://localhost", true, function () {
                if (!testRunner.isStatisticsPrevalentResource("http://localhost")) {
                    testFailed("Host did not get set as prevalent resource.");
                    setEnableFeature(false, finishJSTest);
                } else
                    document.location.href = "http://localhost:8000/resourceLoadStatistics/resources/set-cookie-on-redirect.php?step=1";
            });
        });
    }
</script>
</head>
<body onload="setTimeout('doRedirect()', 0)">
</body>
</html>
