Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(58)

Side by Side Diff: chrome/browser/chromeos/login/login_display_host_impl.cc

Issue 133273032: Guest Mode: input method should default to the underlying latin keyboard layout. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Use EnableInputMethod instead of EnableInputMethods. Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/login/login_display_host_impl.h" 5 #include "chrome/browser/chromeos/login/login_display_host_impl.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "ash/audio/sounds.h" 9 #include "ash/audio/sounds.h"
10 #include "ash/desktop_background/desktop_background_controller.h" 10 #include "ash/desktop_background/desktop_background_controller.h"
(...skipping 1122 matching lines...) Expand 10 before | Expand all | Expand 10 after
1133 1133
1134 if (show_login_screen) { 1134 if (show_login_screen) {
1135 // R11 > R12 migration fix. See http://crosbug.com/p/4898. 1135 // R11 > R12 migration fix. See http://crosbug.com/p/4898.
1136 // If user has manually changed locale during R11 OOBE, locale will be set. 1136 // If user has manually changed locale during R11 OOBE, locale will be set.
1137 // On R12 > R12|R13 etc. this fix won't get activated since 1137 // On R12 > R12|R13 etc. this fix won't get activated since
1138 // OOBE process has set kApplicationLocale to non-default value. 1138 // OOBE process has set kApplicationLocale to non-default value.
1139 PrefService* prefs = g_browser_process->local_state(); 1139 PrefService* prefs = g_browser_process->local_state();
1140 if (!prefs->HasPrefPath(prefs::kApplicationLocale)) { 1140 if (!prefs->HasPrefPath(prefs::kApplicationLocale)) {
1141 std::string locale = chromeos::StartupUtils::GetInitialLocale(); 1141 std::string locale = chromeos::StartupUtils::GetInitialLocale();
1142 prefs->SetString(prefs::kApplicationLocale, locale); 1142 prefs->SetString(prefs::kApplicationLocale, locale);
1143 manager->EnableLayouts( 1143 manager->EnableLoginLayouts(
1144 locale, 1144 locale, manager->GetInputMethodUtil()->GetHardwareInputMethodId());
1145 manager->GetInputMethodUtil()->GetHardwareInputMethodId());
1146 base::ThreadRestrictions::ScopedAllowIO allow_io; 1145 base::ThreadRestrictions::ScopedAllowIO allow_io;
1147 const std::string loaded_locale = 1146 const std::string loaded_locale =
1148 ResourceBundle::GetSharedInstance().ReloadLocaleResources(locale); 1147 ResourceBundle::GetSharedInstance().ReloadLocaleResources(locale);
1149 g_browser_process->SetApplicationLocale(loaded_locale); 1148 g_browser_process->SetApplicationLocale(loaded_locale);
1150 } 1149 }
1151 display_host->StartSignInScreen(LoginScreenContext()); 1150 display_host->StartSignInScreen(LoginScreenContext());
1152 return; 1151 return;
1153 } 1152 }
1154 1153
1155 // Load startup manifest. 1154 // Load startup manifest.
(...skipping 22 matching lines...) Expand all
1178 // Chrome locale. Otherwise it will be lost if Chrome restarts. 1177 // Chrome locale. Otherwise it will be lost if Chrome restarts.
1179 // Don't need to schedule pref save because setting initial local 1178 // Don't need to schedule pref save because setting initial local
1180 // will enforce preference saving. 1179 // will enforce preference saving.
1181 prefs->SetString(prefs::kApplicationLocale, locale); 1180 prefs->SetString(prefs::kApplicationLocale, locale);
1182 chromeos::StartupUtils::SetInitialLocale(locale); 1181 chromeos::StartupUtils::SetInitialLocale(locale);
1183 1182
1184 // Determine keyboard layout from OEM customization (if provided) or 1183 // Determine keyboard layout from OEM customization (if provided) or
1185 // initial locale and save it in preferences. 1184 // initial locale and save it in preferences.
1186 DetermineAndSaveHardwareKeyboard(locale, layout); 1185 DetermineAndSaveHardwareKeyboard(locale, layout);
1187 1186
1188 // Then, enable the hardware keyboard.
1189 manager->EnableLayouts(
1190 locale, manager->GetInputMethodUtil()->GetHardwareInputMethodId());
1191
1192 scoped_ptr<ShowLoginWizardSwitchLanguageCallbackData> data( 1187 scoped_ptr<ShowLoginWizardSwitchLanguageCallbackData> data(
1193 new ShowLoginWizardSwitchLanguageCallbackData( 1188 new ShowLoginWizardSwitchLanguageCallbackData(
1194 first_screen_name, startup_manifest, display_host)); 1189 first_screen_name, startup_manifest, display_host));
1195 1190
1196 scoped_ptr<locale_util::SwitchLanguageCallback> callback( 1191 scoped_ptr<locale_util::SwitchLanguageCallback> callback(
1197 new locale_util::SwitchLanguageCallback( 1192 new locale_util::SwitchLanguageCallback(
1198 base::Bind(&OnLanguageSwitchedCallback, base::Passed(data.Pass())))); 1193 base::Bind(&OnLanguageSwitchedCallback, base::Passed(data.Pass()))));
1199 1194
1200 // Do not load locale keyboards here. 1195 // Load locale keyboards here. Hardware layout would be automatically enabled.
1201 locale_util::SwitchLanguage(locale, false, callback.Pass()); 1196 locale_util::SwitchLanguage(
1197 locale, true, true /* login_layouts_only */, callback.Pass());
1202 } 1198 }
1203 1199
1204 } // namespace chromeos 1200 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/input_method/mode_indicator_browsertest.cc ('k') | chrome/browser/chromeos/login/user_manager_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698