longpress-crash.html (1074B)
1 <!DOCTYPE html> 2 <meta charset="utf-8" /> 3 <link rel="author" href="mailto:masonf@chromium.org"> 4 <link rel="help" href="https://crbug.com/421119389"> 5 <script src="/resources/testdriver.js"></script> 6 <script src="/resources/testdriver-actions.js"></script> 7 <script src="/resources/testdriver-vendor.js"></script> 8 <html class=test-wait> 9 10 <button>Button</button> 11 12 <script> 13 async function longPress(element) { 14 const actions = new test_driver.Actions(); 15 await actions.addPointer("touchPointer", "touch") 16 .pointerMove(0, 0, {sourceName: "touchPointer",origin: element}) 17 .pointerDown({sourceName: "touchPointer",origin: element}) 18 .send(); 19 // This needs to be long enough to trigger long-press: 20 await new Promise(resolve => setTimeout(resolve,1000)); 21 await actions.pointerUp({sourceName: "touchPointer"}) 22 .send(); 23 } 24 25 async function test() { 26 const el = document.querySelector('button'); 27 await longPress(el); 28 await longPress(el); 29 document.documentElement.classList.remove('test-wait'); 30 } 31 // This test should pass if nothing crashes. 32 test(); 33 34 </script>