Index: chrome/browser/profiles/profile_manager.cc |
diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profiles/profile_manager.cc |
index 5e02bee7af2c79596de38be0bce4e63ec5fa946c..b0231dd6c969424f3b4730b4c940ad652aac9d07 100644 |
--- a/chrome/browser/profiles/profile_manager.cc |
+++ b/chrome/browser/profiles/profile_manager.cc |
@@ -420,8 +420,8 @@ void ProfileManager::CreateProfileAsync( |
std::string icon_url_std = base::UTF16ToASCII(icon_url); |
if (profiles::IsDefaultAvatarIconUrl(icon_url_std, &icon_index)) { |
// add profile to cache with user selected name and avatar |
- cache.AddProfileToCache(profile_path, name, base::string16(), icon_index, |
- supervised_user_id); |
+ cache.AddProfileToCache(profile_path, name, std::string(), |
+ base::string16(), icon_index, supervised_user_id); |
} |
if (!supervised_user_id.empty()) { |
@@ -1203,9 +1203,8 @@ void ProfileManager::FinishDeletingProfile( |
profile)->DisableForUser(); |
} |
- bool profile_is_signed_in = !cache.GetUserNameOfProfileAtIndex( |
- cache.GetIndexOfProfileWithPath(profile_dir)).empty(); |
- ProfileMetrics::LogProfileDelete(profile_is_signed_in); |
+ ProfileMetrics::LogProfileDelete(cache.ProfileIsAuthenticatedAtIndex( |
+ cache.GetIndexOfProfileWithPath(profile_dir))); |
// Some platforms store passwords in keychains. They should be removed. |
scoped_refptr<password_manager::PasswordStore> password_store = |
PasswordStoreFactory::GetForProfile( |
@@ -1257,13 +1256,18 @@ void ProfileManager::AddProfileToCache(Profile* profile) { |
SigninManagerBase* signin_manager = |
SigninManagerFactory::GetForProfile(profile); |
- base::string16 username = base::UTF8ToUTF16( |
- signin_manager->GetAuthenticatedUsername()); |
+ AccountTrackerService* account_tracker = |
+ AccountTrackerServiceFactory::GetForProfile(profile); |
+ AccountTrackerService::AccountInfo account_info = |
+ account_tracker->GetAccountInfo( |
+ signin_manager->GetAuthenticatedAccountId()); |
+ base::string16 username = base::UTF8ToUTF16(account_info.email); |
size_t profile_index = cache.GetIndexOfProfileWithPath(profile->GetPath()); |
if (profile_index != std::string::npos) { |
- // The ProfileInfoCache's username must match the Signin Manager's username. |
- cache.SetUserNameOfProfileAtIndex(profile_index, username); |
+ // The ProfileInfoCache's info must match the Signin Manager. |
+ cache.SetAuthInfoOfProfileAtIndex(profile_index, account_info.gaia, |
+ username); |
return; |
} |
@@ -1280,6 +1284,7 @@ void ProfileManager::AddProfileToCache(Profile* profile) { |
cache.AddProfileToCache(profile->GetPath(), |
profile_name, |
+ account_info.gaia, |
username, |
icon_index, |
supervised_user_id); |