<!DOCTYPE html>
<html>
<head>
<meta name='referrer' content='origin-when-cross-origin'>
<script src="/js-test-resources/js-test.js"></script>
</head>
<body>
<script>
description("Tests the behavior of origin-when-cross-origin referrer policy when cross origin from HTTPS to HTTP.");
jsTestIsAsync = true;

if (window.internals) {
    internals.settings.setAllowDisplayOfInsecureContent(true);
    internals.setResourceLoadStatisticsEnabled(false);
}

window.onmessage = function(event) {
    referrer = event.data.referrer;
    // Should be the origin, not the full URL, because we are cross-origin.
    shouldBeEqualToString("referrer", "https://127.0.0.1:8443/");
    if (window.internals)
        internals.setResourceLoadStatisticsEnabled(true);
    finishJSTest();
}
</script>
<iframe src="http://localhost:8000/referrer-policy/resources/document.html"></iframe>
</body>
</html>
