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..7562d7294c025e4db6c0e881ca8b6526677df583 100644 |
--- a/chrome/browser/ui/ash/session_state_delegate.h |
+++ b/chrome/browser/ui/ash/session_state_delegate.h |
@@ -8,8 +8,22 @@ |
#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 |
+ |
+namespace ash { |
+class SessionStateObserver; |
+} // namespace ash |
+ |
+class SessionStateDelegate |
+ : |
+#if defined(OS_CHROMEOS) |
+ public chromeos::UserManager::UserSessionStateObserver, |
stevenjb
2013/06/03 16:52:00
Can we create a SessionStateDelegateChromeos imple
Nikita (slow)
2013/06/04 12:41:33
Done.
|
+#endif |
+ public ash::SessionStateDelegate { |
public: |
SessionStateDelegate(); |
virtual ~SessionStateDelegate(); |
@@ -28,10 +42,24 @@ class SessionStateDelegate : public ash::SessionStateDelegate { |
ash::MultiProfileIndex index) const OVERRIDE; |
virtual const gfx::ImageSkia& GetUserImage( |
ash::MultiProfileIndex index) const OVERRIDE; |
- virtual void GetLoggedInUsers(ash::UserEmailList* users) OVERRIDE; |
- virtual void SwitchActiveUser(const std::string& email) OVERRIDE; |
+ virtual void GetLoggedInUsers(ash::UserIdList* users) OVERRIDE; |
+ virtual void SwitchActiveUser(const std::string& user_id) 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: |
+#if defined(OS_CHROMEOS) |
+ // List of observers is only used on Chrome OS for now. |
+ ObserverList<ash::SessionStateObserver> session_state_observer_list_; |
stevenjb
2013/06/03 16:52:00
This also?
Nikita (slow)
2013/06/04 12:41:33
Done.
|
+#endif |
+ |
DISALLOW_COPY_AND_ASSIGN(SessionStateDelegate); |
}; |