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

Unified Diff: chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc

Issue 1412813003: This CL replaces user_manager::UserID with AccountId. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@468875--Chrome-OS-handles-deletion-of-Gmail-account-poorly--Create-AccountID-structure-part2--user_names
Patch Set: Update after review. Created 5 years, 2 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/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 41e21028a2f8477208972b6ba72499dc425d76b0..f800fd05e185fe0d09ab56bd6d2161b2ae7bbb32 100644
--- a/chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc
+++ b/chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc
@@ -206,12 +206,13 @@ ChromeUserManagerImpl::GetMultiProfileUserController() {
}
UserImageManager* ChromeUserManagerImpl::GetUserImageManager(
- const std::string& user_id) {
- UserImageManagerMap::iterator ui = user_image_managers_.find(user_id);
+ const AccountId& account_id) {
+ UserImageManagerMap::iterator ui = user_image_managers_.find(account_id);
if (ui != user_image_managers_.end())
return ui->second.get();
- linked_ptr<UserImageManagerImpl> mgr(new UserImageManagerImpl(user_id, this));
- user_image_managers_[user_id] = mgr;
+ linked_ptr<UserImageManagerImpl> mgr(
+ new UserImageManagerImpl(account_id.GetUserEmail(), this));
+ user_image_managers_[account_id] = mgr;
return mgr.get();
}
@@ -316,15 +317,13 @@ void ChromeUserManagerImpl::SessionStarted() {
}
void ChromeUserManagerImpl::RemoveUserInternal(
- const std::string& user_email,
+ const AccountId& account_id,
user_manager::RemoveUserDelegate* delegate) {
CrosSettings* cros_settings = CrosSettings::Get();
const base::Closure& callback =
base::Bind(&ChromeUserManagerImpl::RemoveUserInternal,
- weak_factory_.GetWeakPtr(),
- user_email,
- delegate);
+ weak_factory_.GetWeakPtr(), account_id, delegate);
// Ensure the value of owner email has been fetched.
if (CrosSettingsProvider::TRUSTED !=
@@ -335,32 +334,33 @@ void ChromeUserManagerImpl::RemoveUserInternal(
}
std::string owner;
cros_settings->GetString(kDeviceOwner, &owner);
- if (user_email == owner) {
+ if (account_id == AccountId::FromUserEmail(owner)) {
achuithb 2015/10/28 23:11:45 This is changing to GaiaId, right?
Alexander Alekseev 2015/10/29 02:00:40 Yes. This is one of several serialization parts of
// Owner is not allowed to be removed from the device.
return;
}
- RemoveNonOwnerUserInternal(user_email, delegate);
+ RemoveNonOwnerUserInternal(account_id, delegate);
}
void ChromeUserManagerImpl::SaveUserOAuthStatus(
- const std::string& user_id,
+ const AccountId& account_id,
user_manager::User::OAuthTokenStatus oauth_token_status) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
- ChromeUserManager::SaveUserOAuthStatus(user_id, oauth_token_status);
+ ChromeUserManager::SaveUserOAuthStatus(account_id, oauth_token_status);
- GetUserFlow(user_id)->HandleOAuthTokenStatusChange(oauth_token_status);
+ GetUserFlow(account_id)->HandleOAuthTokenStatusChange(oauth_token_status);
}
void ChromeUserManagerImpl::SaveUserDisplayName(
- const std::string& user_id,
+ const AccountId& account_id,
const base::string16& display_name) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
- ChromeUserManager::SaveUserDisplayName(user_id, display_name);
+ ChromeUserManager::SaveUserDisplayName(account_id, display_name);
// Do not update local state if data stored or cached outside the user's
// cryptohome is to be treated as ephemeral.
- if (!IsUserNonCryptohomeDataEphemeral(user_id))
- supervised_user_manager_->UpdateManagerName(user_id, display_name);
+ if (!IsUserNonCryptohomeDataEphemeral(account_id))
achuithb 2015/10/28 23:11:45 I think use {} here because of the line break?
Alexander Alekseev 2015/10/29 02:00:40 Done.
+ supervised_user_manager_->UpdateManagerName(account_id.GetUserEmail(),
+ display_name);
}
void ChromeUserManagerImpl::StopPolicyObserverForTesting() {
@@ -412,13 +412,14 @@ void ChromeUserManagerImpl::Observe(
user->set_profile_is_created();
if (user->HasGaiaAccount()) {
- UserImageManager* image_manager = GetUserImageManager(user->email());
+ UserImageManager* image_manager =
+ GetUserImageManager(user->GetAccountId());
image_manager->UserProfileCreated();
achuithb 2015/10/28 23:11:45 Maybe just: GetUserImageManager(user->GetAccountId
Alexander Alekseev 2015/10/29 02:00:40 Done.
}
}
// If there is pending user switch, do it now.
- if (!GetPendingUserSwitchID().empty()) {
+ if (GetPendingUserSwitchID().is_valid()) {
// Call SwitchActiveUser async because otherwise it may cause
// ProfileManager::GetProfile before the profile gets registered
// in ProfileManager. It happens in case of sync profile load when
@@ -428,7 +429,7 @@ void ChromeUserManagerImpl::Observe(
base::Bind(&ChromeUserManagerImpl::SwitchActiveUser,
weak_factory_.GetWeakPtr(),
GetPendingUserSwitchID()));
- SetPendingUserSwitchID(std::string());
+ SetPendingUserSwitchId(EmptyAccountId());
}
break;
}
@@ -440,7 +441,8 @@ void ChromeUserManagerImpl::Observe(
void ChromeUserManagerImpl::OnExternalDataSet(const std::string& policy,
const std::string& user_id) {
if (policy == policy::key::kUserAvatarImage)
- GetUserImageManager(user_id)->OnExternalDataSet(policy);
+ GetUserImageManager(AccountId::FromUserEmail(user_id))
+ ->OnExternalDataSet(policy);
else if (policy == policy::key::kWallpaperImage)
WallpaperManager::Get()->OnPolicySet(policy, user_id);
else
@@ -450,7 +452,8 @@ void ChromeUserManagerImpl::OnExternalDataSet(const std::string& policy,
void ChromeUserManagerImpl::OnExternalDataCleared(const std::string& policy,
const std::string& user_id) {
if (policy == policy::key::kUserAvatarImage)
- GetUserImageManager(user_id)->OnExternalDataCleared(policy);
+ GetUserImageManager(AccountId::FromUserEmail(user_id))
+ ->OnExternalDataCleared(policy);
else if (policy == policy::key::kWallpaperImage)
WallpaperManager::Get()->OnPolicyCleared(policy, user_id);
else
@@ -462,7 +465,8 @@ void ChromeUserManagerImpl::OnExternalDataFetched(
const std::string& user_id,
scoped_ptr<std::string> data) {
if (policy == policy::key::kUserAvatarImage)
- GetUserImageManager(user_id)->OnExternalDataFetched(policy, data.Pass());
+ GetUserImageManager(AccountId::FromUserEmail(user_id))
+ ->OnExternalDataFetched(policy, data.Pass());
else if (policy == policy::key::kWallpaperImage)
WallpaperManager::Get()->OnPolicyFetched(policy, user_id, data.Pass());
else
@@ -470,7 +474,7 @@ void ChromeUserManagerImpl::OnExternalDataFetched(
}
void ChromeUserManagerImpl::OnPolicyUpdated(const std::string& user_id) {
- const user_manager::User* user = FindUser(user_id);
+ const user_manager::User* user = FindUser(AccountId::FromUserEmail(user_id));
if (!user || user->GetType() != user_manager::USER_TYPE_PUBLIC_ACCOUNT)
return;
UpdatePublicAccountDisplayName(user_id);
@@ -487,24 +491,24 @@ bool ChromeUserManagerImpl::CanCurrentUserLock() const {
}
bool ChromeUserManagerImpl::IsUserNonCryptohomeDataEphemeral(
- const std::string& user_id) const {
+ const AccountId& account_id) const {
// Data belonging to the obsolete public accounts whose data has not been
// removed yet is not ephemeral.
- bool is_obsolete_public_account = IsPublicAccountMarkedForRemoval(user_id);
+ bool is_obsolete_public_account = IsPublicAccountMarkedForRemoval(account_id);
return !is_obsolete_public_account &&
- ChromeUserManager::IsUserNonCryptohomeDataEphemeral(user_id);
+ ChromeUserManager::IsUserNonCryptohomeDataEphemeral(account_id);
}
bool ChromeUserManagerImpl::AreEphemeralUsersEnabled() const {
policy::BrowserPolicyConnectorChromeOS* connector =
g_browser_process->platform_part()->browser_policy_connector_chromeos();
return GetEphemeralUsersEnabled() &&
- (connector->IsEnterpriseManaged() || !GetOwnerEmail().empty());
+ (connector->IsEnterpriseManaged() || GetOwnerAccountId().is_valid());
}
-void ChromeUserManagerImpl::OnUserRemoved(const std::string& user_id) {
- RemoveReportingUser(FullyCanonicalize(user_id));
+void ChromeUserManagerImpl::OnUserRemoved(const AccountId& account_id) {
+ RemoveReportingUser(FullyCanonicalize(account_id.GetUserEmail()));
}
const std::string& ChromeUserManagerImpl::GetApplicationLocale() const {
@@ -516,9 +520,9 @@ PrefService* ChromeUserManagerImpl::GetLocalState() const {
}
void ChromeUserManagerImpl::HandleUserOAuthTokenStatusChange(
- const std::string& user_id,
+ const AccountId& account_id,
user_manager::User::OAuthTokenStatus status) const {
- GetUserFlow(user_id)->HandleOAuthTokenStatusChange(status);
+ GetUserFlow(account_id)->HandleOAuthTokenStatusChange(status);
}
bool ChromeUserManagerImpl::IsEnterpriseManaged() const {
@@ -528,19 +532,15 @@ bool ChromeUserManagerImpl::IsEnterpriseManaged() const {
}
void ChromeUserManagerImpl::LoadPublicAccounts(
- std::set<std::string>* public_sessions_set) {
+ std::set<AccountId>* public_sessions_set) {
const base::ListValue* prefs_public_sessions =
GetLocalState()->GetList(kPublicAccounts);
- std::vector<std::string> public_sessions;
- ParseUserList(*prefs_public_sessions,
- std::set<std::string>(),
- &public_sessions,
+ std::vector<AccountId> public_sessions;
+ ParseUserList(*prefs_public_sessions, std::set<AccountId>(), &public_sessions,
public_sessions_set);
- for (std::vector<std::string>::const_iterator it = public_sessions.begin();
- it != public_sessions.end();
- ++it) {
- users_.push_back(user_manager::User::CreatePublicAccountUser(*it));
- UpdatePublicAccountDisplayName(*it);
+ for (const AccountId& account_id : public_sessions) {
+ users_.push_back(user_manager::User::CreatePublicAccountUser(account_id));
+ UpdatePublicAccountDisplayName(account_id.GetUserEmail());
}
}
@@ -559,7 +559,7 @@ void ChromeUserManagerImpl::PerformPostUserListLoadingActions() {
for (user_manager::UserList::iterator ui = users_.begin(), ue = users_.end();
ui != ue;
++ui) {
- GetUserImageManager((*ui)->email())->LoadUserImage();
+ GetUserImageManager((*ui)->GetAccountId())->LoadUserImage();
}
}
@@ -571,22 +571,22 @@ void ChromeUserManagerImpl::PerformPostUserLoggedInActions(
new SessionLengthLimiter(NULL, browser_restart));
}
-bool ChromeUserManagerImpl::IsDemoApp(const std::string& user_id) const {
- return DemoAppLauncher::IsDemoAppSession(user_id);
+bool ChromeUserManagerImpl::IsDemoApp(const AccountId& account_id) const {
+ return DemoAppLauncher::IsDemoAppSession(account_id.GetUserEmail());
}
-bool ChromeUserManagerImpl::IsKioskApp(const std::string& user_id) const {
+bool ChromeUserManagerImpl::IsKioskApp(const AccountId& account_id) const {
policy::DeviceLocalAccount::Type device_local_account_type;
- return policy::IsDeviceLocalAccountUser(user_id,
+ return policy::IsDeviceLocalAccountUser(account_id.GetUserEmail(),
&device_local_account_type) &&
device_local_account_type ==
policy::DeviceLocalAccount::TYPE_KIOSK_APP;
}
bool ChromeUserManagerImpl::IsPublicAccountMarkedForRemoval(
- const std::string& user_id) const {
- return user_id ==
- GetLocalState()->GetString(kPublicAccountPendingDataRemoval);
+ const AccountId& account_id) const {
+ return account_id == AccountId::FromUserEmail(GetLocalState()->GetString(
+ kPublicAccountPendingDataRemoval));
}
void ChromeUserManagerImpl::RetrieveTrustedDevicePolicies() {
@@ -595,7 +595,7 @@ void ChromeUserManagerImpl::RetrieveTrustedDevicePolicies() {
return;
SetEphemeralUsersEnabled(false);
- SetOwnerEmail(std::string());
+ SetOwnerId(EmptyAccountId());
// Schedule a callback if device policy has not yet been verified.
if (CrosSettingsProvider::TRUSTED !=
@@ -612,7 +612,7 @@ void ChromeUserManagerImpl::RetrieveTrustedDevicePolicies() {
std::string owner_email;
cros_settings_->GetString(kDeviceOwner, &owner_email);
- SetOwnerEmail(owner_email);
+ SetOwnerId(AccountId::FromUserEmail(owner_email));
EnsureUsersLoaded();
@@ -626,15 +626,16 @@ void ChromeUserManagerImpl::RetrieveTrustedDevicePolicies() {
prefs_users_update->Clear();
for (user_manager::UserList::iterator it = users_.begin();
it != users_.end();) {
- const std::string user_email = (*it)->email();
- if ((*it)->HasGaiaAccount() && user_email != GetOwnerEmail()) {
- RemoveNonCryptohomeData(user_email);
+ const AccountId account_id = (*it)->GetAccountId();
+ if ((*it)->HasGaiaAccount() && account_id != GetOwnerAccountId()) {
+ RemoveNonCryptohomeData(account_id);
DeleteUser(*it);
it = users_.erase(it);
changed = true;
} else {
if ((*it)->GetType() != user_manager::USER_TYPE_PUBLIC_ACCOUNT)
- prefs_users_update->Append(new base::StringValue(user_email));
+ prefs_users_update->Append(
+ new base::StringValue(account_id.GetUserEmail()));
++it;
}
}
@@ -662,20 +663,20 @@ void ChromeUserManagerImpl::GuestUserLoggedIn() {
WallpaperManager::Get()->SetUserWallpaperNow(chromeos::login::kGuestUserName);
}
-void ChromeUserManagerImpl::RegularUserLoggedIn(const std::string& user_id) {
- ChromeUserManager::RegularUserLoggedIn(user_id);
+void ChromeUserManagerImpl::RegularUserLoggedIn(const AccountId& account_id) {
+ ChromeUserManager::RegularUserLoggedIn(account_id);
if (FakeOwnership()) {
- std::string owner_email = GetActiveUser()->email();
- VLOG(1) << "Set device owner to: " << owner_email;
- CrosSettings::Get()->SetString(kDeviceOwner, owner_email);
- SetOwnerEmail(owner_email);
+ const AccountId owner_id = GetActiveUser()->GetAccountId();
achuithb 2015/10/28 23:11:45 owner_account_id?
Alexander Alekseev 2015/10/29 02:00:40 Done.
+ VLOG(1) << "Set device owner to: " << owner_id.GetUserEmail();
+ CrosSettings::Get()->SetString(kDeviceOwner, owner_id.GetUserEmail());
+ SetOwnerId(owner_id);
}
if (IsCurrentUserNew())
- WallpaperManager::Get()->SetUserWallpaperNow(user_id);
+ WallpaperManager::Get()->SetUserWallpaperNow(account_id.GetUserEmail());
- GetUserImageManager(user_id)->UserLoggedIn(IsCurrentUserNew(), false);
+ GetUserImageManager(account_id)->UserLoggedIn(IsCurrentUserNew(), false);
WallpaperManager::Get()->EnsureLoggedInUserWallpaperLoaded();
@@ -684,30 +685,31 @@ void ChromeUserManagerImpl::RegularUserLoggedIn(const std::string& user_id) {
}
void ChromeUserManagerImpl::RegularUserLoggedInAsEphemeral(
- const std::string& user_id) {
+ const AccountId& account_id) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
- ChromeUserManager::RegularUserLoggedInAsEphemeral(user_id);
+ ChromeUserManager::RegularUserLoggedInAsEphemeral(account_id);
- GetUserImageManager(user_id)->UserLoggedIn(IsCurrentUserNew(), false);
- WallpaperManager::Get()->SetUserWallpaperNow(user_id);
+ GetUserImageManager(account_id)->UserLoggedIn(IsCurrentUserNew(), false);
+ WallpaperManager::Get()->SetUserWallpaperNow(account_id.GetUserEmail());
}
-void ChromeUserManagerImpl::SupervisedUserLoggedIn(const std::string& user_id) {
+void ChromeUserManagerImpl::SupervisedUserLoggedIn(
+ const AccountId& account_id) {
// TODO(nkostylev): Refactor, share code with RegularUserLoggedIn().
// Remove the user from the user list.
- active_user_ = RemoveRegularOrSupervisedUserFromList(user_id);
+ active_user_ = RemoveRegularOrSupervisedUserFromList(account_id);
// If the user was not found on the user list, create a new user.
if (!GetActiveUser()) {
SetIsCurrentUserNew(true);
- active_user_ = user_manager::User::CreateSupervisedUser(user_id);
+ active_user_ = user_manager::User::CreateSupervisedUser(account_id);
// Leaving OAuth token status at the default state = unknown.
- WallpaperManager::Get()->SetUserWallpaperNow(user_id);
+ WallpaperManager::Get()->SetUserWallpaperNow(account_id.GetUserEmail());
} else {
- if (supervised_user_manager_->CheckForFirstRun(user_id)) {
+ if (supervised_user_manager_->CheckForFirstRun(account_id.GetUserEmail())) {
SetIsCurrentUserNew(true);
- WallpaperManager::Get()->SetUserWallpaperNow(user_id);
+ WallpaperManager::Get()->SetUserWallpaperNow(account_id.GetUserEmail());
} else {
SetIsCurrentUserNew(false);
}
@@ -715,16 +717,17 @@ void ChromeUserManagerImpl::SupervisedUserLoggedIn(const std::string& user_id) {
// Add the user to the front of the user list.
ListPrefUpdate prefs_users_update(GetLocalState(), kRegularUsers);
- prefs_users_update->Insert(0, new base::StringValue(user_id));
+ prefs_users_update->Insert(0,
+ new base::StringValue(account_id.GetUserEmail()));
users_.insert(users_.begin(), active_user_);
// Now that user is in the list, save display name.
if (IsCurrentUserNew()) {
- SaveUserDisplayName(GetActiveUser()->email(),
+ SaveUserDisplayName(GetActiveUser()->GetAccountId(),
GetActiveUser()->GetDisplayName());
}
- GetUserImageManager(user_id)->UserLoggedIn(IsCurrentUserNew(), true);
+ GetUserImageManager(account_id)->UserLoggedIn(IsCurrentUserNew(), true);
WallpaperManager::Get()->EnsureLoggedInUserWallpaperLoaded();
// Make sure that new data is persisted to Local State.
@@ -732,8 +735,8 @@ void ChromeUserManagerImpl::SupervisedUserLoggedIn(const std::string& user_id) {
}
bool ChromeUserManagerImpl::HasPendingBootstrap(
- const std::string& user_id) const {
- return bootstrap_manager_->HasPendingBootstrap(user_id);
+ const AccountId& account_id) const {
+ return bootstrap_manager_->HasPendingBootstrap(account_id.GetUserEmail());
}
void ChromeUserManagerImpl::PublicAccountUserLoggedIn(
@@ -744,18 +747,20 @@ void ChromeUserManagerImpl::PublicAccountUserLoggedIn(
// The UserImageManager chooses a random avatar picture when a user logs in
// for the first time. Tell the UserImageManager that this user is not new to
// prevent the avatar from getting changed.
- GetUserImageManager(user->email())->UserLoggedIn(false, true);
+ GetUserImageManager(user->GetAccountId())->UserLoggedIn(false, true);
WallpaperManager::Get()->EnsureLoggedInUserWallpaperLoaded();
}
-void ChromeUserManagerImpl::KioskAppLoggedIn(const std::string& app_id) {
+void ChromeUserManagerImpl::KioskAppLoggedIn(
+ const AccountId& kiosk_app_account_id) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
policy::DeviceLocalAccount::Type device_local_account_type;
- DCHECK(policy::IsDeviceLocalAccountUser(app_id, &device_local_account_type));
+ DCHECK(policy::IsDeviceLocalAccountUser(kiosk_app_account_id.GetUserEmail(),
+ &device_local_account_type));
DCHECK_EQ(policy::DeviceLocalAccount::TYPE_KIOSK_APP,
device_local_account_type);
- active_user_ = user_manager::User::CreateKioskAppUser(app_id);
+ active_user_ = user_manager::User::CreateKioskAppUser(kiosk_app_account_id);
active_user_->SetStubImage(
user_manager::UserImage(
*ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
@@ -763,7 +768,8 @@ void ChromeUserManagerImpl::KioskAppLoggedIn(const std::string& app_id) {
user_manager::User::USER_IMAGE_INVALID,
false);
- WallpaperManager::Get()->SetUserWallpaperNow(app_id);
+ WallpaperManager::Get()->SetUserWallpaperNow(
+ kiosk_app_account_id.GetUserEmail());
// TODO(bartfab): Add KioskAppUsers to the users_ list and keep metadata like
// the kiosk_app_id in these objects, removing the need to re-parse the
@@ -775,22 +781,23 @@ void ChromeUserManagerImpl::KioskAppLoggedIn(const std::string& app_id) {
device_local_accounts.begin();
it != device_local_accounts.end();
++it) {
- if (it->user_id == app_id) {
+ if (it->user_id == kiosk_app_account_id.GetUserEmail()) {
account = &*it;
break;
}
}
- std::string kiosk_app_id;
+ std::string kiosk_app_name;
if (account) {
- kiosk_app_id = account->kiosk_app_id;
+ kiosk_app_name = account->kiosk_app_id;
} else {
- LOG(ERROR) << "Logged into nonexistent kiosk-app account: " << app_id;
+ LOG(ERROR) << "Logged into nonexistent kiosk-app account: "
+ << kiosk_app_account_id.GetUserEmail();
NOTREACHED();
}
base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
command_line->AppendSwitch(::switches::kForceAppMode);
- command_line->AppendSwitchASCII(::switches::kAppId, kiosk_app_id);
+ command_line->AppendSwitchASCII(::switches::kAppId, kiosk_app_name);
// Disable window animation since kiosk app runs in a single full screen
// window and window animation causes start-up janks.
@@ -799,8 +806,7 @@ void ChromeUserManagerImpl::KioskAppLoggedIn(const std::string& app_id) {
void ChromeUserManagerImpl::DemoAccountLoggedIn() {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
- active_user_ = user_manager::User::CreateKioskAppUser(
- login::DemoAccountId().GetUserEmail());
+ active_user_ = user_manager::User::CreateKioskAppUser(login::DemoAccountId());
active_user_->SetStubImage(
user_manager::UserImage(
*ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
@@ -848,17 +854,17 @@ void ChromeUserManagerImpl::UpdateOwnership() {
}
void ChromeUserManagerImpl::RemoveNonCryptohomeData(
- const std::string& user_id) {
- ChromeUserManager::RemoveNonCryptohomeData(user_id);
+ const AccountId& account_id) {
+ ChromeUserManager::RemoveNonCryptohomeData(account_id);
- WallpaperManager::Get()->RemoveUserWallpaperInfo(user_id);
- GetUserImageManager(user_id)->DeleteUserImage();
+ WallpaperManager::Get()->RemoveUserWallpaperInfo(account_id.GetUserEmail());
+ GetUserImageManager(account_id)->DeleteUserImage();
- supervised_user_manager_->RemoveNonCryptohomeData(user_id);
+ supervised_user_manager_->RemoveNonCryptohomeData(account_id.GetUserEmail());
- multi_profile_user_controller_->RemoveCachedValues(user_id);
+ multi_profile_user_controller_->RemoveCachedValues(account_id.GetUserEmail());
- EasyUnlockService::ResetLocalStateForUser(user_id);
+ EasyUnlockService::ResetLocalStateForUser(account_id.GetUserEmail());
}
void
@@ -872,7 +878,8 @@ ChromeUserManagerImpl::CleanUpPublicAccountNonCryptohomeDataPendingRemoval() {
return;
}
- RemoveNonCryptohomeData(public_account_pending_data_removal);
+ RemoveNonCryptohomeData(
+ AccountId::FromUserEmail(public_account_pending_data_removal));
local_state->ClearPref(kPublicAccountPendingDataRemoval);
}
@@ -902,7 +909,7 @@ void ChromeUserManagerImpl::CleanUpPublicAccountNonCryptohomeData(
it != old_public_accounts.end();
++it) {
if (users.find(*it) == users.end())
- RemoveNonCryptohomeData(*it);
+ RemoveNonCryptohomeData(AccountId::FromUserEmail(*it));
}
}
@@ -975,8 +982,8 @@ bool ChromeUserManagerImpl::UpdateAndCleanUpPublicAccounts(
if (IsLoggedInAsPublicAccount() && *it == GetActiveUser()->email())
users_.insert(users_.begin(), GetLoggedInUser());
else
- users_.insert(users_.begin(),
- user_manager::User::CreatePublicAccountUser(*it));
+ users_.insert(users_.begin(), user_manager::User::CreatePublicAccountUser(
+ AccountId::FromUserEmail(*it)));
UpdatePublicAccountDisplayName(*it);
}
@@ -985,7 +992,7 @@ bool ChromeUserManagerImpl::UpdateAndCleanUpPublicAccounts(
ue = users_.begin() + new_public_accounts.size();
ui != ue;
++ui) {
- GetUserImageManager((*ui)->email())->LoadUserImage();
+ GetUserImageManager((*ui)->GetAccountId())->LoadUserImage();
}
// Remove data belonging to public accounts that are no longer found on the
@@ -1007,34 +1014,36 @@ void ChromeUserManagerImpl::UpdatePublicAccountDisplayName(
}
// Set or clear the display name.
- SaveUserDisplayName(user_id, base::UTF8ToUTF16(display_name));
+ SaveUserDisplayName(AccountId::FromUserEmail(user_id),
+ base::UTF8ToUTF16(display_name));
}
UserFlow* ChromeUserManagerImpl::GetCurrentUserFlow() const {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
if (!IsUserLoggedIn())
return GetDefaultUserFlow();
- return GetUserFlow(GetLoggedInUser()->email());
+ return GetUserFlow(GetLoggedInUser()->GetAccountId());
}
-UserFlow* ChromeUserManagerImpl::GetUserFlow(const std::string& user_id) const {
+UserFlow* ChromeUserManagerImpl::GetUserFlow(
+ const AccountId& account_id) const {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
- FlowMap::const_iterator it = specific_flows_.find(user_id);
+ FlowMap::const_iterator it = specific_flows_.find(account_id);
if (it != specific_flows_.end())
return it->second;
return GetDefaultUserFlow();
}
-void ChromeUserManagerImpl::SetUserFlow(const std::string& user_id,
+void ChromeUserManagerImpl::SetUserFlow(const AccountId& account_id,
UserFlow* flow) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
- ResetUserFlow(user_id);
- specific_flows_[user_id] = flow;
+ ResetUserFlow(account_id);
+ specific_flows_[account_id] = flow;
}
-void ChromeUserManagerImpl::ResetUserFlow(const std::string& user_id) {
+void ChromeUserManagerImpl::ResetUserFlow(const AccountId& account_id) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
- FlowMap::iterator it = specific_flows_.find(user_id);
+ FlowMap::iterator it = specific_flows_.find(account_id);
if (it != specific_flows_.end()) {
delete it->second;
specific_flows_.erase(it);
@@ -1071,7 +1080,7 @@ void ChromeUserManagerImpl::NotifyUserAddedToSession(
// before the crash.
if (user_switch_pending &&
!UserSessionManager::GetInstance()->UserSessionsRestoreInProgress()) {
achuithb 2015/10/28 23:11:45 can probably drop {}
Alexander Alekseev 2015/10/29 02:00:40 Here is a multiline condition. I don't think this
- SetPendingUserSwitchID(added_user->email());
+ SetPendingUserSwitchId(added_user->GetAccountId());
}
UpdateNumberOfUsers();
@@ -1086,8 +1095,9 @@ void ChromeUserManagerImpl::OnUserNotAllowed(const std::string& user_email) {
void ChromeUserManagerImpl::RemovePendingBootstrapUser(
const std::string& user_id) {
- DCHECK(HasPendingBootstrap(user_id));
- RemoveNonOwnerUserInternal(user_id, NULL);
+ const AccountId account_id(AccountId::FromUserEmail(user_id));
+ DCHECK(HasPendingBootstrap(account_id));
+ RemoveNonOwnerUserInternal(account_id, nullptr);
}
void ChromeUserManagerImpl::UpdateNumberOfUsers() {
@@ -1141,7 +1151,8 @@ void ChromeUserManagerImpl::SetUserAffiliation(
const std::string& user_email,
const AffiliationIDSet& user_affiliation_ids) {
std::string canonicalized_email = FullyCanonicalize(user_email);
- user_manager::User* user = FindUserAndModify(canonicalized_email);
+ user_manager::User* user =
+ FindUserAndModify(AccountId::FromUserEmail(canonicalized_email));
if (user) {
policy::BrowserPolicyConnectorChromeOS const* const connector =

Powered by Google App Engine
This is Rietveld 408576698