Index: chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc |
diff --git a/chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc b/chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc |
index 254ef613f593d9fcd3e5c01beae4e42738bd2307..4b2d7cf077dbd88dee6a24a2e4fca1ac9f49f1bd 100644 |
--- a/chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc |
+++ b/chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc |
@@ -1005,8 +1005,14 @@ void ChromeUserManagerImpl::NotifyUserListChanged() { |
void ChromeUserManagerImpl::NotifyUserAddedToSession( |
const user_manager::User* added_user, |
bool user_switch_pending) { |
- if (user_switch_pending) |
+ // Special case for user session restoration after browser crash. |
+ // We don't switch to each user session that has been restored as once all |
+ // session will be restored we'll switch to the session that has been used |
+ // before the crash. |
+ if (user_switch_pending && |
+ !UserSessionManager::GetInstance()->UserSessionsRestoreInProgress()) { |
SetPendingUserSwitchID(added_user->email()); |
+ } |
UpdateNumberOfUsers(); |
ChromeUserManager::NotifyUserAddedToSession(added_user, user_switch_pending); |