| 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 91f399329a424d4d64291328ea572ee443ee883c..ca247ab3ab1895139df1713a1a6f3418819a4777 100644
|
| --- a/chrome/browser/chromeos/input_method/input_method_manager_impl.cc
|
| +++ b/chrome/browser/chromeos/input_method/input_method_manager_impl.cc
|
| @@ -117,7 +117,20 @@ InputMethodManagerImpl::GetSupportedInputMethods() const {
|
| whitelist_.GetSupportedInputMethods();
|
| if (!extension_ime_util::UseWrappedExtensionKeyboardLayouts())
|
| return whitelist_imes.Pass();
|
| - return scoped_ptr<InputMethodDescriptors>(new InputMethodDescriptors).Pass();
|
| +
|
| + InputMethodDescriptors* input_methods = new InputMethodDescriptors;
|
| + if (!component_extension_ime_manager_->IsInitialized()) {
|
| + for (size_t i = 0; i < whitelist_imes->size(); ++i) {
|
| + const InputMethodDescriptor& ime = (*whitelist_imes.get())[i];
|
| + input_methods->push_back(InputMethodDescriptor(
|
| + extension_ime_util::GetInputMethodIDByKeyboardLayout(
|
| + ime.id()),
|
| + ime.name(), ime.indicator(), ime.keyboard_layouts(),
|
| + ime.language_codes(), ime.is_login_keyboard(),
|
| + ime.options_page_url(), ime.input_view_url()));
|
| + }
|
| + }
|
| + return scoped_ptr<InputMethodDescriptors>(input_methods).Pass();
|
| }
|
|
|
| scoped_ptr<InputMethodDescriptors>
|
| @@ -329,9 +342,7 @@ bool InputMethodManagerImpl::ChangeInputMethodInternal(
|
| }
|
|
|
| if (!component_extension_ime_manager_->IsInitialized() &&
|
| - (!InputMethodUtil::IsKeyboardLayout(input_method_id_to_switch) ||
|
| - extension_ime_util::IsKeyboardLayoutExtension(
|
| - input_method_id_to_switch))) {
|
| + !InputMethodUtil::IsKeyboardLayout(input_method_id_to_switch)) {
|
| // We can't change input method before the initialization of
|
| // component extension ime manager. ChangeInputMethod will be
|
| // called with |pending_input_method_| when the initialization is
|
|
|