[webkit-changes] [WebKit/WebKit] 4c3f84: [iOS] Remove the image analysis timeout gesture
Wenson Hsieh
noreply at github.com
Mon Nov 6 18:15:15 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 4c3f8479961b623e579564628b50243d9d30cbcc
https://github.com/WebKit/WebKit/commit/4c3f8479961b623e579564628b50243d9d30cbcc
Author: Wenson Hsieh <wenson_hsieh at apple.com>
Date: 2023-11-06 (Mon, 06 Nov 2023)
Changed paths:
M Source/WebKit/Shared/ios/InteractionInformationRequest.cpp
M Source/WebKit/Shared/ios/InteractionInformationRequest.h
M Source/WebKit/Shared/ios/InteractionInformationRequest.serialization.in
M Source/WebKit/UIProcess/ios/WKContentViewInteraction.h
M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
M Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm
Log Message:
-----------
[iOS] Remove the image analysis timeout gesture
https://bugs.webkit.org/show_bug.cgi?id=264289
Reviewed by Megan Gardner.
Remove the image analysis timeout gesture, along with the `disallowUserAgentShadowContent` position
information request flag (which was only set in this scenario). The timeout gesture currently allows
the user to show an image context menu after selecting Live Text, by continuing to hold down over
the image for 2 seconds after making a selection.
This was originally devised to make it possible to invoke the context menu over an image that is
completely covered by selectable Live Text; however:
1. This scenario is extremely rare, and doesn't come up in practice; screenshots filled with text
generally still contain enough space before or after lines, or in between paragraphs that it's
possible to invoke the image context menu.
2. The very long, 2 second delay made this fallback mechanism very difficult to discover in the
first place.
For consistency with Live Text on the rest of the platform (e.g. Photos), and because it'll soon
become untennable to programmatically present context menus outside of the context of UI controls,
let's experiment with removing this fallback mechanism.
* Source/WebKit/Shared/ios/InteractionInformationRequest.cpp:
(WebKit::InteractionInformationRequest::isValidForRequest const):
* Source/WebKit/Shared/ios/InteractionInformationRequest.h:
(WebKit::InteractionInformationRequest::InteractionInformationRequest):
* Source/WebKit/Shared/ios/InteractionInformationRequest.serialization.in:
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.h:
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setUpInteraction]):
(-[WKContentView cleanUpInteraction]):
(-[WKContentView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
(-[WKContentView gestureRecognizer:shouldRequireFailureOfGestureRecognizer:]):
(-[WKContentView gestureRecognizer:shouldBeRequiredToFailByGestureRecognizer:]):
(-[WKContentView deferringGestureRecognizer:shouldDeferOtherGestureRecognizer:]):
(-[WKContentView _setUpImageAnalysis]):
(-[WKContentView _tearDownImageAnalysis]):
(-[WKContentView _internalContextMenuInteraction:configurationForMenuAtLocation:completion:]):
(-[WKContentView imageAnalysisGestureDidTimeOut:]): Deleted.
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
Drive-by fix: add `InteractionInformationRequest.serialization.in` to the Xcode project.
* Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::positionInformation):
Canonical link: https://commits.webkit.org/270304@main
More information about the webkit-changes
mailing list