<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.py'></form>
<script>
document.getElementById('tg').addEventListener('load', function() {
    if (window.testRunner)
        testRunner.notifyDone();
}, false);
document.getElementById('fm').submit();
</script>
"></iframe>
