Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(662)

Unified Diff: chrome/browser/profiles/profile_loader.h

Issue 16766003: Move ProfileLoader to chrome/browser/profiles. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Take AppShimHost changes out of this CL. Add profile_loader_unittest. Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/profiles/profile_loader.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/profiles/profile_loader.h
diff --git a/chrome/browser/ui/app_list/profile_loader.h b/chrome/browser/profiles/profile_loader.h
similarity index 55%
rename from chrome/browser/ui/app_list/profile_loader.h
rename to chrome/browser/profiles/profile_loader.h
index f2b12fdeda8675cc6270533c1483f99c50db36d9..cd973d424086cb8c722fafc7b462d4d8ceea7c10 100644
--- a/chrome/browser/ui/app_list/profile_loader.h
+++ b/chrome/browser/profiles/profile_loader.h
@@ -2,12 +2,13 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CHROME_BROWSER_UI_APP_LIST_PROFILE_LOADER_H_
-#define CHROME_BROWSER_UI_APP_LIST_PROFILE_LOADER_H_
+#ifndef CHROME_BROWSER_PROFILES_PROFILE_LOADER_H_
+#define CHROME_BROWSER_PROFILES_PROFILE_LOADER_H_
#include "base/callback.h"
#include "base/memory/weak_ptr.h"
#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/profiles/profile_manager.h"
namespace base {
class FilePath;
@@ -15,17 +16,32 @@ class FilePath;
class ProfileManager;
+// This class loads profiles asynchronously and calls the provided callback once
+// the profile is ready. Only the callback for the most recent load request is
sail 2013/06/14 17:05:46 Maybe mention that the callback is not called if l
jackhou1 2013/06/17 04:40:15 Done.
+// called. I.e. calling LoadProfileInvalidatingOtherLoads assumes you no longer
+// care about previous load requests.
class ProfileLoader {
public:
explicit ProfileLoader(ProfileManager* profile_manager);
~ProfileLoader();
- bool AnyProfilesLoading() const;
+ bool IsAnyProfileLoading() const;
void InvalidatePendingProfileLoads();
void LoadProfileInvalidatingOtherLoads(
const base::FilePath& profile_file_path,
base::Callback<void(Profile*)> callback);
+ protected:
+ // These just call through to the ProfileManager.
+ // Virtual so they can be mocked out in tests.
+ virtual Profile* GetProfileByPath(const base::FilePath& path);
+ virtual void CreateProfileAsync(
+ const base::FilePath& profile_path,
+ const ProfileManager::CreateCallback& callback,
+ const string16& name,
+ const string16& icon_url,
+ bool is_managed);
+
private:
void OnProfileLoaded(int profile_load_sequence_id,
base::Callback<void(Profile*)> callback,
@@ -35,7 +51,6 @@ class ProfileLoader {
void IncrementPendingProfileLoads();
void DecrementPendingProfileLoads();
- private:
ProfileManager* profile_manager_;
int profile_load_sequence_id_;
int pending_profile_loads_;
@@ -45,4 +60,4 @@ class ProfileLoader {
DISALLOW_COPY_AND_ASSIGN(ProfileLoader);
};
-#endif // CHROME_BROWSER_UI_APP_LIST_PROFILE_LOADER_H_
+#endif // CHROME_BROWSER_PROFILES_PROFILE_LOADER_H_
« no previous file with comments | « no previous file | chrome/browser/profiles/profile_loader.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698