Index: ui/views/widget/native_widget_aura.cc |
diff --git a/ui/views/widget/native_widget_aura.cc b/ui/views/widget/native_widget_aura.cc |
index 4ad58269d2d0747ea1e151d012ee1caf2fb5338d..71032022ce82b253f3db0f668c72ce45f530404b 100644 |
--- a/ui/views/widget/native_widget_aura.cc |
+++ b/ui/views/widget/native_widget_aura.cc |
@@ -32,7 +32,7 @@ |
#endif |
#if defined(HAVE_IBUS) |
-#include "ui/views/ime/input_method_ibus.h" |
+#include "ui/views/ime/input_method_bridge.h" |
#else |
#include "ui/views/ime/mock_input_method.h" |
#endif |
@@ -292,8 +292,10 @@ bool NativeWidgetAura::HasMouseCapture() const { |
InputMethod* NativeWidgetAura::CreateInputMethod() { |
#if defined(HAVE_IBUS) |
- InputMethod* input_method = new InputMethodIBus(this); |
+ ui::InputMethod* host = aura::RootWindow::GetInstance()->GetInputMethod(); |
+ InputMethod* input_method = new InputMethodBridge(this, host); |
#else |
+ // Use the mock IME for unit tests. |
InputMethod* input_method = new MockInputMethod(this); |
#endif |
input_method->Init(GetWidget()); |
@@ -585,15 +587,14 @@ void NativeWidgetAura::OnBlur() { |
} |
bool NativeWidgetAura::OnKeyEvent(aura::KeyEvent* event) { |
- // TODO(beng): Need an InputMethodAura to properly handle character events. |
- // Right now, we just skip these. |
+ // TODO(yusukes): Need an ui::InputMethod to properly handle character events. |
+ // Right now, we just skip these. |
if (event->is_char()) |
return false; |
DCHECK(window_->IsVisible()); |
InputMethod* input_method = GetWidget()->GetInputMethod(); |
DCHECK(input_method); |
- // TODO(oshima): DispatchKeyEvent should return bool? |
KeyEvent views_event(event); |
input_method->DispatchKeyEvent(views_event); |
return true; |