Index: chrome/browser/ui/ash/system_tray_delegate_chromeos.h |
diff --git a/chrome/browser/ui/ash/system_tray_delegate_chromeos.h b/chrome/browser/ui/ash/system_tray_delegate_chromeos.h |
index a5aeaa14c97335a5706c406d4223b6e8e897b20f..97088da85e9f4e797858ac60525a320672f51ef0 100644 |
--- a/chrome/browser/ui/ash/system_tray_delegate_chromeos.h |
+++ b/chrome/browser/ui/ash/system_tray_delegate_chromeos.h |
@@ -24,6 +24,7 @@ |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/supervised_user/supervised_user_service_observer.h" |
#include "chrome/browser/ui/browser_list_observer.h" |
+#include "chrome/browser/ui/webui/chromeos/login/shutdown_policy_observer.h" |
Daniel Erat
2014/12/17 16:21:04
it seems strange to me for this file to depend on
stevenjb
2014/12/17 19:09:03
+1. shutdown_policy_observer.h should probably be
cschuet (SLOW)
2015/01/07 14:37:07
Done.
cschuet (SLOW)
2015/01/07 14:37:07
Done.
|
#include "chromeos/audio/cras_audio_handler.h" |
#include "chromeos/dbus/session_manager_client.h" |
#include "chromeos/login/login_state.h" |
@@ -42,7 +43,6 @@ class User; |
} |
namespace chromeos { |
- |
class SystemTrayDelegateChromeOS |
: public ui::ime::InputMethodMenuManager::Observer, |
public ash::SystemTrayDelegate, |
@@ -57,7 +57,8 @@ class SystemTrayDelegateChromeOS |
public chrome::BrowserListObserver, |
public extensions::AppWindowRegistry::Observer, |
public user_manager::UserManager::UserSessionStateObserver, |
- public SupervisedUserServiceObserver { |
+ public SupervisedUserServiceObserver, |
+ public ShutdownPolicyObserver::Delegate { |
public: |
SystemTrayDelegateChromeOS(); |
@@ -97,6 +98,7 @@ class SystemTrayDelegateChromeOS |
void ShowSupervisedUserInfo() override; |
void ShowEnterpriseInfo() override; |
void ShowUserLogin() override; |
+ void Restart() override; |
void ShutDown() override; |
void SignOut() override; |
void RequestLockScreen() override; |
@@ -132,6 +134,12 @@ class SystemTrayDelegateChromeOS |
ash::CustodianInfoTrayObserver* observer) override; |
void RemoveCustodianInfoTrayObserver( |
ash::CustodianInfoTrayObserver* observer) override; |
+ void AddShutdownPolicyObserver( |
+ ash::ShutdownPolicyObserver* observer) override; |
+ void ShouldRebootOnShutdown( |
+ const ash::RebootOnShutdownCallback& callback) override; |
+ void RemoveShutdownPolicyObserver( |
+ ash::ShutdownPolicyObserver* observer) override; |
// Overridden from user_manager::UserManager::UserSessionStateObserver: |
void UserAddedToSession(const user_manager::User* active_user) override; |
@@ -250,6 +258,9 @@ class SystemTrayDelegateChromeOS |
void OnAccessibilityStatusChanged( |
const AccessibilityStatusEventDetails& details); |
+ // Overridden from ShutdownPolicyObserver::Delegate. |
+ void OnShutdownPolicyChanged(bool reboot_on_shutdown) override; |
+ |
scoped_ptr<content::NotificationRegistrar> registrar_; |
scoped_ptr<PrefChangeRegistrar> local_state_registrar_; |
scoped_ptr<PrefChangeRegistrar> user_pref_registrar_; |
@@ -272,10 +283,13 @@ class SystemTrayDelegateChromeOS |
scoped_ptr<AccessibilityStatusSubscription> accessibility_subscription_; |
base::ScopedPtrHashMap<std::string, ash::tray::UserAccountsDelegate> |
accounts_delegates_; |
+ scoped_ptr<ShutdownPolicyObserver> shutdown_policy_observer_; |
Daniel Erat
2014/12/17 16:21:04
please improve the naming here. it's confusing to
stevenjb
2014/12/17 19:09:02
+1, I suggest the following:
* The existing Shutdo
cschuet (SLOW)
2015/01/07 14:37:07
Done.
cschuet (SLOW)
2015/01/07 14:37:07
Done.
|
ObserverList<ash::CustodianInfoTrayObserver> |
custodian_info_changed_observers_; |
+ ObserverList<ash::ShutdownPolicyObserver, true> shutdown_policy_observers_; |
+ |
base::WeakPtrFactory<SystemTrayDelegateChromeOS> weak_ptr_factory_; |
DISALLOW_COPY_AND_ASSIGN(SystemTrayDelegateChromeOS); |