DescriptionWhen there is an IME extension listening on input.ime.onKeyEvent, the key event will be passed to the extension before the OS handling it, and ProcessKeyEventDone() will be called after the extension calls input.ime.keyEventHandled.
When users texting fast, the callback method of ProcessKeyEventDone() may be excused in different orders. The current implementation has bugs as the variables in system such as |composition_changed_| and |result_text_| will be changed when input.ime.keyEventHandled trys to run the callback.
This bug only occurs on Linux as there are two keydown/keyup events generated when pressing/releasing the key and only one event is passed to the extension.
This CL fixes this bug by adding helper function ProcessKeyEventByEngineDone() in InputMethodAuraLinux to recover the passed environment.
BUG=517773
TEST=None
Committed: https://crrev.com/be0623024074fe925eb82e7956e75f897f3fa204
Cr-Commit-Position: refs/heads/master@{#381671}
Patch Set 1 #
Total comments: 4
Patch Set 2 : #Patch Set 3 : #Patch Set 4 : #Patch Set 5 : Update comments. #Messages
Total messages: 13 (6 generated)
|