| Index: ui/base/ime/fake_input_method.cc
|
| diff --git a/ui/base/ime/fake_input_method.cc b/ui/base/ime/fake_input_method.cc
|
| index 322130fe4d68dd1a0bb0e94d2d66dc10c6e39518..dd2d9aea67d04e96d37697050e30c7e73e1ace7c 100644
|
| --- a/ui/base/ime/fake_input_method.cc
|
| +++ b/ui/base/ime/fake_input_method.cc
|
| @@ -67,7 +67,11 @@ TextInputClient* FakeInputMethod::GetTextInputClient() const {
|
| return text_input_client_;
|
| }
|
|
|
| -bool FakeInputMethod::DispatchKeyEvent(const base::NativeEvent& native_event) {
|
| +bool FakeInputMethod::DispatchKeyEvent(const ui::KeyEvent& event) {
|
| + if (!event.HasNativeEvent())
|
| + return DispatchFabricatedKeyEvent(event);
|
| +
|
| + const base::NativeEvent& native_event = event.native_event();
|
| bool handled = false;
|
| #if defined(OS_WIN)
|
| if (native_event.message == WM_CHAR) {
|
| @@ -83,11 +87,11 @@ bool FakeInputMethod::DispatchKeyEvent(const base::NativeEvent& native_event) {
|
| DCHECK(native_event);
|
| if (native_event->type == KeyRelease) {
|
| // On key release, just dispatch it.
|
| - handled = delegate_->DispatchKeyEventPostIME(native_event);
|
| + handled = delegate_->DispatchKeyEventPostIME(event);
|
| } else {
|
| const uint32 state = EventFlagsFromXFlags(native_event->xkey.state);
|
| // Send a RawKeyDown event first,
|
| - handled = delegate_->DispatchKeyEventPostIME(native_event);
|
| + handled = delegate_->DispatchKeyEventPostIME(event);
|
| if (text_input_client_) {
|
| // then send a Char event via ui::TextInputClient.
|
| const KeyboardCode key_code = ui::KeyboardCodeFromNative(native_event);
|
|
|