<!DOCTYPE html><!-- webkit-test-runner [ useFlexibleViewport=true ] -->
<html>
<head>
<meta name="viewport" content="width=device-width initial-scale=1 user-scalable=no">
<title>This tests that we fire two click events on double tap when dblclick handler is not present.</title>
<script src="../../../../resources/ui-helper.js"></script>
<style>
#doubleTapthis {
    width: 400px;
    height: 400px;
    border: 1px solid green;
}
</style>
<script>
async function test() {
    if (!window.testRunner || !testRunner.runUIScript)
        return;

    testRunner.waitUntilDone();
    testRunner.dumpAsText();

    await UIHelper.humanSpeedDoubleTapAt(doubleTapthis.offsetLeft, doubleTapthis.offsetTop);
}
</script>
</head>
<body onload="test()">
<div id=doubleTapthis>PASS if '[click][click]' text is shown below.</div>
<pre id=result></pre>
<script>
let numberOfClicks = 0;

doubleTapthis.addEventListener("click", function( event ) {   
    result.innerHTML = result.innerHTML + "[click]";
    if (++numberOfClicks == 2 && window.testRunner)
        setTimeout("testRunner.notifyDone()", 0);
}, false);

</script>
</body>
</html>
