Index: ui/base/ime/remote_input_method_win.cc |
diff --git a/ui/base/ime/remote_input_method_win.cc b/ui/base/ime/remote_input_method_win.cc |
index 5f8c0e71bc57cd07d07d7043027809dc5775a87f..1a589bb0668f6b235b24f755093c2812abd512fb 100644 |
--- a/ui/base/ime/remote_input_method_win.cc |
+++ b/ui/base/ime/remote_input_method_win.cc |
@@ -179,30 +179,29 @@ class RemoteInputMethodWin : public InputMethod, |
return text_input_client_; |
} |
- bool DispatchKeyEvent(const ui::KeyEvent& event) override { |
- if (event.HasNativeEvent()) { |
- const base::NativeEvent& native_key_event = event.native_event(); |
- if (native_key_event.message != WM_CHAR) |
- return false; |
- if (!text_input_client_) |
- return false; |
- text_input_client_->InsertChar( |
- static_cast<base::char16>(native_key_event.wParam), |
- ui::GetModifiersFromKeyState()); |
- return true; |
+ void DispatchKeyEvent(ui::KeyEvent* event) override { |
+ if (event->HasNativeEvent()) { |
+ const base::NativeEvent& native_key_event = event->native_event(); |
+ if (native_key_event.message == WM_CHAR && text_input_client_) { |
+ text_input_client_->InsertChar( |
+ static_cast<base::char16>(native_key_event.wParam), |
+ ui::GetModifiersFromKeyState()); |
+ event->StopPropagation(); |
+ } |
+ return; |
} |
- if (event.is_char()) { |
+ if (event->is_char()) { |
if (text_input_client_) { |
text_input_client_->InsertChar( |
- event.GetCharacter(), |
+ event->GetCharacter(), |
ui::GetModifiersFromKeyState()); |
} |
- return true; |
+ event->StopPropagation(); |
+ return; |
} |
- if (!delegate_) |
- return false; |
- return delegate_->DispatchKeyEventPostIME(event); |
+ if (delegate_) |
+ ignore_result(delegate_->DispatchKeyEventPostIME(event)); |
} |
void OnTextInputTypeChanged(const TextInputClient* client) override { |