<!DOCTYPE html>
<html>
<head>
<script src="/js-test-resources/js-test.js"></script>
</head>
<body>
<script>
description("Tests the behavior of no-referrer-when-downgrade referrer policy when cross origin.");
jsTestIsAsync = true;

if (window.internals)
    internals.setResourceLoadStatisticsEnabled(false);

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