Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 6310806e67493a9e1167b9d64e312a0553b568ec
https://github.com/WebKit/WebKit/commit/6310806e67493a9e1167b9d64e312a0553b568ec
Author: Charlie Wolfe <[email protected]>
Date: 2024-07-29 (Mon, 29 Jul 2024)
Changed paths:
M LayoutTests/fast/events/autoscroll-in-iframe-body.html
M LayoutTests/fast/events/autoscroll-in-iframe.html
M LayoutTests/fast/events/pointer-events-2.html
M LayoutTests/fast/events/pointer-events.html
M LayoutTests/fast/events/related-target.html
M LayoutTests/fast/forms/25153.html
M LayoutTests/fast/forms/range/slider-mouse-events.html
M LayoutTests/fast/forms/search-rtl.html
M LayoutTests/platform/mac-site-isolation/TestExpectations
M Tools/DumpRenderTree/mac/EventSendingController.mm
M Tools/WebKitTestRunner/EventSenderProxy.h
M Tools/WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl
M Tools/WebKitTestRunner/InjectedBundle/EventSendingController.cpp
M Tools/WebKitTestRunner/InjectedBundle/EventSendingController.h
M Tools/WebKitTestRunner/InjectedBundle/ios/EventSenderProxyIOS.mm
M Tools/WebKitTestRunner/TestController.cpp
M Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp
M Tools/WebKitTestRunner/libwpe/EventSenderProxyLibWPE.cpp
M Tools/WebKitTestRunner/mac/EventSenderProxy.mm
M Tools/WebKitTestRunner/win/EventSenderProxyWin.cpp
Log Message:
-----------
Implement asynchronous eventSender mouse functions and begin adopting them
https://bugs.webkit.org/show_bug.cgi?id=277172
rdar://132597860
Reviewed by Alex Christensen.
When running layout tests with `—site-isolation`, many tests that use
`eventSender` fail because iframe
contents may shift between the time the `eventSender` function is invoked and
when the iframe process
receives the event. This happens because, with site isolation, input events
need to be sent to the
mainframe first before they can be sent to a child frame, and the additional
asynchronous IPC message
means that web content could change before the iframe receives the event.
To fix this we can add asynchronous event sending functions that will await
until all web processes have
handled the event.
* LayoutTests/fast/events/autoscroll-in-iframe-body.html:
* LayoutTests/fast/events/autoscroll-in-iframe.html:
* LayoutTests/fast/events/pointer-events-2.html:
* LayoutTests/fast/events/pointer-events.html:
* LayoutTests/fast/events/related-target.html:
* LayoutTests/fast/forms/25153.html:
* LayoutTests/fast/forms/range/slider-mouse-events.html:
* LayoutTests/fast/forms/search-rtl.html:
* LayoutTests/platform/mac-site-isolation/TestExpectations:
* Tools/DumpRenderTree/mac/EventSendingController.mm:
(+[EventSendingController isSelectorExcludedFromWebScript:]):
(+[EventSendingController webScriptNameForSelector:]):
(-[EventSendingController asyncMouseDown:withModifiers:]):
(-[EventSendingController asyncMouseUp:withModifiers:]):
(-[EventSendingController asyncMouseMoveToX:Y:]):
* Tools/WebKitTestRunner/EventSenderProxy.h:
* Tools/WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl:
* Tools/WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
(WTR::EventSendingController::asyncMouseDown):
(WTR::EventSendingController::asyncMouseUp):
(WTR::EventSendingController::asyncMouseMoveTo):
* Tools/WebKitTestRunner/InjectedBundle/EventSendingController.h:
* Tools/WebKitTestRunner/InjectedBundle/ios/EventSenderProxyIOS.mm:
(WTR::EventSenderProxy::waitForPendingMouseEvents):
* Tools/WebKitTestRunner/TestController.cpp:
(WTR::TestController::didReceiveAsyncMessageFromInjectedBundle):
* Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::EventSenderProxy::waitForPendingMouseEvents):
* Tools/WebKitTestRunner/libwpe/EventSenderProxyLibWPE.cpp:
(WTR::EventSenderProxy::waitForPendingMouseEvents):
* Tools/WebKitTestRunner/mac/EventSenderProxy.mm:
(WTR::EventSenderProxy::mouseDown):
(WTR::EventSenderProxy::mouseUp):
(WTR::EventSenderProxy::mouseMoveTo):
(WTR::EventSenderProxy::waitForPendingMouseEvents):
* Tools/WebKitTestRunner/win/EventSenderProxyWin.cpp:
(WTR::EventSenderProxy::waitForPendingMouseEvents):
Canonical link: https://commits.webkit.org/281547@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes