Chromium Code Reviews| 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 a07149b6de725d3e04f7b8b4b3c9eb52d5faff39..ac6bf73e7b493e3d31912879b5ea0b9b330ceaf5 100644 |
| --- a/chrome/browser/chromeos/login/session/user_session_manager.cc |
| +++ b/chrome/browser/chromeos/login/session/user_session_manager.cc |
| @@ -374,7 +374,7 @@ void UserSessionManager::CompleteGuestSessionLogin(const GURL& start_url) { |
| if (!about_flags::AreSwitchesIdenticalToCurrentCommandLine( |
| user_flags, *base::CommandLine::ForCurrentProcess(), NULL)) { |
| DBusThreadManager::Get()->GetSessionManagerClient()->SetFlagsForUser( |
| - chromeos::login::kGuestUserName, base::CommandLine::StringVector()); |
| + chromeos::login::GetGuestUserID(), base::CommandLine::StringVector()); |
| } |
| RestartChrome(cmd_line_str); |
| @@ -412,7 +412,7 @@ void UserSessionManager::StartSession( |
| delegate_ = delegate; |
| start_session_type_ = start_session_type; |
| - VLOG(1) << "Starting session for " << user_context.GetUserID(); |
| + VLOG(1) << "Starting session for " << user_context.GetUserID().GetUserEmail(); |
| PreStartSession(); |
| CreateUserSession(user_context, has_auth_cookies); |
| @@ -465,14 +465,14 @@ void UserSessionManager::RestoreAuthenticationSession(Profile* user_profile) { |
| ProfileHelper::Get()->GetUserByProfile(user_profile); |
| DCHECK(user); |
| if (!net::NetworkChangeNotifier::IsOffline()) { |
| - pending_signin_restore_sessions_.erase(user->email()); |
| + pending_signin_restore_sessions_.erase(user->GetUserID()); |
| RestoreAuthSessionImpl(user_profile, false /* has_auth_cookies */); |
| } else { |
| // Even if we're online we should wait till initial |
| // OnConnectionTypeChanged() call. Otherwise starting fetchers too early may |
| // end up canceling all request when initial network connection type is |
| // processed. See http://crbug.com/121643. |
| - pending_signin_restore_sessions_.insert(user->email()); |
| + pending_signin_restore_sessions_.insert(user->GetUserID()); |
| } |
| } |
| @@ -656,7 +656,7 @@ bool UserSessionManager::RestartToApplyPerSessionFlagsIfNeed( |
| flags.assign(user_flags.argv().begin() + 1, user_flags.argv().end()); |
| LOG(WARNING) << "Restarting to apply per-session flags..."; |
| DBusThreadManager::Get()->GetSessionManagerClient()->SetFlagsForUser( |
| - user_manager::UserManager::Get()->GetActiveUser()->email(), flags); |
| + user_manager::UserManager::Get()->GetActiveUser()->GetUserID(), flags); |
| AttemptRestart(profile); |
| return true; |
| } |
| @@ -721,7 +721,7 @@ void UserSessionManager::OnSessionRestoreStateChanged( |
| if (!connection_error) { |
| // We are in one of "done" states here. |
| user_manager::UserManager::Get()->SaveUserOAuthStatus( |
| - user_manager::UserManager::Get()->GetLoggedInUser()->email(), |
| + user_manager::UserManager::Get()->GetLoggedInUser()->GetUserID(), |
| user_status); |
| } |
| @@ -764,7 +764,7 @@ void UserSessionManager::OnConnectionTypeChanged( |
| Profile* user_profile = ProfileHelper::Get()->GetProfileByUserUnsafe(*it); |
| bool should_restore_session = |
| - pending_signin_restore_sessions_.find((*it)->email()) != |
| + pending_signin_restore_sessions_.find((*it)->GetUserID()) != |
| pending_signin_restore_sessions_.end(); |
| OAuth2LoginManager* login_manager = |
| OAuth2LoginManagerFactory::GetInstance()->GetForProfile(user_profile); |
| @@ -773,7 +773,7 @@ void UserSessionManager::OnConnectionTypeChanged( |
| // we need to kick off OAuth token verification process again. |
| login_manager->ContinueSessionRestore(); |
| } else if (should_restore_session) { |
| - pending_signin_restore_sessions_.erase((*it)->email()); |
| + pending_signin_restore_sessions_.erase((*it)->GetUserID()); |
| RestoreAuthSessionImpl(user_profile, false /* has_auth_cookies */); |
| } |
| } |
| @@ -823,9 +823,9 @@ void UserSessionManager::PreStartSession() { |
| void UserSessionManager::StoreUserContextDataBeforeProfileIsCreated() { |
| // Store obfuscated GAIA ID. |
| - if (!user_context_.GetGaiaID().empty()) { |
| + if (!user_context_.GetUserID().GetGaiaId().empty()) { |
| user_manager::UserManager::Get()->UpdateGaiaID(user_context_.GetUserID(), |
| - user_context_.GetGaiaID()); |
| + user_context_.GetUserID().GetGaiaId()); |
| } |
| } |
| @@ -861,7 +861,7 @@ void UserSessionManager::PrepareProfile() { |
| is_demo_session), |
| base::string16(), |
| base::string16(), |
| - std::string()); |
| + user_manager::UserID(std::string(), std::string())); |
|
Denis Kuznetsov (DE-MUC)
2015/06/10 16:50:46
EmptyGaiaID() ?
|
| } |
| void UserSessionManager::OnProfileCreated(const UserContext& user_context, |
| @@ -918,23 +918,28 @@ void UserSessionManager::InitProfilePreferences( |
| user_manager::UserManager::Get()->GetActiveUser(); |
| std::string supervised_user_sync_id = |
| ChromeUserManager::Get()->GetSupervisedUserManager()->GetUserSyncId( |
| - active_user->email()); |
| + active_user->GetUserID()); |
| profile->GetPrefs()->SetString(prefs::kSupervisedUserId, |
| supervised_user_sync_id); |
| } else if (user_manager::UserManager::Get()-> |
| IsLoggedInAsUserWithGaiaAccount()) { |
| - // Get the Gaia ID from the user context. If it's not available, this may |
| - // not be available when unlocking a previously opened profile, or when |
| - // creating a supervised users. However, in these cases the gaia_id should |
| - // be already available in the account tracker. |
| - std::string gaia_id = user_context.GetGaiaID(); |
| - if (gaia_id.empty()) { |
| - AccountTrackerService* account_tracker = |
| - AccountTrackerServiceFactory::GetForProfile(profile); |
| - AccountTrackerService::AccountInfo info = |
| - account_tracker->FindAccountInfoByEmail(user_context.GetUserID()); |
| - gaia_id = info.gaia; |
| - DCHECK(!gaia_id.empty()); |
| + user_manager::UserID user_id(user->GetUserID()); |
| + |
| + { |
| + // Get the Gaia ID from the user context. If it's not available, this may |
| + // not be available when unlocking a previously opened profile, or when |
| + // creating a supervised users. However, in these cases the gaia_id should |
| + // be already available in the account tracker. |
| + std::string gaia_id = user_context.GetUserID().GetGaiaId(); |
| + if (gaia_id.empty()) { |
| + AccountTrackerService* account_tracker = |
| + AccountTrackerServiceFactory::GetForProfile(profile); |
| + AccountTrackerService::AccountInfo info = |
| + account_tracker->FindAccountInfoByEmail(user_context.GetUserID().GetUserEmail()); |
| + gaia_id = info.gaia; |
| + DCHECK(!gaia_id.empty()); |
| + } |
| + user_id.SetGaiaId(gaia_id); |
| } |
| // Make sure that the google service username is properly set (we do this |
| @@ -942,22 +947,22 @@ void UserSessionManager::InitProfilePreferences( |
| // profiles that might not have it set yet). |
| SigninManagerBase* signin_manager = |
| SigninManagerFactory::GetForProfile(profile); |
| - signin_manager->SetAuthenticatedAccountInfo(gaia_id, |
| - user_context.GetUserID()); |
| + signin_manager->SetAuthenticatedAccountInfo(user_id.GetGaiaId(), |
| + user_id.GetUserEmail()); |
| // Backfill GAIA ID in user prefs stored in Local State. |
| std::string tmp_gaia_id; |
| user_manager::UserManager* user_manager = user_manager::UserManager::Get(); |
| if (!user_manager->FindGaiaID(user_context.GetUserID(), &tmp_gaia_id) && |
| - !gaia_id.empty()) { |
| - user_manager->UpdateGaiaID(user_context.GetUserID(), gaia_id); |
| + !user_id.GetGaiaId().empty()) { |
| + user_manager->UpdateGaiaID(user_context.GetUserID(), user_id.GetGaiaId()); |
| } |
| } |
| } |
| void UserSessionManager::UserProfileInitialized(Profile* profile, |
| bool is_incognito_profile, |
| - const std::string& user_id) { |
| + const user_manager::UserID& user_id) { |
| // Demo user signed in. |
| if (is_incognito_profile) { |
| profile->OnLogin(); |
| @@ -1342,7 +1347,7 @@ void UserSessionManager::OnRestoreActiveSessions( |
| user_manager::UserManager* user_manager = user_manager::UserManager::Get(); |
| DCHECK(user_manager->GetLoggedInUsers().size() == 1); |
| DCHECK(user_manager->GetActiveUser()); |
| - std::string active_user_id = user_manager->GetActiveUser()->email(); |
| + const user_manager::UserID& active_user_id = user_manager->GetActiveUser()->GetUserID(); |
|
Denis Kuznetsov (DE-MUC)
2015/06/10 16:50:46
auto
|
| SessionManagerClient::ActiveSessionsMap::const_iterator it; |
| for (it = sessions.begin(); it != sessions.end(); ++it) { |
| @@ -1363,7 +1368,7 @@ void UserSessionManager::RestorePendingUserSessions() { |
| // Get next user to restore sessions and delete it from list. |
| SessionManagerClient::ActiveSessionsMap::const_iterator it = |
| pending_user_sessions_.begin(); |
| - std::string user_id = it->first; |
| + user_manager::UserID user_id = it->first; |
| std::string user_id_hash = it->second; |
| DCHECK(!user_id.empty()); |
| DCHECK(!user_id_hash.empty()); |
| @@ -1377,7 +1382,7 @@ void UserSessionManager::RestorePendingUserSessions() { |
| it != logged_in_users.end(); |
| ++it) { |
| const user_manager::User* user = (*it); |
| - if (user->email() == user_id) { |
| + if (user->GetUserID() == user_id) { |
| user_already_logged_in = true; |
| break; |
| } |
| @@ -1497,7 +1502,7 @@ void UserSessionManager::AttemptRestart(Profile* profile) { |
| } |
| void UserSessionManager::OnEasyUnlockKeyOpsFinished( |
| - const std::string& user_id, |
| + const user_manager::UserID& user_id, |
| bool success) { |
| running_easy_unlock_key_ops_ = false; |
| if (!easy_unlock_key_ops_finished_callback_.is_null()) |