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

Unified Diff: chrome/browser/chromeos/login/ui/login_display_host_impl.cc

Issue 2849823003: ChromeOS: implement per-user time zone preferences. (Closed)
Patch Set: Fixed tests. Created 3 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/login/ui/login_display_host_impl.cc
diff --git a/chrome/browser/chromeos/login/ui/login_display_host_impl.cc b/chrome/browser/chromeos/login/ui/login_display_host_impl.cc
index 6db2b1af8b0e70bb4d47adbe482ba8dd6dcb53d3..3dfa4aacd5058a12a91ba352cfdd4992acd61802 100644
--- a/chrome/browser/chromeos/login/ui/login_display_host_impl.cc
+++ b/chrome/browser/chromeos/login/ui/login_display_host_impl.cc
@@ -189,21 +189,28 @@ void ShowLoginWizardFinish(
chromeos::LoginDisplayHost* display_host) {
TRACE_EVENT0("chromeos", "ShowLoginWizard::ShowLoginWizardFinish");
+ // Restore system timezone.
+ std::string timezone;
+ if (g_browser_process && g_browser_process->local_state()) {
michaelpg 2017/05/15 23:01:50 this might be a silly question, but when does OOBE
Alexander Alekseev 2017/05/16 01:11:56 In unit_tests, I suppose. We have similar check in
+ timezone = g_browser_process->local_state()->GetString(
+ prefs::kSigninScreenTimezone);
+ }
+
if (ShouldShowSigninScreen(first_screen)) {
display_host->StartSignInScreen(chromeos::LoginScreenContext());
} else {
display_host->StartWizard(first_screen);
-
// Set initial timezone if specified by customization.
- const std::string timezone_name = startup_manifest->initial_timezone();
- VLOG(1) << "Initial time zone: " << timezone_name;
+ const std::string customization_timezone =
+ startup_manifest->initial_timezone();
// Apply locale customizations only once to preserve whatever locale
// user has changed to during OOBE.
- if (!timezone_name.empty()) {
- chromeos::system::TimezoneSettings::GetInstance()->SetTimezoneFromID(
- base::UTF8ToUTF16(timezone_name));
- }
+ if (!customization_timezone.empty())
+ timezone = customization_timezone;
}
+ g_browser_process->local_state()->SetString(prefs::kSigninScreenTimezone,
+ timezone);
stevenjb 2017/05/15 17:08:02 This should only be necessary inside the else, and
michaelpg 2017/05/15 23:01:50 Seems that way, and then we wouldn't need to read
Alexander Alekseev 2017/05/16 01:11:56 Done.
Alexander Alekseev 2017/05/16 01:11:56 We still need to set system timezone value here.
+ chromeos::CrosSettings::Get()->SetString(chromeos::kSystemTimezone, timezone);
stevenjb 2017/05/15 17:08:02 What if timezone is empty, should we still be sett
Alexander Alekseev 2017/05/16 01:11:56 You are right, we should probably use system::Time
}
struct ShowLoginWizardSwitchLanguageCallbackData {

Powered by Google App Engine
This is Rietveld 408576698