| 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 d21ca4cb7458845c32b69aca5d0b41d08896c5db..e950cead8c82fa834adbc686af461f0aaba7fffd 100644
|
| --- a/chrome/browser/ui/ash/system_tray_delegate_chromeos.cc
|
| +++ b/chrome/browser/ui/ash/system_tray_delegate_chromeos.cc
|
| @@ -19,6 +19,7 @@
|
| #include "ash/shell_window_ids.h"
|
| #include "ash/system/bluetooth/bluetooth_observer.h"
|
| #include "ash/system/chromeos/session/logout_button_observer.h"
|
| +#include "ash/system/chromeos/shutdown_policy_observer.h"
|
| #include "ash/system/date/clock_observer.h"
|
| #include "ash/system/ime/ime_observer.h"
|
| #include "ash/system/tray/system_tray.h"
|
| @@ -232,6 +233,8 @@ SystemTrayDelegateChromeOS::SystemTrayDelegateChromeOS()
|
| base::Unretained(this)));
|
|
|
| user_manager::UserManager::Get()->AddSessionStateObserver(this);
|
| + shutdown_policy_handler_.reset(
|
| + new ShutdownPolicyHandler(CrosSettings::Get(), this));
|
| }
|
|
|
| void SystemTrayDelegateChromeOS::Initialize() {
|
| @@ -837,6 +840,21 @@ void SystemTrayDelegateChromeOS::RemoveCustodianInfoTrayObserver(
|
| custodian_info_changed_observers_.RemoveObserver(observer);
|
| }
|
|
|
| +void SystemTrayDelegateChromeOS::AddShutdownPolicyObserver(
|
| + ash::ShutdownPolicyObserver* observer) {
|
| + shutdown_policy_observers_.AddObserver(observer);
|
| +}
|
| +
|
| +void SystemTrayDelegateChromeOS::RemoveShutdownPolicyObserver(
|
| + ash::ShutdownPolicyObserver* observer) {
|
| + shutdown_policy_observers_.RemoveObserver(observer);
|
| +}
|
| +
|
| +void SystemTrayDelegateChromeOS::ShouldRebootOnShutdown(
|
| + const ash::RebootOnShutdownCallback& callback) {
|
| + shutdown_policy_handler_->CheckIfRebootOnShutdown(callback);
|
| +}
|
| +
|
| void SystemTrayDelegateChromeOS::UserAddedToSession(
|
| const user_manager::User* active_user) {
|
| }
|
| @@ -1322,6 +1340,13 @@ void SystemTrayDelegateChromeOS::OnAccessibilityStatusChanged(
|
| OnAccessibilityModeChanged(details.notify);
|
| }
|
|
|
| +void SystemTrayDelegateChromeOS::OnShutdownPolicyChanged(
|
| + bool reboot_on_shutdown) {
|
| + // Notify all observers.
|
| + FOR_EACH_OBSERVER(ash::ShutdownPolicyObserver, shutdown_policy_observers_,
|
| + OnShutdownPolicyChanged(reboot_on_shutdown));
|
| +}
|
| +
|
| const base::string16
|
| SystemTrayDelegateChromeOS::GetLegacySupervisedUserMessage() const {
|
| std::string user_manager_name = GetSupervisedUserManager();
|
|
|