Index: chrome/browser/ui/ash/session_state_delegate.h |
diff --git a/chrome/browser/ui/ash/session_state_delegate.h b/chrome/browser/ui/ash/session_state_delegate.h |
index 50a3feb600032ef616e0545af43895d6082c3c01..cd48aee993642b55c9eacd5843d9389e58964b34 100644 |
--- a/chrome/browser/ui/ash/session_state_delegate.h |
+++ b/chrome/browser/ui/ash/session_state_delegate.h |
@@ -8,8 +8,18 @@ |
#include "ash/session_state_delegate.h" |
#include "base/basictypes.h" |
#include "base/compiler_specific.h" |
+#include "base/observer_list.h" |
-class SessionStateDelegate : public ash::SessionStateDelegate { |
+#if defined(OS_CHROMEOS) |
+#include "chrome/browser/chromeos/login/user_manager.h" |
+#endif |
+ |
+class SessionStateDelegate |
+ : |
+#if defined(OS_CHROMEOS) |
+ public chromeos::UserManager::UserSessionStateObserver, |
+#endif |
+ public ash::SessionStateDelegate { |
public: |
SessionStateDelegate(); |
virtual ~SessionStateDelegate(); |
@@ -30,8 +40,19 @@ class SessionStateDelegate : public ash::SessionStateDelegate { |
ash::MultiProfileIndex index) const OVERRIDE; |
virtual void GetLoggedInUsers(ash::UserEmailList* users) OVERRIDE; |
virtual void SwitchActiveUser(const std::string& email) OVERRIDE; |
+ virtual void AddSessionStateObserver( |
+ ash::SessionStateObserver* observer) OVERRIDE; |
+ virtual void RemoveSessionStateObserver( |
+ ash::SessionStateObserver* observer) OVERRIDE; |
+ |
+#if defined(OS_CHROMEOS) |
+ // UserManager::UserSessionStateObserver: |
+ virtual void ActiveUserChanged(const chromeos::User* active_user) OVERRIDE; |
+#endif |
private: |
+ ObserverList<ash::SessionStateObserver> session_state_observer_list_; |
+ |
DISALLOW_COPY_AND_ASSIGN(SessionStateDelegate); |
}; |