Index: chrome/browser/profiles/profile_info_cache.cc |
diff --git a/chrome/browser/profiles/profile_info_cache.cc b/chrome/browser/profiles/profile_info_cache.cc |
index a6f8d9abb02caa453cd2642ea2aa49105abb51bc..c0c013b15a241c393b0543450e41437f4f5ab7f3 100644 |
--- a/chrome/browser/profiles/profile_info_cache.cc |
+++ b/chrome/browser/profiles/profile_info_cache.cc |
@@ -611,11 +611,21 @@ void ProfileInfoCache::SetGAIAGivenNameOfProfileAtIndex( |
if (name == GetGAIAGivenNameOfProfileAtIndex(index)) |
return; |
+ base::string16 old_display_name = GetNameOfProfileAtIndex(index); |
scoped_ptr<base::DictionaryValue> info( |
GetInfoForProfileAtIndex(index)->DeepCopy()); |
info->SetString(kGAIAGivenNameKey, name); |
// This takes ownership of |info|. |
SetInfoForProfileAtIndex(index, info.release()); |
+ base::string16 new_display_name = GetNameOfProfileAtIndex(index); |
+ base::FilePath profile_path = GetPathOfProfileAtIndex(index); |
+ UpdateSortForProfileIndex(index); |
+ |
+ if (old_display_name != new_display_name) { |
+ FOR_EACH_OBSERVER(ProfileInfoCacheObserver, |
+ observer_list_, |
+ OnProfileNameChanged(profile_path, old_display_name)); |
+ } |
} |
void ProfileInfoCache::SetGAIAPictureOfProfileAtIndex(size_t index, |