Index: ui/base/ime/input_method_base.cc |
diff --git a/ui/base/ime/input_method_base.cc b/ui/base/ime/input_method_base.cc |
index d3b561cf78ed80f8bc7e889030a82a73fa187b23..5391f5496e767dc57ce1d39046c82c045e4a3175 100644 |
--- a/ui/base/ime/input_method_base.cc |
+++ b/ui/base/ime/input_method_base.cc |
@@ -10,6 +10,8 @@ |
#include "ui/base/ime/input_method_delegate.h" |
#include "ui/base/ime/input_method_observer.h" |
#include "ui/base/ime/text_input_client.h" |
+#include "ui/base/ime/text_input_focus_manager.h" |
+#include "ui/base/ui_base_switches_util.h" |
#include "ui/events/event.h" |
namespace ui { |
@@ -56,6 +58,9 @@ void InputMethodBase::DetachTextInputClient(TextInputClient* client) { |
} |
TextInputClient* InputMethodBase::GetTextInputClient() const { |
+ if (switches::IsTextInputFocusManagerEnabled()) |
+ return TextInputFocusManager::GetInstance()->GetFocusedTextInputClient(); |
+ |
return system_toplevel_window_focused_ ? text_input_client_ : NULL; |
} |
@@ -123,6 +128,9 @@ void InputMethodBase::NotifyTextInputStateChanged( |
void InputMethodBase::SetFocusedTextInputClientInternal( |
TextInputClient* client) { |
+ if (switches::IsTextInputFocusManagerEnabled()) |
+ return; |
+ |
TextInputClient* old = text_input_client_; |
if (old == client) |
return; |