<html>
<head>
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.dumpChildFramesAsText();
    testRunner.waitUntilDone();
}
</script>
</head>
<body>
<p>
This test checks the default 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?default
</p>
<iframe src="http://127.0.0.1:8000/security/resources/referrer-policy-start.html?default"></iframe>
</body>
</html>
