<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
    testRunner.dumpChildFramesAsText();
}
</script>
The srcdoc iframe below should use this document's URL as its referrer.
<iframe srcdoc="
This iframe logs information about its referrer:<br>
<iframe id='tg' name='tg'></iframe>
<form target='tg' id='fm' name='fm' method='GET' action='resources/referrer-policy-log.php'></form>
<script>
document.getElementById('tg').addEventListener('load', function() {
    if (window.testRunner)
        testRunner.notifyDone();
}, false);
document.getElementById('fm').submit();
</script>
"></iframe>
