<!DOCTYPE html><!-- webkit-test-runner [ dumpJSConsoleLogInStdErr=true ] -->
<html>
<head>
<script src="/js-test-resources/js-test.js"></script>
</head>
<body>
<script>
description("Tests the behavior of no-referrer referrer policy when cross origin from HTTPS to HTTP.");
jsTestIsAsync = true;

if (window.internals)
    internals.settings.setAllowRunningOfInsecureContent(true);

function checkReferrer(value) {
    referrer = value;
    // Should be the empty string
    shouldBeEqualToString("referrer", "");
    finishJSTest();
}

if (window.testRunner) {
    testRunner.setStatisticsShouldDowngradeReferrer(false, function() { downgradeReferrerCallback('no-referrer', 'localhost')});
}
</script>
</body>
</html>
