Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: c4264e1b1836110efffc4cabc2ed5d7f0de9fc79
https://github.com/WebKit/WebKit/commit/c4264e1b1836110efffc4cabc2ed5d7f0de9fc79
Author: Claudio Saavedra <[email protected]>
Date: 2026-08-19 (Wed, 19 Aug 2026)
Changed paths:
M LayoutTests/platform/glib/TestExpectations
M LayoutTests/platform/gtk/TestExpectations
A
LayoutTests/platform/gtk/fast/events/touch/basic-single-touch-events-expected.txt
M LayoutTests/platform/wpe/TestExpectations
M Source/WebKit/Shared/NativeWebTouchEvent.h
M Source/WebKit/Shared/gtk/NativeWebTouchEventGtk.cpp
M Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp
M Source/WebKit/UIProcess/API/gtk/WebKitWebViewBaseInternal.h
M Tools/WebKitTestRunner/EventSenderProxy.h
M Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp
Log Message:
-----------
[GTK] Implement touch event synthesis in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=319580
Reviewed by Nikolas Zimmermann and Carlos Garcia Campos.
The GTK EventSenderProxy touch methods were empty stubs, so
eventSender.addTouchPoint(), touchStart() and friends dispatched nothing
and the fast/events/touch tests timed out. Unlike mouse, key and wheel
events, WebKitWebViewBase had no touch synthesis entry point, and the
existing touch path is built around GdkEvent, which cannot be constructed
by application code under GTK4. Add webkitWebViewBaseSynthesizeTouchEvent(),
which builds the WebPlatformTouchPoint list and dispatches a
NativeWebTouchEvent directly, the same way the mouse path already bypasses
GdkEvent; the GTK EventSenderProxy keeps the touch point state and maps it
onto that entry point.
Update the touch event test expectations for the tests that now pass, were
unskipped, or changed to a deterministic failure, and add a GTK baseline
for basic-single-touch-events.html (touch point radius is unsupported, as
on WPE, but the touch modifiers are applied).
Covered by fast/events/touch tests.
* LayoutTests/platform/glib/TestExpectations:
* LayoutTests/platform/gtk/TestExpectations:
*
LayoutTests/platform/gtk/fast/events/touch/basic-single-touch-events-expected.txt:
Added.
* LayoutTests/platform/wpe/TestExpectations:
* Source/WebKit/Shared/NativeWebTouchEvent.h:
* Source/WebKit/Shared/gtk/NativeWebTouchEventGtk.cpp:
(WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
(WebKit::m_nativeEvent):
* Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp:
(toWebPlatformTouchPointState):
(webkitWebViewBaseSynthesizeTouchEvent):
* Source/WebKit/UIProcess/API/gtk/WebKitWebViewBaseInternal.h:
* Tools/WebKitTestRunner/EventSenderProxy.h:
* Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::toSyntheticTouchPointState):
(WTR::EventSenderProxy::addTouchPoint):
(WTR::EventSenderProxy::updateTouchPoint):
(WTR::sendTouchEvent):
(WTR::markAllTouchPointsStationary):
(WTR::EventSenderProxy::touchStart):
(WTR::EventSenderProxy::touchMove):
(WTR::EventSenderProxy::touchEnd):
(WTR::EventSenderProxy::touchCancel):
(WTR::EventSenderProxy::clearTouchPoints):
(WTR::EventSenderProxy::releaseTouchPoint):
(WTR::EventSenderProxy::cancelTouchPoint):
(WTR::EventSenderProxy::setTouchModifier):
Canonical link: https://commits.webkit.org/319450@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications