Index: chrome/browser/ui/ash/system_tray_delegate_chromeos.cc |
diff --git a/chrome/browser/ui/ash/system_tray_delegate_chromeos.cc b/chrome/browser/ui/ash/system_tray_delegate_chromeos.cc |
index 01e8e3784fd0ea90c963719bbd22c737f6b289d6..0cb0b4c624890710c148418692a8bbc951a1ba68 100644 |
--- a/chrome/browser/ui/ash/system_tray_delegate_chromeos.cc |
+++ b/chrome/browser/ui/ash/system_tray_delegate_chromeos.cc |
@@ -67,6 +67,7 @@ |
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" |
#include "chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h" |
#include "chrome/browser/chromeos/profiles/multiprofiles_intro_dialog.h" |
+#include "chrome/browser/chromeos/set_time_dialog.h" |
#include "chrome/browser/chromeos/settings/cros_settings.h" |
#include "chrome/browser/chromeos/sim_dialog_delegate.h" |
#include "chrome/browser/chromeos/ui/choose_mobile_network_dialog.h" |
@@ -474,10 +475,18 @@ bool SystemTrayDelegateChromeOS::ShouldShowSettings() { |
void SystemTrayDelegateChromeOS::ShowDateSettings() { |
content::RecordAction(base::UserMetricsAction("ShowDateOptions")); |
+ |
+ // Everybody can change the time zone (even though it is a device setting). |
+ ash::user::LoginStatus login_status = GetUserLoginStatus(); |
+ if (login_status == ash::user::LOGGED_IN_LOCKED || |
+ login_status == ash::user::LOGGED_IN_NONE) { |
+ SetTimeDialog::ShowDialog(GetNativeWindow()); |
+ return; |
+ } |
+ |
std::string sub_page = |
std::string(chrome::kSearchSubPage) + "#" + |
l10n_util::GetStringUTF8(IDS_OPTIONS_SETTINGS_SECTION_TITLE_DATETIME); |
- // Everybody can change the time zone (even though it is a device setting). |
ShowSettingsSubPageForActiveUser(sub_page); |
} |