<html>
<head>
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.dumpChildFramesAsText();
    testRunner.waitUntilDone();
}
</script>
</head>
<body>
<p>
This test checks the always referrer policy when navigating from an insecure
URL to another insecure URL. The test passes if the printed referrer is
http://127.0.0.1:8000/security/resources/referrer-policy-start.html?always
</p>
<iframe src="http://127.0.0.1:8000/security/resources/referrer-policy-start.html?always"></iframe>
</body>
</html>
