| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta charset=utf-8> |
| </head> |
| <body> |
| <script src="../../resources/testharness.js"></script> |
| <script src="../../resources/testharnessreport.js"></script> |
| <script src="../utils.js"></script> |
| <script> |
| |
| 'use strict'; |
| |
| target_test((target, test) => { |
| // First, let's make sure we call preventDefault() the first time we get a pointerdown event. |
| target.addEventListener("pointerdown", event => event.preventDefault(), { once: true }); |
| |
| // Press the mouse while over the element. |
| eventSender.mouseMoveTo(50, 50); |
| eventSender.mouseDown(); |
| |
| let obtainedMouseMove = false; |
| target.addEventListener("mousemove", event => obtainedMouseMove = true, { once: true }); |
| eventSender.mouseMoveTo(60, 60); |
| assert_false(obtainedMouseMove, "The mousemove event is not fired after calling preventDefault() while handling the pointerdown event."); |
| |
| // Release the mouse. |
| eventSender.mouseUp(); |
| |
| // Now, without the mouse pressed, move the pointer over the element again. This should not prevent the mousemove event anymore since |
| // the mouse pointer is not pressed. |
| eventSender.mouseMoveTo(50, 50); |
| assert_true(obtainedMouseMove, "The mousemove event is fired after releasing the mouse."); |
| |
| test.done(); |
| }, `Testing that calling preventDefault() when handling a "pointerdown" event only blocks events while the mouse pointer is pressed.`); |
| |
| </script> |
| </body> |
| </html> |