| <!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 removed dynamically.</title> |
| <script src="../../../../resources/ui-helper.js"></script> |
| <style> |
| #doubleTapthis { |
| width: 400px; |
| height: 400px; |
| border: 1px solid green; |
| } |
| </style> |
| </head> |
| <body onload="test()"> |
| <div id=doubleTapthis>PASS if '[click][click]' text is shown below.</div> |
| <pre id=result></pre> |
| <script> |
| |
| function dblclickHandler(event) { |
| result.innerHTML = result.innerHTML + "[should not double click]"; |
| } |
| |
| doubleTapthis.addEventListener("dblclick", dblclickHandler, false); |
| |
| let numberOfClicks = 0; |
| doubleTapthis.addEventListener("click", function( event ) { |
| result.innerHTML = result.innerHTML + "[click]"; |
| if (++numberOfClicks == 2 && window.testRunner) |
| setTimeout("testRunner.notifyDone()", 0); |
| }, false); |
| |
| async function test() { |
| doubleTapthis.removeEventListener("dblclick", dblclickHandler, false); |
| |
| if (!window.testRunner || !testRunner.runUIScript) |
| return; |
| |
| testRunner.waitUntilDone(); |
| testRunner.dumpAsText(); |
| |
| await UIHelper.humanSpeedDoubleTapAt(doubleTapthis.offsetLeft, doubleTapthis.offsetTop); |
| } |
| </script> |
| </body> |
| </html> |