| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta name="viewport" content="initial-scale=1"> |
| <script> |
| if (window.testRunner) { |
| testRunner.dumpAsText(); |
| testRunner.waitUntilDone(); |
| } |
| |
| function runTest() |
| { |
| let eventTarget = document.getElementById("eventTarget"); |
| eventTarget.scrollTop = 5; |
| eventTarget.scrollTop = 0; |
| if (window.testRunner) { |
| document.getElementById("output").innerText = window.internals.scrollingStateTreeAsText(); |
| testRunner.notifyDone(); |
| } |
| } |
| function testSetup() |
| { |
| let eventTarget = document.getElementById("eventTarget"); |
| function touchEventHandler(event) { throw "This is not supposed to happen!"; } |
| eventTarget.addEventListener('touchstart', touchEventHandler, { 'passive': true }); |
| eventTarget.addEventListener('touchmove', touchEventHandler, { 'passive': true }); |
| eventTarget.addEventListener('touchend', touchEventHandler, { 'passive': true }); |
| eventTarget.addEventListener('touchcancel', touchEventHandler, { 'passive': true }); |
| setTimeout(runTest, 15); |
| } |
| |
| window.addEventListener('load', testSetup, false); |
| </script> |
| </head> |
| <body> |
| <div id="eventTarget" style="overflow: scroll; height: 200px"> |
| <div style="height: 3000px"></div> |
| </div> |
| <p>Verify that the block scrolling on overflow has touch event region with synchronous dispatch associated with it even with asynchronous listeners.</p> |
| <pre id="output"> |
| </pre> |
| </body> |
| </html> |