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

Reply via email to