Index: chrome/browser/profiles/profile_info_cache.h |
=================================================================== |
--- chrome/browser/profiles/profile_info_cache.h (revision 109887) |
+++ chrome/browser/profiles/profile_info_cache.h (working copy) |
@@ -12,7 +12,9 @@ |
#include "base/basictypes.h" |
#include "base/compiler_specific.h" |
#include "base/file_path.h" |
+#include "base/observer_list.h" |
#include "base/string16.h" |
+#include "chrome/browser/profiles/profile_info_cache_observer.h" |
#include "chrome/browser/profiles/profile_info_interface.h" |
namespace gfx { |
@@ -25,7 +27,6 @@ |
class PrefService; |
- |
// This class saves various information about profiles to local preferences. |
// This cache can be used to display a list of profiles without having to |
// actually load the profiles from disk. |
@@ -83,13 +84,22 @@ |
static bool IsDefaultAvatarIconUrl(const std::string& icon_url, |
size_t *icon_index); |
+ // Gets all names of profiles associated with this instance of Chrome. |
+ // Because this method will be called during uninstall, before the creation |
+ // of the ProfileManager, it reads directly from the local state preferences, |
+ // rather than going through the ProfileInfoCache object. |
+ static std::vector<string16> GetProfileNames(); |
sail
2011/11/18 07:14:25
How about just creating a new instance of ProfileI
Miranda Callahan
2011/11/18 19:00:36
I thought about that -- and was kind of torn! Here
|
+ |
// Register cache related preferences in Local State. |
static void RegisterPrefs(PrefService* prefs); |
+ void AddObserver(ProfileInfoCacheObserver* obs); |
+ void RemoveObserver(ProfileInfoCacheObserver* obs); |
+ |
private: |
const base::DictionaryValue* GetInfoForProfileAtIndex(size_t index) const; |
// Saves the profile info to a cache and takes ownership of |info|. |
- // Currently the only information that is cached is the profiles name, |
+ // Currently the only information that is cached is the profile's name, |
// user name, and avatar icon. |
void SetInfoForProfileAtIndex(size_t index, base::DictionaryValue* info); |
std::string CacheKeyFromProfilePath(const FilePath& profile_path) const; |
@@ -110,6 +120,8 @@ |
std::vector<std::string> sorted_keys_; |
FilePath user_data_dir_; |
+ ObserverList<ProfileInfoCacheObserver> observer_list_; |
+ |
DISALLOW_COPY_AND_ASSIGN(ProfileInfoCache); |
}; |