| Index: chrome/browser/chromeos/base/locale_util.cc
|
| diff --git a/chrome/browser/chromeos/base/locale_util.cc b/chrome/browser/chromeos/base/locale_util.cc
|
| index 4a931fe80fb001d39364d293ea9375debfa57290..845cbed6a5aa49e00a8bca7c752fbaf1bd997430 100644
|
| --- a/chrome/browser/chromeos/base/locale_util.cc
|
| +++ b/chrome/browser/chromeos/base/locale_util.cc
|
| @@ -18,16 +18,19 @@ namespace {
|
| struct SwitchLanguageData {
|
| SwitchLanguageData(const std::string& locale,
|
| const bool enableLocaleKeyboardLayouts,
|
| + const bool login_layouts_only,
|
| scoped_ptr<locale_util::SwitchLanguageCallback> callback)
|
| : callback(callback.Pass()),
|
| locale(locale),
|
| enableLocaleKeyboardLayouts(enableLocaleKeyboardLayouts),
|
| + login_layouts_only(login_layouts_only),
|
| success(false) {}
|
|
|
| scoped_ptr<locale_util::SwitchLanguageCallback> callback;
|
|
|
| const std::string locale;
|
| const bool enableLocaleKeyboardLayouts;
|
| + const bool login_layouts_only;
|
| std::string loaded_locale;
|
| bool success;
|
| };
|
| @@ -60,7 +63,8 @@ void FinishSwitchLanguage(scoped_ptr<SwitchLanguageData> data) {
|
| input_method::InputMethodManager::Get();
|
| manager->EnableLayouts(
|
| data->locale,
|
| - manager->GetInputMethodUtil()->GetHardwareInputMethodId());
|
| + manager->GetInputMethodUtil()->GetHardwareLoginInputMethodId(),
|
| + data->login_layouts_only);
|
| }
|
| }
|
| gfx::PlatformFontPango::ReloadDefaultFont();
|
| @@ -73,11 +77,15 @@ void FinishSwitchLanguage(scoped_ptr<SwitchLanguageData> data) {
|
| namespace locale_util {
|
|
|
| void SwitchLanguage(const std::string& locale,
|
| - bool enableLocaleKeyboardLayouts,
|
| + const bool enableLocaleKeyboardLayouts,
|
| + const bool login_layouts_only,
|
| scoped_ptr<SwitchLanguageCallback> callback) {
|
| DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
|
| - scoped_ptr<SwitchLanguageData> data(new SwitchLanguageData(
|
| - locale, enableLocaleKeyboardLayouts, callback.Pass()));
|
| + scoped_ptr<SwitchLanguageData> data(
|
| + new SwitchLanguageData(locale,
|
| + enableLocaleKeyboardLayouts,
|
| + login_layouts_only,
|
| + callback.Pass()));
|
| base::Closure reloader(
|
| base::Bind(&SwitchLanguageDoReloadLocale, base::Unretained(data.get())));
|
| content::BrowserThread::PostBlockingPoolTaskAndReply(
|
|
|