<!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 same-origin 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 because we are cross-origin.
    shouldBeEqualToString("referrer", "");
    finishJSTest();
}

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