[webkit-changes] [WebKit/WebKit] 6115b3: The second pointerdown/touchstart event is missing...
Richard Robinson
noreply at github.com
Fri Nov 4 20:34:24 PDT 2022
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 6115b3860098606a435a3cd00b7a6f48662b0617
https://github.com/WebKit/WebKit/commit/6115b3860098606a435a3cd00b7a6f48662b0617
Author: Richard Robinson <richard_robinson2 at apple.com>
Date: 2022-11-04 (Fri, 04 Nov 2022)
Changed paths:
M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
Log Message:
-----------
The second pointerdown/touchstart event is missing on double-tap gesture
https://bugs.webkit.org/show_bug.cgi?id=246313
rdar://101273397
Reviewed by Wenson Hsieh.
On iOS, `WKContentViewInteraction` has a gesture recognizer of type `WKHighlightLongPressGestureRecognizer`.
In Safari, this recognizer is disabled because of the condition `!self._shouldUseContextMenus || !self.webView.allowsLinkPreview`,
which is `false` in Safari.
However, when adding a site to the Home Screen and launching it from there, this condition is true, causing
the recognizer to participate in the WKContentView's gesture recognizer graph. This causes a failure
Dependency between the recognizer and the touchstart deferring gesture recognizer for "immediately
resettable" gestures, and so double tapping an element only results in a single touchstart event triggered.
This PR fixes this by adding the gesture recognizer to the set of recognizers which may delay a reset,
which fixes the dependency graph.
No new tests, as the issue has been difficult to reproduce in WebKitTestRunner.
This is tracked in https://bugs.webkit.org/show_bug.cgi?id=246313.
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView deferringGestureRecognizer:shouldDeferOtherGestureRecognizer:]):
Canonical link: https://commits.webkit.org/256348@main
More information about the webkit-changes
mailing list