| Index: chrome/browser/chromeos/preferences.cc
|
| diff --git a/chrome/browser/chromeos/preferences.cc b/chrome/browser/chromeos/preferences.cc
|
| index cb243aa8c3f0dda5b902a69cd8f464f0d8afb340..c2cb52ddb1f9a0d8be14eb026cd778417428b0c6 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"
|
| @@ -640,15 +641,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);
|
| }
|
| }
|
| }
|
|
|