Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
WebDriver: [Cocoa] Regression(r290743) Automated mouse movement does …
…not result in JS mouse event being fired https://bugs.webkit.org/show_bug.cgi?id=241484 rdar://94026001 Reviewed by Devin Rousso. r290743 changed WKWebView on macOS to no longer forward NSEventTypeMouseMoved events to the underlying view implementation since it does its own mouse tracking. Unfortuantely, this means that WebDriver on Cocoa platforms can not just dispatch an event to the window and have that event reach the WKWebView's underlying view implementation. This change was made because events for genuine cursor movement were being received twice by the underlying view previously. We need to explicitly tell the underlying view about automated mouse movements (as well as the NSWindow to maintain any existing behavior caused by the mouse move event being sent to the window). This patch was verified by comparing WPT test results for tests in /webdriver/tests/perform_actions and /webdriver/tests/release_actions and ensuring that results now match Safari 15.5 again, which does not have the regressing change included. * Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h: * Source/WebKit/UIProcess/API/mac/WKWebViewMac.mm: (-[WKWebView _simulateMouseMove:]): * Source/WebKit/UIProcess/API/mac/WKWebViewPrivateForTestingMac.h: * Source/WebKit/UIProcess/API/mac/WKWebViewTestingMac.mm: (-[WKWebView _simulateMouseMove:]): Deleted. - Move _simulateMouseMove to be private instead of private for testing. * Source/WebKit/UIProcess/Automation/mac/WebAutomationSessionMac.mm: (WebKit::WebAutomationSession::sendSynthesizedEventsToPage): - For mouse move events, make sure the view implementation receives the events. * Tools/WebKitTestRunner/mac/EventSenderProxy.mm: Canonical link: https://commits.webkit.org/251457@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@295451 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- Loading branch information