-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Async text interaction] Enable selection autoscrolling, and reveal the edit menu after scrolling #20104
Conversation
EWS run on previous version of this PR (hash 1ffb9ee) |
EWS run on previous version of this PR (hash 23fdf01) |
ios-wk2 failures are legit β need to move the |
EWS run on current version of this PR (hash 1e1e9f3) |
β¦he edit menu after scrolling https://bugs.webkit.org/show_bug.cgi?id=264337 Reviewed by Megan Gardner. This patch works towards additional support for async text interaction (and input client), by adding plumbing for the following: 1. Plumbing to autoscroll to a given `point` in content view coordinates. 2. Logic to reveal the edit menu after scrolling or zooming, only if the edit menu was previously presented. To know this, we add a new flag on the content view to keep track of whether the edit menu has been fully presented. * Source/WebKit/Platform/spi/ios/UIKitSPI.h: Add an SPI method declaration here, only so that we can call super in our existing implementation of `-interactionAssistant`. * Source/WebKit/UIProcess/ios/WKContentViewInteraction.h: * Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView interactionAssistant]): (-[WKContentView willPresentEditMenuWithAnimator:]): (-[WKContentView willDismissEditMenuWithAnimator:]): Keep track of `_isPresentingEditMenu`, so that we can consult it in the `WKTextInteractionWrapper` below to conditionally restore edit menu visibility. (-[WKContentView isPresentingEditMenu]): (-[WKContentView autoscrollToPoint:]): (-[WKContentView cancelAutoscroll]): Implement a new method to hook into platform selection autoscrolling support using `UIAsyncTextInputClient`. * Source/WebKit/UIProcess/ios/WKTextInteractionWrapper.mm: (SOFT_LINK_CLASS_OPTIONAL): (-[WKTextInteractionWrapper initWithView:]): (-[WKTextInteractionWrapper willStartScrollingOverflow]): (-[WKTextInteractionWrapper didEndScrollingOverflow]): (-[WKTextInteractionWrapper willStartScrollingOrZooming]): (-[WKTextInteractionWrapper didEndScrollingOrZooming]): Canonical link: https://commits.webkit.org/270343@main
1e1e9f3
to
92399f9
Compare
Committed 270343@main (92399f9): https://commits.webkit.org/270343@main Reviewed commits have been landed. Closing PR #20104 and removing active labels. |
92399f9
1e1e9f3
π§ͺ wpe-wk2π§ͺ gtk-wk2