Index: chrome/browser/profiles/profile_manager.h |
=================================================================== |
--- chrome/browser/profiles/profile_manager.h (revision 111142) |
+++ chrome/browser/profiles/profile_manager.h (working copy) |
@@ -24,13 +24,17 @@ |
#include "content/public/browser/notification_observer.h" |
#include "content/public/browser/notification_registrar.h" |
+#if defined(OS_WIN) |
+#include "chrome/browser/profiles/profile_shortcut_manager_win.h" |
+#endif |
+ |
class NewProfileLauncher; |
class ProfileInfoCache; |
class ProfileManagerObserver { |
public: |
enum Status { |
- // So epic. |
+ // Asynchronous Profile services were not created. |
STATUS_FAIL, |
// Profile created but before initializing extensions and promo resources. |
STATUS_CREATED, |
@@ -190,6 +194,11 @@ |
// for testing. If |addToCache|, add to ProfileInfoCache as well. |
void RegisterTestingProfile(Profile* profile, bool addToCache); |
+#if defined(OS_WIN) |
+ // Remove the shortcut manager for testing. |
+ void RemoveProfileShortcutManagerForTesting(); |
+#endif |
+ |
const FilePath& user_data_dir() const { return user_data_dir_; } |
protected: |
@@ -243,7 +252,7 @@ |
const ProfileManager::ProfilePathAndName& pair1, |
const ProfileManager::ProfilePathAndName& pair2); |
- // Adds |profile| to the profile info cache if it's not already there. |
+ // Adds |profile| to the profile info cache if it hasn't been added yet. |
void AddProfileToCache(Profile* profile); |
// For ChromeOS, determines if profile should be otr. |
@@ -270,13 +279,22 @@ |
bool will_import_; |
// Maps profile path to ProfileInfo (if profile has been created). Use |
- // RegisterProfile() to add into this map. |
+ // RegisterProfile() to add into this map. This map owns all loaded profile |
+ // objects in a running instance of Chrome. |
typedef std::map<FilePath, linked_ptr<ProfileInfo> > ProfilesInfoMap; |
ProfilesInfoMap profiles_info_; |
- // Object to cache various information about profiles. |
+ // Object to cache various information about profiles. Contains information |
+ // about every profile which has been created for this instance of Chrome, |
+ // if it has not been explicitly deleted. |
scoped_ptr<ProfileInfoCache> profile_info_cache_; |
+#if defined(OS_WIN) |
+ // Manages the creation, deletion, and renaming of Windows shortcuts by |
+ // observing the ProfileInfoCache. |
+ scoped_ptr<ProfileShortcutManagerWin> profile_shortcut_manager_; |
+#endif |
+ |
DISALLOW_COPY_AND_ASSIGN(ProfileManager); |
}; |