NEW263154
WebDriver: Extra mousemove event fired to subsequent promise_test instance when exercising pointerMove Actions API
https://bugs.webkit.org/show_bug.cgi?id=263154
Summary WebDriver: Extra mousemove event fired to subsequent promise_test instance wh...
Abrar Rahman Protyasha
Reported 2023-10-13 20:09:57 PDT
Created attachment 468210 [details] Bug repro test file If there are two tests `promise_test` instances in a single WPT and invoke the test driver Actions API, the latter gets an unexpected `mousemove` event as soon as it instantiates `test_driver.Actions()` every time the former makes use of the `Actions.pointerMove()` method. This causes us to fail tests like web platform tests like uievents/mouse/mousemove_prevent_default_action.tentative.html (https://wpt.fyi/results/uievents/mouse/mousemove_prevent_default_action.tentative.html) which logs `mousemove` events. This seems to be coming from our implementation of the Release Actions command of the WebDriver spec (https://www.w3.org/TR/webdriver2/#release-actions), because tracing the origin of the extra mousemove event leads to `WebAutomationSession::cancelInteractionSequence`, which dispatches a key frame sequence obtained from `SimulatedInputKeyFrame::keyFrameToResetInputSources`. Maybe our implementation of the spec is a bit buggy here? I've attached a simplified WPT that demonstrates this bug. This test only fails when run through safaridriver and not when run through a ToT WebKitTestRunner (WKTR) application. Similarly, this test does not fail on ChromeDriver 117.0.5938.149 or geckodriver 0.33.0 (a80e5fd61076 2023-04-02 18:31 +0000).
Attachments
Bug repro test file (1.17 KB, text/html)
2023-10-13 20:09 PDT, Abrar Rahman Protyasha
no flags
Radar WebKit Bug Importer
Comment 1 2023-10-20 20:10:14 PDT
Note You need to log in before you can comment on or make changes to this bug.