<html>
<head>
<script>
function start() {
    if (window.testRunner) {
        testRunner.dumpAsText();
        testRunner.waitUntilDone();
        var link = document.getElementById("link");
        eventSender.mouseMoveTo(link.offsetLeft + 2, link.offsetTop + 2);
        eventSender.mouseDown();
        eventSender.mouseUp();
    }
}
</script>
</head>
<body onload="start();">
<a id="link" href="resources/redirect-to-referrer-check.pl">Link</a>
</body></html>
