Index: chrome/browser/ui/ash/session_state_delegate_chromeos.h |
diff --git a/chrome/browser/ui/ash/session_state_delegate_chromeos.h b/chrome/browser/ui/ash/session_state_delegate_chromeos.h |
index b6dc92222507f21fb9abf4b7b27a8c72529ffaf1..541c6d38829dd8353849c66ead774f36e1a24b75 100644 |
--- a/chrome/browser/ui/ash/session_state_delegate_chromeos.h |
+++ b/chrome/browser/ui/ash/session_state_delegate_chromeos.h |
@@ -9,6 +9,7 @@ |
#include "base/basictypes.h" |
#include "base/compiler_specific.h" |
#include "base/observer_list.h" |
+#include "chrome/browser/chromeos/login/user_adding_screen.h" |
#include "chrome/browser/chromeos/login/user_manager.h" |
namespace ash { |
@@ -17,7 +18,8 @@ class SessionStateObserver; |
class SessionStateDelegateChromeos |
: public ash::SessionStateDelegate, |
- public chromeos::UserManager::UserSessionStateObserver { |
+ public chromeos::UserManager::UserSessionStateObserver, |
+ public chromeos::UserAddingScreen::Observer { |
public: |
SessionStateDelegateChromeos(); |
virtual ~SessionStateDelegateChromeos(); |
@@ -51,14 +53,27 @@ class SessionStateDelegateChromeos |
ash::SessionStateObserver* observer) OVERRIDE; |
virtual void RemoveSessionStateObserver( |
ash::SessionStateObserver* observer) OVERRIDE; |
+ |
// UserManager::UserSessionStateObserver: |
virtual void ActiveUserChanged(const chromeos::User* active_user) OVERRIDE; |
virtual void UserAddedToSession(const chromeos::User* added_user) OVERRIDE; |
+ // UserAddingScreen::Observer: |
+ virtual void OnUserAddingStarted() OVERRIDE; |
+ virtual void OnUserAddingFinished() OVERRIDE; |
+ |
private: |
+ // Sets session state to |new_state|. |
+ void SetSessionState(SessionState new_state); |
+ |
+ // Notify observers about session state change. |
+ void NotifySessionStateChanged(); |
+ |
// List of observers is only used on Chrome OS for now. |
ObserverList<ash::SessionStateObserver> session_state_observer_list_; |
+ SessionState state_; |
+ |
DISALLOW_COPY_AND_ASSIGN(SessionStateDelegateChromeos); |
}; |