| Index: chrome/browser/profiles/profile_manager.h
|
| diff --git a/chrome/browser/profiles/profile_manager.h b/chrome/browser/profiles/profile_manager.h
|
| index 60e49e989f0406e0fd4bac11861bb6075972829b..ff28e3d1e6537440ad58ee5e5d2c92be1513dd34 100644
|
| --- a/chrome/browser/profiles/profile_manager.h
|
| +++ b/chrome/browser/profiles/profile_manager.h
|
| @@ -74,6 +74,11 @@ class ProfileManager : public base::NonThreadSafe,
|
| // Returns a profile for a specific profile directory within the user data
|
| // dir. This will return an existing profile it had already been created,
|
| // otherwise it will create and manage it.
|
| + // Because this method might synchronously create a new profile, it should
|
| + // only be called for the initial profile or in tests, where blocking is
|
| + // acceptable.
|
| + // TODO(bauerb): Migrate calls from other code to GetProfileByPath(), then
|
| + // make this method private.
|
| Profile* GetProfile(const base::FilePath& profile_dir);
|
|
|
| // Returns total number of profiles available on this machine.
|
| @@ -113,13 +118,13 @@ class ProfileManager : public base::NonThreadSafe,
|
| std::vector<Profile*> GetLastOpenedProfiles(
|
| const base::FilePath& user_data_dir);
|
|
|
| - // Returns created profiles. Note, profiles order is NOT guaranteed to be
|
| - // related with the creation order.
|
| + // Returns created and fully initialized profiles. Note, profiles order is NOT
|
| + // guaranteed to be related with the creation order.
|
| std::vector<Profile*> GetLoadedProfiles() const;
|
|
|
| - // If a profile with the given path is currently managed by this object,
|
| - // return a pointer to the corresponding Profile object;
|
| - // otherwise return NULL.
|
| + // If a profile with the given path is currently managed by this object and
|
| + // fully initialized, return a pointer to the corresponding Profile object;
|
| + // otherwise return null.
|
| Profile* GetProfileByPath(const base::FilePath& path) const;
|
|
|
| // Creates a new profile in the next available multiprofile directory.
|
| @@ -248,7 +253,7 @@ class ProfileManager : public base::NonThreadSafe,
|
| // and we can't create it.
|
| // The profile used can be overridden by using --login-profile on cros.
|
| Profile* GetActiveUserOrOffTheRecordProfileFromPath(
|
| - const base::FilePath& user_data_dir);
|
| + const base::FilePath& user_data_dir);
|
|
|
| // Adds a pre-existing Profile object to the set managed by this
|
| // ProfileManager. This ProfileManager takes ownership of the Profile.
|
| @@ -267,10 +272,15 @@ class ProfileManager : public base::NonThreadSafe,
|
| // entry.
|
| ProfileInfo* RegisterProfile(Profile* profile, bool created);
|
|
|
| - // Returns ProfileInfo associated with given |path|, registred earlier with
|
| + // Returns ProfileInfo associated with given |path|, registered earlier with
|
| // RegisterProfile.
|
| ProfileInfo* GetProfileInfoByPath(const base::FilePath& path) const;
|
|
|
| + // Returns a registered profile. In contrast to GetProfileByPath(), this will
|
| + // also return a profile that is not fully initialized yet, so this method
|
| + // should be used carefully.
|
| + Profile* GetProfileByPathInternal(const base::FilePath& path) const;
|
| +
|
| // Adds |profile| to the profile info cache if it hasn't been added yet.
|
| void AddProfileToCache(Profile* profile);
|
|
|
|
|