Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / ui / base / ime / input_method_base.cc
index d3b561c..5391f54 100644 (file)
@@ -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;