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

Side by Side Diff: chrome/browser/profiles/profile_manager.h

Issue 1782443006: Create LoadProfile method in profile_manager (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // This class keeps track of the currently-active profiles in the runtime. 5 // This class keeps track of the currently-active profiles in the runtime.
6 6
7 #ifndef CHROME_BROWSER_PROFILES_PROFILE_MANAGER_H_ 7 #ifndef CHROME_BROWSER_PROFILES_PROFILE_MANAGER_H_
8 #define CHROME_BROWSER_PROFILES_PROFILE_MANAGER_H_ 8 #define CHROME_BROWSER_PROFILES_PROFILE_MANAGER_H_
9 9
10 #include <stddef.h> 10 #include <stddef.h>
(...skipping 17 matching lines...) Expand all
28 #include "content/public/browser/notification_registrar.h" 28 #include "content/public/browser/notification_registrar.h"
29 29
30 class NewProfileLauncher; 30 class NewProfileLauncher;
31 class ProfileInfoCache; 31 class ProfileInfoCache;
32 32
33 class ProfileManager : public base::NonThreadSafe, 33 class ProfileManager : public base::NonThreadSafe,
34 public content::NotificationObserver, 34 public content::NotificationObserver,
35 public Profile::Delegate { 35 public Profile::Delegate {
36 public: 36 public:
37 typedef base::Callback<void(Profile*, Profile::CreateStatus)> CreateCallback; 37 typedef base::Callback<void(Profile*, Profile::CreateStatus)> CreateCallback;
38 typedef base::Callback<void(Profile*)> ProfileLoadedCallback;
38 39
39 explicit ProfileManager(const base::FilePath& user_data_dir); 40 explicit ProfileManager(const base::FilePath& user_data_dir);
40 ~ProfileManager() override; 41 ~ProfileManager() override;
41 42
42 #if defined(ENABLE_SESSION_SERVICE) 43 #if defined(ENABLE_SESSION_SERVICE)
43 // Invokes SessionServiceFactory::ShutdownForProfile() for all profiles. 44 // Invokes SessionServiceFactory::ShutdownForProfile() for all profiles.
44 static void ShutdownSessionServices(); 45 static void ShutdownSessionServices();
45 #endif 46 #endif
46 47
47 // Physically remove deleted profile directories from disk. 48 // Physically remove deleted profile directories from disk.
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 // Because this method might synchronously create a new profile, it should 81 // Because this method might synchronously create a new profile, it should
81 // only be called for the initial profile or in tests, where blocking is 82 // only be called for the initial profile or in tests, where blocking is
82 // acceptable. 83 // acceptable.
83 // TODO(bauerb): Migrate calls from other code to GetProfileByPath(), then 84 // TODO(bauerb): Migrate calls from other code to GetProfileByPath(), then
84 // make this method private. 85 // make this method private.
85 Profile* GetProfile(const base::FilePath& profile_dir); 86 Profile* GetProfile(const base::FilePath& profile_dir);
86 87
87 // Returns total number of profiles available on this machine. 88 // Returns total number of profiles available on this machine.
88 size_t GetNumberOfProfiles(); 89 size_t GetNumberOfProfiles();
89 90
91 // Loads an existing profile given it's |profile_name|
92 // The profile is loaded asynchronously and |callback| is executed once it's
93 // loaded
94 // The callback will be executed with a NULL profile if there is an error.
95 // Should be called on the UI thread.
Peter Beverloo 2016/03/11 17:45:15 This should document |incognito| as well, have pro
Peter Beverloo 2016/03/11 17:45:15 Should we match GetProfile() above and swap out th
Miguel Garcia 2016/03/14 18:29:00 Done.
Miguel Garcia 2016/03/14 18:29:00 Let's let the owners decide. I am fine swapping it
96 void LoadProfile(const std::string& profile_name,
97 bool incognito,
98 const ProfileLoadedCallback& callback);
99
90 // Explicit asynchronous creation of a profile located at |profile_path|. 100 // Explicit asynchronous creation of a profile located at |profile_path|.
91 // If the profile has already been created then callback is called 101 // If the profile has already been created then callback is called
92 // immediately. Should be called on the UI thread. 102 // immediately. Should be called on the UI thread.
93 void CreateProfileAsync(const base::FilePath& profile_path, 103 void CreateProfileAsync(const base::FilePath& profile_path,
94 const CreateCallback& callback, 104 const CreateCallback& callback,
95 const base::string16& name, 105 const base::string16& name,
96 const std::string& icon_url, 106 const std::string& icon_url,
97 const std::string& supervised_user_id); 107 const std::string& supervised_user_id);
98 108
99 // Returns true if the profile pointer is known to point to an existing 109 // Returns true if the profile pointer is known to point to an existing
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after
389 class ProfileManagerWithoutInit : public ProfileManager { 399 class ProfileManagerWithoutInit : public ProfileManager {
390 public: 400 public:
391 explicit ProfileManagerWithoutInit(const base::FilePath& user_data_dir); 401 explicit ProfileManagerWithoutInit(const base::FilePath& user_data_dir);
392 402
393 protected: 403 protected:
394 void DoFinalInitForServices(Profile*, bool) override {} 404 void DoFinalInitForServices(Profile*, bool) override {}
395 void DoFinalInitLogging(Profile*) override {} 405 void DoFinalInitLogging(Profile*) override {}
396 }; 406 };
397 407
398 #endif // CHROME_BROWSER_PROFILES_PROFILE_MANAGER_H_ 408 #endif // CHROME_BROWSER_PROFILES_PROFILE_MANAGER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698