Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: ef25d9c7689b0e962ce67a79d677f4572a781170
https://github.com/WebKit/WebKit/commit/ef25d9c7689b0e962ce67a79d677f4572a781170
Author: Abrar Rahman Protyasha <[email protected]>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M Source/WebKit/Scripts/webkit/messages.py
M Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm
M Source/WebKit/UIProcess/WebPageProxy.h
M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
M Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm
M Source/WebKit/WebProcess/WebPage/WebFrame.h
M Source/WebKit/WebProcess/WebPage/WebPage.h
M Source/WebKit/WebProcess/WebPage/WebPage.messages.in
M Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm
Log Message:
-----------
Unify synthetic click handling under ENABLE_TWO_PHASE_CLICKS
https://bugs.webkit.org/show_bug.cgi?id=307939
rdar://170419356
Reviewed by Wenson Hsieh.
This patch moves synthetic click handling from WebPageIOS.mm to Cocoa
code, guarded behind ENABLE_TWO_PHASE_CLICKS. This allows enabled
platforms to benefit from the full tap pipeline: hover detection, target
approximation, tap highlights, and fast-click optimization.
We also add plumbing for input source through IPC to allow
distinguishing hardware-originated events versus automation-originated
events. This will be relevant as we bring up testing support for two
phase clicks. The input source is passed from the UI process through
potentialTapAtPosition and stored for use in completeSyntheticClick.
* Source/WebKit/Scripts/webkit/messages.py:
(headers_for_type):
* Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::potentialTapAtPosition):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _singleTapIdentified:]):
* Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::dispatchSyntheticMouseMove):
(WebKit::WebPage::handleSyntheticClick):
(WebKit::WebPage::potentialTapAtPosition):
(WebKit::WebPage::commitPotentialTap):
(WebKit::WebPage::cancelPotentialTapInFrame):
(WebKit::WebPage::cancelPotentialTap):
(WebKit::WebPage::didHandleTapAsHover):
(WebKit::WebPage::sendTapHighlightForNodeIfNecessary):
(WebKit::WebPage::didFinishContentChangeObserving):
(WebKit::WebPage::invokePendingSyntheticClickCallback):
(WebKit::WebPage::commitPotentialTapFailed):
(WebKit::WebPage::completeSyntheticClick):
* Source/WebKit/WebProcess/WebPage/WebFrame.h:
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Source/WebKit/WebProcess/WebPage/WebPage.messages.in:
* Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::generateSyntheticEditingCommand):
(WebKit::WebPage::handleSyntheticClick): Deleted.
(WebKit::WebPage::didHandleTapAsHover): Deleted.
(WebKit::WebPage::didFinishContentChangeObserving): Deleted.
(WebKit::WebPage::completeSyntheticClick): Deleted.
(WebKit::WebPage::sendTapHighlightForNodeIfNecessary): Deleted.
(WebKit::WebPage::commitPotentialTapFailed): Deleted.
(WebKit::WebPage::cancelPotentialTapInFrame): Deleted.
(WebKit::WebPage::invokePendingSyntheticClickCallback): Deleted.
Canonical link: https://commits.webkit.org/307671@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications