Suspend selection updates in TextBoxTextInputMethodClient until all changes are completed #15659
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What does the pull request do?
Suspend sending selection update events from
TextBoxTextInputMethodClient
until all selection changes in textbox are completed for an action.What is the current behavior?
Currently, we update selection when caret position changes by first setting the start and end in 2 properties, i.e. SelectionStart and SelectionEnd. Those 2 updates are sent to the OS as 2 selection updates. Because of that, keyboards that support advance editing will detect it as a selection in progress, and will enable the selection flag on the keyboard.
20240506-1749-19.8416805.mp4
What is the updated/expected behavior with this PR?
When selection or caret changes occur for actions handled by TextBox, the selection updates aren't sent to the input method until the action is completed and selection is done.
How was the solution implemented (if it's not obvious)?
Checklist
Breaking changes
Obsoletions / Deprecations
Fixed issues