Index: chrome/browser/extensions/api/input_ime/input_ime_api.cc |
diff --git a/chrome/browser/extensions/api/input_ime/input_ime_api.cc b/chrome/browser/extensions/api/input_ime/input_ime_api.cc |
index 1f75f9f3a46c592dd93de3b6cb7c41571dbb7ebe..c45ff8a8a7c6fa2bb2a387b31cbcc84f59bb4134 100644 |
--- a/chrome/browser/extensions/api/input_ime/input_ime_api.cc |
+++ b/chrome/browser/extensions/api/input_ime/input_ime_api.cc |
@@ -309,7 +309,8 @@ class ImeObserver : public InputMethodEngineInterface::Observer { |
// lock screen, login screen, etc.) so that its on-screen keyboard page |
// won't open new windows/pages. See crbug.com/395621. |
std::string GetCurrentScreenType() { |
- switch (chromeos::input_method::InputMethodManager::Get()->GetState()) { |
+ switch (chromeos::input_method::InputMethodManager::Get() |
+ ->GetUISessionState()) { |
case chromeos::input_method::InputMethodManager::STATE_LOGIN_SCREEN: |
return "login"; |
case chromeos::input_method::InputMethodManager::STATE_LOCK_SCREEN: |
@@ -387,7 +388,8 @@ bool InputImeEventRouter::RegisterImeExtension( |
chromeos::InputMethodEngine* engine = new chromeos::InputMethodEngine(); |
engine->Initialize(observer.Pass(), extension_id.c_str()); |
engine_map_[extension_id] = engine; |
- manager->AddInputMethodExtension(extension_id, descriptors, engine); |
+ manager->GetActiveIMEState()->AddInputMethodExtension( |
+ extension_id, descriptors, engine); |
return true; |
} |
@@ -397,6 +399,7 @@ void InputImeEventRouter::UnregisterAllImes(const std::string& extension_id) { |
engine_map_.find(extension_id); |
if (it != engine_map_.end()) { |
chromeos::input_method::InputMethodManager::Get() |
+ ->GetActiveIMEState() |
->RemoveInputMethodExtension(extension_id); |
delete it->second; |
engine_map_.erase(it); |