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

Unified Diff: chrome/browser/chromeos/preferences.cc

Issue 1836433003: ChromeOS: Add SystemTimezoneAutomaticDetection policy. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased. Created 4 years, 9 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
« no previous file with comments | « chrome/browser/chromeos/preferences.h ('k') | chrome/browser/chromeos/system/timezone_resolver_manager.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/chromeos/preferences.cc
diff --git a/chrome/browser/chromeos/preferences.cc b/chrome/browser/chromeos/preferences.cc
index cb243aa8c3f0dda5b902a69cd8f464f0d8afb340..2d10159554235c3cd54dfe5e0cb81080241c3721 100644
--- a/chrome/browser/chromeos/preferences.cc
+++ b/chrome/browser/chromeos/preferences.cc
@@ -24,6 +24,7 @@
#include "chrome/browser/chromeos/login/session/user_session_manager.h"
#include "chrome/browser/chromeos/net/wake_on_wifi_manager.h"
#include "chrome/browser/chromeos/system/input_device_settings.h"
+#include "chrome/browser/chromeos/system/timezone_resolver_manager.h"
#include "chrome/browser/download/download_prefs.h"
#include "chrome/browser/prefs/pref_service_syncable_util.h"
#include "chrome/common/chrome_features.h"
@@ -95,6 +96,9 @@ void Preferences::RegisterPrefs(PrefRegistrySimple* registry) {
registry->RegisterStringPref(prefs::kLogoutStartedLast, std::string());
registry->RegisterBooleanPref(prefs::kResolveDeviceTimezoneByGeolocation,
true);
+ registry->RegisterIntegerPref(
+ prefs::kSystemTimezoneAutomaticDetectionPolicy,
+ ResolveDeviceTimezoneByGeolocationPolicyValues::USERS_DECIDE);
}
// static
@@ -640,15 +644,14 @@ void Preferences::ApplyPreferences(ApplyReason reason,
prefs::kResolveDeviceTimezoneByGeolocation, value);
}
if (user_is_primary_) {
- if (value) {
- g_browser_process->platform_part()->GetTimezoneResolver()->Start();
- } else {
- g_browser_process->platform_part()->GetTimezoneResolver()->Stop();
- if (reason == REASON_PREF_CHANGED) {
- // Allow immediate timezone update on Stop + Start.
- g_browser_process->local_state()->ClearPref(
- TimeZoneResolver::kLastTimeZoneRefreshTime);
- }
+ system::TimeZoneResolverManager* manager =
+ g_browser_process->platform_part()->GetTimezoneResolverManager();
+ manager->SetPrimaryUserPrefs(prefs_);
+ manager->UpdateTimezoneResolver();
+ if (!value && reason == REASON_PREF_CHANGED) {
+ // Allow immediate timezone update on Stop + Start.
+ g_browser_process->local_state()->ClearPref(
+ TimeZoneResolver::kLastTimeZoneRefreshTime);
}
}
}
« no previous file with comments | « chrome/browser/chromeos/preferences.h ('k') | chrome/browser/chromeos/system/timezone_resolver_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698