Index: chrome/browser/chromeos/login/user_manager.h |
diff --git a/chrome/browser/chromeos/login/user_manager.h b/chrome/browser/chromeos/login/user_manager.h |
index 13a95dd2f24c8b6b94c596ad17b35f3b55a7d0fb..168ea81543dfb609f0f2cc683184573b1217b823 100644 |
--- a/chrome/browser/chromeos/login/user_manager.h |
+++ b/chrome/browser/chromeos/login/user_manager.h |
@@ -21,13 +21,27 @@ class UserImageManager; |
// 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() {} |
}; |
@@ -211,6 +225,12 @@ class UserManager { |
// 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; |