Version: Chrome Canary 56.0.2901.3
OS: Android 6.0.0; Nexus 7
What steps will reproduce the problem?
(1) Go to https://cdn.rawgit.com/w3c/uievents/gh-pages/tools/key-event-viewer.html
(2) Using Google Keyboard English (US), focus input field and press key 'A'
(3) Tap blank area to remove focus
(4) Focus caret to the right side of 'A'
(5) Press key 'b'
What is the expected output?
'A' get underlined, and 'compositionstart' event should be fired on step (4).
What do you see instead?
'A' get underlined, but no 'compositionstart' event was fired on step (4). Instead 'compositionupdate' was fired on step (5) directly.
FireFox fires 'compositionstart' on step (4).
---
I believe the cause is:
1. IME calls |InputMethodController::setCompositionFromExistingText()| on step (4), no events was fired but |m_hasComposition| was set to true.
2. Following calls to |InputMethodController::setComposition()| won't fire 'compositionstart' since |m_hasComposition| is already true.
I can fix this if we can confirm this is indeed a bug.
|
Deleted:
Screenshot_20161027-160202.png
178 KB
|
Comment 1 by aelias@chromium.org
, Oct 27 2016