| 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 13d39be633900fde08b0f38e125322f0896c9db7..2f081768874254b9c9471037ae541c14bfbe1676 100644
|
| --- a/chrome/browser/chromeos/input_method/input_method_manager_impl.cc
|
| +++ b/chrome/browser/chromeos/input_method/input_method_manager_impl.cc
|
| @@ -215,15 +215,17 @@ void InputMethodManagerImpl::ReconfigureIMFramework() {
|
| if (component_extension_ime_manager_->IsInitialized())
|
| LoadNecessaryComponentExtensions();
|
|
|
| - if (ContainsOnlyKeyboardLayout(active_input_method_ids_)) {
|
| - // Do NOT call ibus_controller_->Stop(); here to work around a crash issue
|
| - // at crbug.com/27051.
|
| - // TODO(yusukes): We can safely call Stop(); here once crbug.com/26443
|
| - // is implemented.
|
| - } else {
|
| + const bool need_engine =
|
| + !ContainsOnlyKeyboardLayout(active_input_method_ids_);
|
| +
|
| + // Initialize candidate window controller and widgets such as
|
| + // candidate window, infolist and mode indicator. Note, mode
|
| + // indicator is used by only keyboard layout input methods.
|
| + if (need_engine || active_input_method_ids_.size() > 1)
|
| MaybeInitializeCandidateWindowController();
|
| +
|
| + if (need_engine)
|
| IBusDaemonController::GetInstance()->Start();
|
| - }
|
| }
|
|
|
| bool InputMethodManagerImpl::EnableInputMethod(
|
|
|