Index: chrome/browser/chromeos/login/user_manager_impl.cc |
diff --git a/chrome/browser/chromeos/login/user_manager_impl.cc b/chrome/browser/chromeos/login/user_manager_impl.cc |
index 8c4450cb3e94bc594a321d8121b404df56f8c597..d56aa50f072accecbcc196fe750cc9dd872be734 100644 |
--- a/chrome/browser/chromeos/login/user_manager_impl.cc |
+++ b/chrome/browser/chromeos/login/user_manager_impl.cc |
@@ -181,6 +181,7 @@ UserManagerImpl::UserManagerImpl() |
is_current_user_new_(false), |
is_current_user_ephemeral_regular_user_(false), |
ephemeral_users_enabled_(false), |
+ merge_session_state_(MERGE_STATUS_NOT_STARTED), |
observed_sync_service_(NULL), |
user_image_manager_(new UserImageManagerImpl) { |
// UserManager instance should be used only on UI thread. |
@@ -725,6 +726,19 @@ bool UserManagerImpl::IsSessionStarted() const { |
return session_started_; |
} |
+UserManager::MergeSessionState UserManagerImpl::GetMergeSessionState() const { |
+ return merge_session_state_; |
+} |
+ |
+void UserManagerImpl::SetMergeSessionState( |
+ UserManager::MergeSessionState state) { |
+ if (merge_session_state_ == state) |
+ return; |
+ |
+ merge_session_state_ = state; |
+ NotifyMergeSessionStateChanged(); |
+} |
+ |
bool UserManagerImpl::HasBrowserRestarted() const { |
CommandLine* command_line = CommandLine::ForCurrentProcess(); |
return base::chromeos::IsRunningOnChromeOS() && |
@@ -1087,4 +1101,10 @@ void UserManagerImpl::NotifyUserListChanged() { |
content::NotificationService::NoDetails()); |
} |
+void UserManagerImpl::NotifyMergeSessionStateChanged() { |
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
+ FOR_EACH_OBSERVER(UserManager::Observer, observer_list_, |
+ MergeSessionStateChanged(merge_session_state_)); |
+} |
+ |
} // namespace chromeos |