Index: chrome/browser/chromeos/login/user_manager.h |
=================================================================== |
--- chrome/browser/chromeos/login/user_manager.h (revision 184220) |
+++ chrome/browser/chromeos/login/user_manager.h (working copy) |
@@ -21,13 +21,27 @@ |
// who have logged into this Chrome OS device before and updating that list. |
class UserManager { |
public: |
+ // Status of merge sessions process which is responsible for exchanging |
+ // user OAuth2 refresh token for GAIA cookies. |
+ enum MergeSessionState { |
+ // Session merge hasn't started yet. |
+ MERGE_STATUS_NOT_STARTED, |
+ // Session merge is in process. |
+ MERGE_STATUS_IN_PROCESS, |
+ // Session merge is completed. |
+ MERGE_STATUS_DONE, |
+ }; |
+ |
// Interface that observers of UserManager must implement in order |
// to receive notification when local state preferences is changed |
class Observer { |
public: |
- // Called when the local state preferences is changed |
+ // Called when the local state preferences is changed. |
virtual void LocalStateChanged(UserManager* user_manager) = 0; |
+ // Called when merge session state is changed. |
+ virtual void MergeSessionStateChanged(MergeSessionState state) {} |
+ |
protected: |
virtual ~Observer() {} |
}; |
@@ -190,6 +204,12 @@ |
// or restart after crash. |
virtual bool IsSessionStarted() const = 0; |
+ // Returns merge session status. |
+ virtual MergeSessionState GetMergeSessionState() const = 0; |
+ |
+ // Changes merge session status. |
+ virtual void SetMergeSessionState(MergeSessionState status) = 0; |
+ |
// Returns true when the browser has crashed and restarted during the current |
// user's session. |
virtual bool HasBrowserRestarted() const = 0; |