<!DOCTYPE html>
<html>
<head>
<script src="/js-test-resources/js-test.js"></script>
</head>
<body>
<script>
description("Tests the behavior of 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
    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" referrerpolicy="origin"></iframe>
</body>
</html>
