Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 6115b3860098606a435a3cd00b7a6f48662b0617
https://github.com/WebKit/WebKit/commit/6115b3860098606a435a3cd00b7a6f48662b0617
Author: Richard Robinson <[email protected]>
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
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes