| Index: chrome/browser/chromeos/login/user_manager_impl.cc
 | 
| diff --git a/chrome/browser/chromeos/login/user_manager_impl.cc b/chrome/browser/chromeos/login/user_manager_impl.cc
 | 
| index d0ce2ceba88680d52ad23fa4150091b73fac4954..5f258e74271a29d3243de12dd08fbcac092feadd 100644
 | 
| --- a/chrome/browser/chromeos/login/user_manager_impl.cc
 | 
| +++ b/chrome/browser/chromeos/login/user_manager_impl.cc
 | 
| @@ -798,13 +798,21 @@ bool UserManagerImpl::RespectLocalePreference(
 | 
|                         : (std::string("account_locale - unused. ")))
 | 
|                 << " Selected '" << pref_locale << "'";
 | 
|    profile->ChangeAppLocale(pref_locale, Profile::APP_LOCALE_CHANGED_VIA_LOGIN);
 | 
| -  // Here we don't enable keyboard layouts. Input methods are set up when
 | 
| -  // the user first logs in. Then the user may customize the input methods.
 | 
| -  // Hence changing input methods here, just because the user's UI language
 | 
| -  // is different from the login screen UI language, is not desirable. Note
 | 
| -  // that input method preferences are synced, so users can use their
 | 
| -  // farovite input methods as soon as the preferences are synced.
 | 
| -  locale_util::SwitchLanguage(pref_locale, false, callback.Pass());
 | 
| +
 | 
| +  // Here we don't enable keyboard layouts for normal users. Input methods
 | 
| +  // are set up when the user first logs in. Then the user may customize the
 | 
| +  // input methods.  Hence changing input methods here, just because the user's
 | 
| +  // UI language is different from the login screen UI language, is not
 | 
| +  // desirable. Note that input method preferences are synced, so users can use
 | 
| +  // their farovite input methods as soon as the preferences are synced.
 | 
| +  //
 | 
| +  // For Guest mode, user locale preferences will never get initialized.
 | 
| +  // So input methods should be enabled somewhere.
 | 
| +  const bool enable_layouts = UserManager::Get()->IsLoggedInAsGuest();
 | 
| +  locale_util::SwitchLanguage(pref_locale,
 | 
| +                              enable_layouts,
 | 
| +                              false /* login_layouts_only */,
 | 
| +                              callback.Pass());
 | 
|  
 | 
|    return true;
 | 
|  }
 | 
| 
 |