| Index: chrome/browser/chromeos/preferences.cc
|
| diff --git a/chrome/browser/chromeos/preferences.cc b/chrome/browser/chromeos/preferences.cc
|
| index c2cb52ddb1f9a0d8be14eb026cd778417428b0c6..4e91620aab898f05c39252acf391d0121d576a86 100644
|
| --- a/chrome/browser/chromeos/preferences.cc
|
| +++ b/chrome/browser/chromeos/preferences.cc
|
| @@ -23,6 +23,7 @@
|
| #include "chrome/browser/chromeos/input_method/input_method_syncer.h"
|
| #include "chrome/browser/chromeos/login/session/user_session_manager.h"
|
| #include "chrome/browser/chromeos/net/wake_on_wifi_manager.h"
|
| +#include "chrome/browser/chromeos/policy/proto/chrome_device_policy.pb.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"
|
| @@ -96,6 +97,9 @@ void Preferences::RegisterPrefs(PrefRegistrySimple* registry) {
|
| registry->RegisterStringPref(prefs::kLogoutStartedLast, std::string());
|
| registry->RegisterBooleanPref(prefs::kResolveDeviceTimezoneByGeolocation,
|
| true);
|
| + registry->RegisterIntegerPref(
|
| + prefs::kSystemTimezoneAutomaticDetectionPolicy,
|
| + enterprise_management::SystemTimezoneProto::USERS_DECIDE);
|
| }
|
|
|
| // static
|
| @@ -374,6 +378,12 @@ void Preferences::Init(Profile* profile, const user_manager::User* user) {
|
| DCHECK(session_manager);
|
| ime_state_ = session_manager->GetDefaultIMEState(profile);
|
|
|
| + if (user_is_primary_) {
|
| + g_browser_process->platform_part()
|
| + ->GetTimezoneResolverManager()
|
| + ->SetPrimaryUserPrefs(prefs_);
|
| + }
|
| +
|
| // Initialize preferences to currently saved state.
|
| ApplyPreferences(REASON_INITIALIZATION, "");
|
|
|
| @@ -641,10 +651,9 @@ void Preferences::ApplyPreferences(ApplyReason reason,
|
| prefs::kResolveDeviceTimezoneByGeolocation, value);
|
| }
|
| if (user_is_primary_) {
|
| - system::TimeZoneResolverManager* manager =
|
| - g_browser_process->platform_part()->GetTimezoneResolverManager();
|
| - manager->SetPrimaryUserPrefs(prefs_);
|
| - manager->UpdateTimezoneResolver();
|
| + g_browser_process->platform_part()
|
| + ->GetTimezoneResolverManager()
|
| + ->UpdateTimezoneResolver();
|
| if (!value && reason == REASON_PREF_CHANGED) {
|
| // Allow immediate timezone update on Stop + Start.
|
| g_browser_process->local_state()->ClearPref(
|
|
|