Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(884)

Unified Diff: chrome/browser/chromeos/login/session/user_session_manager.cc

Issue 1693383003: ChromeOS cryptohome should be able to use gaia id as user identifier. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add missing files. Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 3eda1fd935944b3bcde79644575b06dfb3538368..c0cd6d2a83aa6e26ef17392949cd82bc87b6bbfc 100644
--- a/chrome/browser/chromeos/login/session/user_session_manager.cc
+++ b/chrome/browser/chromeos/login/session/user_session_manager.cc
@@ -86,6 +86,7 @@
#include "chromeos/dbus/dbus_thread_manager.h"
#include "chromeos/dbus/session_manager_client.h"
#include "chromeos/login/auth/stub_authenticator.h"
+#include "chromeos/login/auth/utils.h"
#include "chromeos/login/user_names.h"
#include "chromeos/network/portal_detector/network_portal_detector.h"
#include "chromeos/network/portal_detector/network_portal_detector_strategy.h"
@@ -894,7 +895,7 @@ void UserSessionManager::StartCrosSession() {
BootTimesRecorder* btl = BootTimesRecorder::Get();
btl->AddLoginTimeMarker("StartSession-Start", false);
DBusThreadManager::Get()->GetSessionManagerClient()->StartSession(
- user_context_.GetAccountId().GetUserEmail());
+ cryptohome::Identification(user_context_.GetAccountId()).id());
btl->AddLoginTimeMarker("StartSession-End", false);
}
@@ -1426,13 +1427,16 @@ void UserSessionManager::OnRestoreActiveSessions(
user_manager::UserManager* user_manager = user_manager::UserManager::Get();
DCHECK_EQ(1u, user_manager->GetLoggedInUsers().size());
DCHECK(user_manager->GetActiveUser());
- std::string active_user_id = user_manager->GetActiveUser()->email();
+ const std::string active_cryptohome_id =
+ cryptohome::Identification(user_manager->GetActiveUser()->GetAccountId())
+ .id();
SessionManagerClient::ActiveSessionsMap::const_iterator it;
for (it = sessions.begin(); it != sessions.end(); ++it) {
- if (active_user_id == it->first)
+ if (active_cryptohome_id == it->first)
continue;
- pending_user_sessions_[it->first] = it->second;
+ pending_user_sessions_[cryptohome::GetAccountId(
+ cryptohome::Identification::FromString(it->first))] = it->second;
}
RestorePendingUserSessions();
}
@@ -1445,13 +1449,12 @@ 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;
+ PendingUserSessions::const_iterator it = pending_user_sessions_.begin();
+ const AccountId account_id = it->first;
std::string user_id_hash = it->second;
- DCHECK(!user_id.empty());
+ DCHECK(account_id.is_valid());
DCHECK(!user_id_hash.empty());
- pending_user_sessions_.erase(user_id);
+ pending_user_sessions_.erase(account_id);
// Check that this user is not logged in yet.
user_manager::UserList logged_in_users =
@@ -1461,7 +1464,7 @@ void UserSessionManager::RestorePendingUserSessions() {
it != logged_in_users.end();
++it) {
const user_manager::User* user = (*it);
- if (user->email() == user_id) {
+ if (user->GetAccountId() == account_id) {
user_already_logged_in = true;
break;
}
@@ -1469,7 +1472,7 @@ void UserSessionManager::RestorePendingUserSessions() {
DCHECK(!user_already_logged_in);
if (!user_already_logged_in) {
- UserContext user_context(AccountId::FromUserEmail(user_id));
+ UserContext user_context(account_id);
user_context.SetUserIDHash(user_id_hash);
user_context.SetIsUsingOAuth(false);

Powered by Google App Engine
This is Rietveld 408576698