<html><body>
This tests the functionality of the "noreferrer" link relation on anchor tags. The link below should not
send an http referrer, and the resulting window should have its opener attribute set to null.  The values
of the referrer and window.opener should be empty below.<br/>
<a id="link" href="resources/no-referrer-helper.py" rel="noreferrer" target="_blank">Start no referrer test</a>
<script>
    window.name = "consoleWindow";
    if (window.testRunner) {
        testRunner.dumpAsText();
        testRunner.waitUntilDone();
    }

    var target = document.getElementById("link");
    eventSender.mouseMoveTo(target.offsetLeft + 2, target.offsetTop + 2);
    eventSender.mouseDown();
    eventSender.mouseUp();

function log(msg)
{
    var line = document.createElement('div');
    line.appendChild(document.createTextNode(msg));
    document.getElementById('console').appendChild(line);
}
</script>
<div id="console"></div>
</body></html>
