<!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.");
jsTestIsAsync = true;

if (window.internals)
    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", "http://127.0.0.1:8000/");
    if (window.internals)
        internals.setResourceLoadStatisticsEnabled(true);
    finishJSTest();
}
</script>
<iframe src="http://localhost:8000/referrer-policy/resources/document.html"></iframe>
</body>
</html>
