<!DOCTYPE html>
<html>
<head>
<script src="../../../resources/js-test-pre.js"></script>
<script>
    if (window.testRunner)
        testRunner.waitUntilDone();
</script>
</head>
<body>
<p>
Tests that the download attribute is ignored if 
<a id="dl" href="http://localhost:8080/resources/pass-notify-done.html" download="FAIL.pdf">the link</a> is cross origin.
<p>
It should navigate instead of downloading the file.
<script>
    function click(elmt)
    {
        if (!window.eventSender)
            return;

        eventSender.mouseMoveTo(elmt.offsetLeft + 5, elmt.offsetTop + 5);
        eventSender.mouseDown();
        eventSender.mouseUp();
    }

    function runTest()
    {
        var link = document.getElementById("dl");
        click(link);
    }
    runTest();
</script>
</body>
</html>
