<!DOCTYPE html><!-- webkit-test-runner [ useFlexibleViewport=true ] -->
<html>
<head>
<meta name="viewport" content="width=device-width">
<script src="/js-test-resources/ui-helper.js"></script>
<script>
if (window.testRunner) {
  testRunner.dumpAsText();
  testRunner.setShouldLogDownloadCallbacks(true);
  testRunner.waitUntilDownloadFinished();
}
</script>
</head>
<body>
<p>The suggested filename above should be "abe.png" and the download should succeed.</p>
<a id="download-url" href="/css/resources/abe.png" download>Link with download attribute.</a>
<script>
function click(elmt)
{
    if (!window.eventSender) {
        alert('Click the link to run the test.');
        return;
    }
    UIHelper.activateAt(elmt.offsetLeft + 5, elmt.offsetTop + 5);
}

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