Index: chrome/browser/chromeos/input_method/input_method_manager.cc |
diff --git a/chrome/browser/chromeos/input_method/input_method_manager.cc b/chrome/browser/chromeos/input_method/input_method_manager.cc |
index 031b9711824dd4cc756cd76d07d1c3a63b543f70..77ade8700138cfc4e765656bf3ec83905048f0a5 100644 |
--- a/chrome/browser/chromeos/input_method/input_method_manager.cc |
+++ b/chrome/browser/chromeos/input_method/input_method_manager.cc |
@@ -79,6 +79,7 @@ class InputMethodManagerImpl : public InputMethodManager, |
should_launch_ime_(false), |
ime_connected_(false), |
enable_auto_ime_shutdown_(false), // workaround for crosbug.com/27051. |
+ enable_extension_imes_(true), |
shutting_down_(false), |
ibus_daemon_process_handle_(base::kNullProcessHandle), |
util_(whitelist_.GetSupportedInputMethods()), |
@@ -306,10 +307,12 @@ class InputMethodManagerImpl : public InputMethodManager, |
value.type == InputMethodConfigValue::kValueTypeStringList) { |
active_input_method_ids_ = value.string_list_value; |
- std::map<std::string, InputMethodDescriptor>::const_iterator ix; |
- for (ix = extra_input_method_ids_.begin(); |
- ix != extra_input_method_ids_.end(); ++ix) { |
- active_input_method_ids_.push_back(ix->first); |
+ if (enable_extension_imes_) { |
+ std::map<std::string, InputMethodDescriptor>::const_iterator ix; |
+ for (ix = extra_input_method_ids_.begin(); |
+ ix != extra_input_method_ids_.end(); ++ix) { |
+ active_input_method_ids_.push_back(ix->first); |
+ } |
} |
} |
@@ -1190,6 +1193,10 @@ class InputMethodManagerImpl : public InputMethodManager, |
// enable_auto_ime_shutdown_ = enable; |
} |
+ void SetEnableExtensionIMEs(bool enable) { |
+ enable_extension_imes_ = enable; |
+ } |
+ |
// content::NotificationObserver implementation: |
void Observe(int type, |
const content::NotificationSource& source, |
@@ -1250,6 +1257,8 @@ class InputMethodManagerImpl : public InputMethodManager, |
// True if we should stop input method daemon when there are no input |
// methods other than one for the hardware keyboard. |
bool enable_auto_ime_shutdown_; |
+ // True if extension IMEs can be enabled. |
+ bool enable_extension_imes_; |
// The ID of the tentative current input method (ex. "mozc"). This value |
// can be different from the actual current input method, if |
// ChangeInputMethod() fails. |