Index: chrome/browser/chromeos/login/session/user_session_manager.cc |
diff --git a/chrome/browser/chromeos/login/session/user_session_manager.cc b/chrome/browser/chromeos/login/session/user_session_manager.cc |
index abb9800fe02076957094ae59cd1ff309fa824b9d..a68c50f47576f4fc7b044e46aca15f13d93983f8 100644 |
--- a/chrome/browser/chromeos/login/session/user_session_manager.cc |
+++ b/chrome/browser/chromeos/login/session/user_session_manager.cc |
@@ -549,6 +549,18 @@ void UserSessionManager::RestoreAuthenticationSession(Profile* user_profile) { |
const user_manager::User* user = |
ProfileHelper::Get()->GetUserByProfile(user_profile); |
DCHECK(user); |
+ |
+ if (user_manager->GetPrimaryUser() == user) { |
+ DCHECK(user->HasGaiaAccount()); |
+ SigninManagerBase* signin_manager = |
+ SigninManagerFactory::GetForProfile(user_profile); |
+ if (signin_manager->GetAuthenticatedAccountId().empty()) { |
+ signin_manager->SetAuthenticatedAccountInfo( |
+ user->GetAccountId().GetGaiaId(), |
+ user->GetAccountId().GetUserEmail()); |
+ } |
+ } |
+ |
if (!net::NetworkChangeNotifier::IsOffline()) { |
pending_signin_restore_sessions_.erase(user->GetAccountId().GetUserEmail()); |
RestoreAuthSessionImpl(user_profile, false /* has_auth_cookies */); |