| <!DOCTYPE html> |
| <title>Default passive document level wheel event listener test</title> |
| <link rel="help" href="https://github.com/WICG/interventions/issues/64"> |
| <script src="../../resources/testharness.js"></script> |
| <script src="../../resources/testharnessreport.js"></script> |
| <script src="../../resources/gesture-util.js"></script> |
| <body onload=runTest()> |
| <div id="wheelDiv"> |
| </div> |
| </body> |
| <style> |
| #wheelDiv { |
| width: 100px; |
| height: 100px; |
| } |
| </style> |
| <script> |
| var wheel_div = document.getElementById("wheelDiv"); |
| var rect = wheel_div.getBoundingClientRect(); |
| var x = rect.left + rect.width / 2; |
| var y = rect.top + rect.height / 2; |
| var cancelable = true; |
| var wheel_arrived = false; |
| document.addEventListener("wheel", function (event) { |
| cancelable = event.cancelable; |
| wheel_arrived = true; |
| event.preventDefault(); |
| }); |
| |
| function injectInput() { |
| return smoothScroll(10, x, y, GestureSourceType.MOUSE_INPUT, "down"); |
| } |
| |
| function runTest() { |
| promise_test (async () => { |
| await waitForCompositorCommit(); |
| await injectInput(); |
| await waitFor(()=> { return wheel_arrived; }); |
| assert_false(cancelable); |
| }, "Wheel events are non-cancelable since the event listener is treated as passive."); |
| } |
| </script> |