Index: chrome/browser/chromeos/login/user_manager_impl.cc |
=================================================================== |
--- chrome/browser/chromeos/login/user_manager_impl.cc (revision 184220) |
+++ chrome/browser/chromeos/login/user_manager_impl.cc (working copy) |
@@ -172,6 +172,7 @@ |
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. |
@@ -611,6 +612,19 @@ |
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() && |
@@ -964,4 +978,10 @@ |
content::NotificationService::NoDetails()); |
} |
+void UserManagerImpl::NotifyMergeSessionStateChanged() { |
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
+ FOR_EACH_OBSERVER(UserManager::Observer, observer_list_, |
+ MergeSessionStateChanged(merge_session_state_)); |
+} |
+ |
} // namespace chromeos |