| Index: ui/keyboard/keyboard_util.cc
|
| diff --git a/ui/keyboard/keyboard_util.cc b/ui/keyboard/keyboard_util.cc
|
| index e49e1be9ecac483a8623418b6ce8c9e5a3630bab..4348dfb0ec06c186195812d9f3cb62d8a905e2f1 100644
|
| --- a/ui/keyboard/keyboard_util.cc
|
| +++ b/ui/keyboard/keyboard_util.cc
|
| @@ -14,7 +14,6 @@
|
| #include "base/strings/string16.h"
|
| #include "grit/keyboard_resources.h"
|
| #include "grit/keyboard_resources_map.h"
|
| -#include "ui/aura/client/aura_constants.h"
|
| #include "ui/aura/window_tree_host.h"
|
| #include "ui/base/ime/input_method.h"
|
| #include "ui/base/ime/text_input_client.h"
|
| @@ -38,7 +37,6 @@ void SendProcessKeyEvent(ui::EventType type,
|
| aura::WindowTreeHost* host) {
|
| ui::KeyEvent event(type, ui::VKEY_PROCESSKEY, ui::DomCode::NONE, ui::EF_NONE,
|
| ui::DomKey::PROCESS, 0, ui::EventTimeForNow());
|
| - event.SetTranslated(true);
|
| ui::EventDispatchDetails details =
|
| host->event_processor()->OnEventFromSource(&event);
|
| CHECK(!details.dispatcher_destroyed);
|
| @@ -291,12 +289,11 @@ bool SendKeyEvent(const std::string type,
|
|
|
| ui::KeyboardCode code = static_cast<ui::KeyboardCode>(key_code);
|
|
|
| + ui::InputMethod* input_method = host->GetInputMethod();
|
| if (code == ui::VKEY_UNKNOWN) {
|
| // Handling of special printable characters (e.g. accented characters) for
|
| // which there is no key code.
|
| if (event_type == ui::ET_KEY_RELEASED) {
|
| - ui::InputMethod* input_method = host->window()->GetProperty(
|
| - aura::client::kRootWindowInputMethodKey);
|
| if (!input_method)
|
| return false;
|
|
|
| @@ -333,9 +330,13 @@ bool SendKeyEvent(const std::string type,
|
| code,
|
| dom_code,
|
| modifiers);
|
| - ui::EventDispatchDetails details =
|
| - host->event_processor()->OnEventFromSource(&event);
|
| - CHECK(!details.dispatcher_destroyed);
|
| + if (input_method) {
|
| + input_method->DispatchKeyEvent(event);
|
| + } else {
|
| + ui::EventDispatchDetails details =
|
| + host->event_processor()->OnEventFromSource(&event);
|
| + CHECK(!details.dispatcher_destroyed);
|
| + }
|
| }
|
| return true;
|
| }
|
|
|