Use touch event position for the initial positioning of backing HTML input #2260
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.
By the time
WebTextInputService.startInput
is called, the real/correct position for backing HTML input might be not known yet. Therefore requesting the focus (and thus showing the keyboard) would make the keyboard overlap the TextField.We know the real position later, but
input.focus()
request is ignored unless it's requested in a handler of some user interaction (e.g. touch event). So we check if startInput is within a touch event handler and use its x,y as an initial position for the backing HTML input.Fixes https://youtrack.jetbrains.com/issue/CMP-8611
ios_keyboard_wa.mov
Testing
This should be tested by QA
Release Notes
Fixes - Web