| 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 f428259e841da0f65f44462004cb82b306ce2bb2..2e564fa5a8adff1bee71a001e83c5405ad073619 100644
|
| --- a/ui/views/widget/native_widget_aura.cc
|
| +++ b/ui/views/widget/native_widget_aura.cc
|
| @@ -17,6 +17,7 @@
|
| #include "ui/aura/window_event_dispatcher.h"
|
| #include "ui/aura/window_observer.h"
|
| #include "ui/base/dragdrop/os_exchange_data.h"
|
| +#include "ui/base/ui_base_switches_util.h"
|
| #include "ui/base/ui_base_types.h"
|
| #include "ui/compositor/layer.h"
|
| #include "ui/events/event.h"
|
| @@ -26,6 +27,7 @@
|
| #include "ui/native_theme/native_theme_aura.h"
|
| #include "ui/views/drag_utils.h"
|
| #include "ui/views/ime/input_method_bridge.h"
|
| +#include "ui/views/ime/null_input_method.h"
|
| #include "ui/views/views_delegate.h"
|
| #include "ui/views/widget/drop_helper.h"
|
| #include "ui/views/widget/native_widget_delegate.h"
|
| @@ -270,6 +272,10 @@ bool NativeWidgetAura::HasCapture() const {
|
| InputMethod* NativeWidgetAura::CreateInputMethod() {
|
| if (!window_)
|
| return NULL;
|
| +
|
| + if (switches::IsTextInputFocusManagerEnabled())
|
| + return new NullInputMethod();
|
| +
|
| aura::Window* root_window = window_->GetRootWindow();
|
| ui::InputMethod* host =
|
| root_window->GetProperty(aura::client::kRootWindowInputMethodKey);
|
| @@ -280,6 +286,11 @@ internal::InputMethodDelegate* NativeWidgetAura::GetInputMethodDelegate() {
|
| return this;
|
| }
|
|
|
| +ui::InputMethod* NativeWidgetAura::GetHostInputMethod() {
|
| + aura::Window* root_window = window_->GetRootWindow();
|
| + return root_window->GetProperty(aura::client::kRootWindowInputMethodKey);
|
| +}
|
| +
|
| void NativeWidgetAura::CenterWindow(const gfx::Size& size) {
|
| if (!window_)
|
| return;
|
| @@ -821,6 +832,12 @@ void NativeWidgetAura::OnKeyEvent(ui::KeyEvent* event) {
|
| if (!window_->IsVisible())
|
| return;
|
| GetWidget()->GetInputMethod()->DispatchKeyEvent(*event);
|
| + if (switches::IsTextInputFocusManagerEnabled()) {
|
| + FocusManager* focus_manager = GetWidget()->GetFocusManager();
|
| + delegate_->OnKeyEvent(event);
|
| + if (!event->handled() && focus_manager)
|
| + focus_manager->OnKeyEvent(*event);
|
| + }
|
| event->SetHandled();
|
| }
|
|
|
|
|