Index: chrome/browser/profiles/gaia_info_update_service.cc |
diff --git a/chrome/browser/profiles/gaia_info_update_service.cc b/chrome/browser/profiles/gaia_info_update_service.cc |
index 79013032160e8f029002affc530edc5b546352c9..1c4e64e48d5c83256332f6dfd7d789526991a52f 100644 |
--- a/chrome/browser/profiles/gaia_info_update_service.cc |
+++ b/chrome/browser/profiles/gaia_info_update_service.cc |
@@ -114,40 +114,38 @@ void GAIAInfoUpdateService::OnProfileDownloadSuccess( |
ProfileInfoCache& cache = |
g_browser_process->profile_manager()->GetProfileInfoCache(); |
- size_t profile_index = cache.GetIndexOfProfileWithPath(profile_->GetPath()); |
- if (profile_index == std::string::npos) |
+ |
+ ProfileInfoEntry entry; |
+ if (!cache.GetInfoForProfile(profile_->GetPath(), &entry)) |
return; |
- cache.SetGAIANameOfProfileAtIndex(profile_index, full_name); |
- cache.SetGAIAGivenNameOfProfileAtIndex(profile_index, given_name); |
+ entry.set_GAIA_full_name(full_name); |
+ entry.set_GAIA_given_name(given_name); |
- // The profile index may have changed. |
- profile_index = cache.GetIndexOfProfileWithPath(profile_->GetPath()); |
- if (profile_index == std::string::npos) |
- return; |
if (picture_status == ProfileDownloader::PICTURE_SUCCESS) { |
profile_->GetPrefs()->SetString(prefs::kProfileGAIAInfoPictureURL, |
picture_url); |
gfx::Image gfx_image = gfx::Image::CreateFrom1xBitmap(bitmap); |
- cache.SetGAIAPictureOfProfileAtIndex(profile_index, &gfx_image); |
+ cache.SetGAIAPictureOfProfile(entry.path(), &gfx_image); |
} else if (picture_status == ProfileDownloader::PICTURE_DEFAULT) { |
- cache.SetGAIAPictureOfProfileAtIndex(profile_index, NULL); |
+ cache.SetGAIAPictureOfProfile(entry.path(), NULL); |
} |
// If this profile hasn't switched to using GAIA information for the profile |
// name and picture then switch it now. Once the profile has switched this |
// preference guards against clobbering the user's custom settings. |
- if (!cache.GetHasMigratedToGAIAInfoOfProfileAtIndex(profile_index)) { |
- cache.SetHasMigratedToGAIAInfoOfProfileAtIndex(profile_index, true); |
+ if (!entry.has_migrated_to_GAIA_info_of_profile()) { |
+ entry.set_has_migrated_to_GAIA_info_of_profile(true); |
// Order matters here for shortcut management, like in |
// ProfileShortcutManagerWin::OnProfileAdded, as the picture update does not |
// allow us to change the target, so we have to apply any renaming first. We |
// also need to re-fetch the index, as SetIsUsingGAIANameOfProfileAtIndex |
// may alter it. |
- cache.SetIsUsingGAIANameOfProfileAtIndex(profile_index, true); |
- profile_index = cache.GetIndexOfProfileWithPath(profile_->GetPath()); |
- cache.SetIsUsingGAIAPictureOfProfileAtIndex(profile_index, true); |
+ entry.set_is_using_GAIA_name(true); |
+ entry.set_is_using_GAIA_picture(true); |
} |
+ |
+ cache.SetInfoForProfile(entry); |
} |
void GAIAInfoUpdateService::OnProfileDownloadFailure( |
@@ -165,20 +163,18 @@ void GAIAInfoUpdateService::OnProfileDownloadFailure( |
void GAIAInfoUpdateService::OnUsernameChanged() { |
ProfileInfoCache& cache = |
g_browser_process->profile_manager()->GetProfileInfoCache(); |
- size_t profile_index = cache.GetIndexOfProfileWithPath(profile_->GetPath()); |
- if (profile_index == std::string::npos) |
+ |
+ ProfileInfoEntry entry; |
+ if (!cache.GetInfoForProfile(profile_->GetPath(), &entry)) |
return; |
std::string username = profile_->GetPrefs()->GetString( |
prefs::kGoogleServicesUsername); |
if (username.empty()) { |
// Unset the old user's GAIA info. |
- cache.SetGAIANameOfProfileAtIndex(profile_index, string16()); |
- // The profile index may have changed. |
- profile_index = cache.GetIndexOfProfileWithPath(profile_->GetPath()); |
- if (profile_index == std::string::npos) |
- return; |
- cache.SetGAIAPictureOfProfileAtIndex(profile_index, NULL); |
+ entry.set_GAIA_full_name(string16()); |
+ cache.SetGAIAPictureOfProfile(entry.path(), NULL); |
+ cache.SetInfoForProfile(entry); |
// Unset the cached URL. |
profile_->GetPrefs()->ClearPref(prefs::kProfileGAIAInfoPictureURL); |
} else { |