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 a7e6018b2adc80b7127c390e7bdde1d89c0b23c0..d2cc4999fd9a87b65e7151ac6c16dfba271f2596 100644 |
--- a/chrome/browser/chromeos/login/ui/login_display_host_impl.cc |
+++ b/chrome/browser/chromeos/login/ui/login_display_host_impl.cc |
@@ -44,6 +44,7 @@ |
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" |
#include "chrome/browser/chromeos/policy/enrollment_config.h" |
#include "chrome/browser/chromeos/system/input_device_settings.h" |
+#include "chrome/browser/chromeos/system/timezone_util.h" |
#include "chrome/browser/chromeos/ui/focus_ring_controller.h" |
#include "chrome/browser/lifetime/application_lifetime.h" |
#include "chrome/browser/profiles/profile_manager.h" |
@@ -1151,6 +1152,23 @@ void LoginDisplayHostImpl::OnLoginPromptVisible() { |
TryToPlayStartupSound(); |
} |
+void LoginDisplayHostImpl::StartTimeZoneResolve() { |
+ if (!base::CommandLine::ForCurrentProcess()->HasSwitch( |
+ chromeos::switches::kEnableTimeZoneTrackingOption)) { |
+ return; |
+ } |
+ |
+ if (!g_browser_process->local_state()->GetBoolean( |
+ prefs::kResolveDeviceTimezoneByGeolocation)) { |
+ return; |
+ } |
+ |
+ if (system::HasSystemTimezonePolicy()) |
+ return; |
+ |
+ g_browser_process->platform_part()->timezone_resolver()->Start(); |
+} |
+ |
//////////////////////////////////////////////////////////////////////////////// |
// external |
@@ -1192,7 +1210,9 @@ void ShowLoginWizard(const std::string& first_screen_name) { |
? session_manager::SESSION_STATE_LOGIN_PRIMARY |
: session_manager::SESSION_STATE_OOBE); |
- LoginDisplayHost* display_host = new LoginDisplayHostImpl(screen_bounds); |
+ LoginDisplayHostImpl* display_host_impl = |
Dmitry Polukhin
2015/01/20 15:32:28
What happens with lifetime of the object? Even if
Alexander Alekseev
2015/01/22 18:55:22
Done.
|
+ new LoginDisplayHostImpl(screen_bounds); |
+ LoginDisplayHost* display_host = display_host_impl; |
bool show_app_launch_splash_screen = |
(first_screen_name == WizardController::kAppLaunchSplashScreenName); |
@@ -1222,6 +1242,8 @@ void ShowLoginWizard(const std::string& first_screen_name) { |
ServicesCustomizationDocument::GetInstance() |
->EnsureCustomizationAppliedClosure(), |
base::TimeDelta::FromMilliseconds(kDefaultNetworkRetryDelayMS)); |
+ |
+ display_host_impl->StartTimeZoneResolve(); |
} |
bool show_login_screen = |