Index: ash/session_state_delegate.h |
diff --git a/ash/session_state_delegate.h b/ash/session_state_delegate.h |
index f0d6ec69d952e9a9c949d561d708ada7e92c6b2b..dcbd7f975b5c67aeb359e01a85e3a269ac063c65 100644 |
--- a/ash/session_state_delegate.h |
+++ b/ash/session_state_delegate.h |
@@ -45,6 +45,22 @@ class ASH_EXPORT SessionStateDelegate { |
CYCLE_TO_PREVIOUS_USER, // Cycle to the previous user. |
}; |
+ // Defines session state i.e. whether session is running or not and |
+ // whether user session is blocked by things like multi-profile login. |
+ enum SessionState { |
+ // When primary user login UI is shown i.e. after boot or sign out, |
+ // no active user session exists yet. |
+ SESSION_STATE_LOGIN_PRIMARY = 0, |
+ |
+ // Inside user session (including lock screen), |
+ // no login UI (primary or multi-profiles) is shown. |
+ SESSION_STATE_ACTIVE, |
+ |
+ // When secondary user login UI is shown i.e. other users are |
+ // already logged in and is currently adding another user to the session. |
+ SESSION_STATE_LOGIN_SECONDARY, |
+ }; |
+ |
virtual ~SessionStateDelegate() {}; |
// Returns the browser context for the user given by |index|. |
@@ -89,6 +105,9 @@ class ASH_EXPORT SessionStateDelegate { |
// session. |
virtual bool IsUserSessionBlocked() const = 0; |
+ // Returns current session state. |
+ virtual SessionState GetSessionState() const = 0; |
+ |
// Gets the displayed name for the user with the given |index|. |
// Note that |index| can at maximum be |NumberOfLoggedInUsers() - 1|. |
virtual const base::string16 GetUserDisplayName( |