<!DOCTYPE html>
<html>
<head>
<script src="resources/utilities.js"></script>
<script>
if (window.testRunner && window.internals) {
    testRunner.dumpAsText();
    testRunner.setStatisticsShouldDowngradeReferrer(false, function () { });
    internals.settings.setHyperlinkAuditingEnabled(true);
    testRunner.waitUntilDone();
}

function test()
{
    clickElement(document.querySelector("img"));
}

window.onload = function ()
{
    clearLastPingResultAndRunTest(test);
}
</script>
</head>
<body>
    <img src="non-existent-image.jpg" width="128" height="128" usemap="#imagemap">
    <map name="imagemap">
        <area shape="rect" coords="0,0,128,128" href="../resources/check-ping.py" ping="http://localhost:8000/navigation/resources/save-ping.py">
    </map>
</body>
</html>
