Chromium Code Reviews| Index: ui/base/ime/input_method_auralinux.cc |
| diff --git a/ui/base/ime/input_method_auralinux.cc b/ui/base/ime/input_method_auralinux.cc |
| index 08ec50bdc22f902b1eefda6d94da01f84343ec82..b67cd78b9898304f4eb92b35e82caa8e284f2b34 100644 |
| --- a/ui/base/ime/input_method_auralinux.cc |
| +++ b/ui/base/ime/input_method_auralinux.cc |
| @@ -104,16 +104,29 @@ void InputMethodAuraLinux::DispatchKeyEvent(ui::KeyEvent* event) { |
| if (text_input_type_ != TEXT_INPUT_TYPE_PASSWORD && |
| GetEngine() && GetEngine()->IsInterestedInKeyEvent() && |
| (!filtered || NeedInsertChar())) { |
| - ui::IMEEngineHandlerInterface::KeyEventDoneCallback callback = |
| - base::Bind(&InputMethodAuraLinux::ProcessKeyEventDone, |
| - weak_ptr_factory_.GetWeakPtr(), |
| - base::Owned(new ui::KeyEvent(*event)), filtered); |
| + ui::IMEEngineHandlerInterface::KeyEventDoneCallback callback = base::Bind( |
| + &InputMethodAuraLinux::ProcessKeyEventByEngineDone, |
| + weak_ptr_factory_.GetWeakPtr(), base::Owned(new ui::KeyEvent(*event)), |
| + filtered, composition_changed_, composition_, result_text_); |
|
Shu Chen
2016/03/17 06:37:08
I think this is wrong.
Please consider why the Key
Azure Wei
2016/03/17 07:02:37
Done.
|
| GetEngine()->ProcessKeyEvent(*event, callback); |
| } else { |
| ProcessKeyEventDone(event, filtered, false); |
| } |
| } |
| +void InputMethodAuraLinux::ProcessKeyEventByEngineDone( |
| + ui::KeyEvent* event, |
| + bool filtered, |
| + bool composition_changed, |
| + const ui::CompositionText& composition, |
| + const base::string16& result_text, |
| + bool is_handled) { |
| + composition_changed_ = composition_changed; |
| + composition_.CopyFrom(composition); |
| + result_text_ = result_text; |
| + ProcessKeyEventDone(event, filtered, is_handled); |
| +} |
| + |
| void InputMethodAuraLinux::ProcessKeyEventDone(ui::KeyEvent* event, |
| bool filtered, |
| bool is_handled) { |