Index: chrome/browser/chromeos/input_method/input_method_manager_impl.cc |
diff --git a/chrome/browser/chromeos/input_method/input_method_manager_impl.cc b/chrome/browser/chromeos/input_method/input_method_manager_impl.cc |
index 0aab684ef53c7f1d90e98c8f8b29ab7a740011fc..e402d12d652ab21d38601ffd6b66e7904f5a5326 100644 |
--- a/chrome/browser/chromeos/input_method/input_method_manager_impl.cc |
+++ b/chrome/browser/chromeos/input_method/input_method_manager_impl.cc |
@@ -348,11 +348,22 @@ void InputMethodManagerImpl::OnComponentExtensionInitialized( |
void InputMethodManagerImpl::LoadNecessaryComponentExtensions() { |
if (!component_extension_ime_manager_->IsInitialized()) |
return; |
- for (size_t i = 0; i < active_input_method_ids_.size(); ++i) { |
- if (component_extension_ime_manager_->IsWhitelisted( |
- active_input_method_ids_[i])) { |
+ // We have to do sanity check here, because some component extension IMEs may |
satorux1
2013/04/15 08:31:32
sanity check may be unclear. What about:
Load com
Seigo Nonaka
2013/04/16 07:17:03
Sure thanks! Done.
|
+ // be removed. So if specified component extension IME is no longer existing, |
satorux1
2013/04/15 08:31:32
may be removed -> might have been removed from the
Seigo Nonaka
2013/04/16 07:17:03
Done.
|
+ // falling back to existing IME. |
satorux1
2013/04/15 08:31:32
fall back to an existing IME.
Seigo Nonaka
2013/04/16 07:17:03
Done.
|
+ std::vector<std::string> unfiltered_input_method_ids = |
+ active_input_method_ids_; |
+ active_input_method_ids_.clear(); |
+ for (size_t i = 0; i < unfiltered_input_method_ids.size(); ++i) { |
+ if (!component_extension_ime_manager_->IsComponentExtensionIMEId( |
+ unfiltered_input_method_ids[i])) { |
+ // Legacy IMEs or xkb layouts are active alwayes. |
satorux1
2013/04/15 08:31:32
always active
Seigo Nonaka
2013/04/16 07:17:03
Done.
|
+ active_input_method_ids_.push_back(unfiltered_input_method_ids[i]); |
+ } else if (component_extension_ime_manager_->IsWhitelisted( |
+ unfiltered_input_method_ids[i])) { |
component_extension_ime_manager_->LoadComponentExtensionIME( |
- active_input_method_ids_[i]); |
+ unfiltered_input_method_ids[i]); |
+ active_input_method_ids_.push_back(unfiltered_input_method_ids[i]); |
} |
} |
} |