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

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

Issue 14028010: CrOS multi-profiles ProfileManager changes (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix tests Created 7 years, 8 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 | Annotate | Revision Log
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 <list> 10 #include <list>
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 73
74 // Explicit asynchronous creation of a profile located at |profile_path|. 74 // Explicit asynchronous creation of a profile located at |profile_path|.
75 // If the profile has already been created then callback is called 75 // If the profile has already been created then callback is called
76 // immediately. Should be called on the UI thread. 76 // immediately. Should be called on the UI thread.
77 void CreateProfileAsync(const base::FilePath& profile_path, 77 void CreateProfileAsync(const base::FilePath& profile_path,
78 const CreateCallback& callback, 78 const CreateCallback& callback,
79 const string16& name, 79 const string16& name,
80 const string16& icon_url, 80 const string16& icon_url,
81 bool is_managed); 81 bool is_managed);
82 82
83 // Initiates default profile creation. If default profile has already been 83 // Initiates profile creation identified by |active_profile_username_hash_|.
84 // created then the callback is called immediately. Should be called on the 84 // If profile has already been created then the callback is called
85 // UI thread. 85 // immediately. Should be called on the UI thread.
86 // This method is only used on Chrome OS where every user profile
87 // has username_hash associated with it.
86 static void CreateDefaultProfileAsync(const CreateCallback& callback); 88 static void CreateDefaultProfileAsync(const CreateCallback& callback);
87 89
88 // Returns true if the profile pointer is known to point to an existing 90 // Returns true if the profile pointer is known to point to an existing
89 // profile. 91 // profile.
90 bool IsValidProfile(Profile* profile); 92 bool IsValidProfile(Profile* profile);
91 93
92 // Returns the directory where the first created profile is stored, 94 // Returns the directory where the first created profile is stored,
93 // relative to the user data directory currently in use.. 95 // relative to the user data directory currently in use..
94 base::FilePath GetInitialProfileDir(); 96 base::FilePath GetInitialProfileDir();
95 97
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after
349 BrowserListObserver browser_list_observer_; 351 BrowserListObserver browser_list_observer_;
350 #endif // !defined(OS_ANDROID) && !defined(OS_IOS) 352 #endif // !defined(OS_ANDROID) && !defined(OS_IOS)
351 353
352 // For keeping track of the last active profiles. 354 // For keeping track of the last active profiles.
353 std::map<Profile*, int> browser_counts_; 355 std::map<Profile*, int> browser_counts_;
354 // On startup we launch the active profiles in the order they became active 356 // On startup we launch the active profiles in the order they became active
355 // during the last run. This is why they are kept in a list, not in a set. 357 // during the last run. This is why they are kept in a list, not in a set.
356 std::vector<Profile*> active_profiles_; 358 std::vector<Profile*> active_profiles_;
357 bool closing_all_browsers_; 359 bool closing_all_browsers_;
358 360
361 #if defined(OS_CHROMEOS)
362 // Identifies active profile on Chrome OS.
363 std::string active_profile_username_hash_;
364 #endif
365
359 DISALLOW_COPY_AND_ASSIGN(ProfileManager); 366 DISALLOW_COPY_AND_ASSIGN(ProfileManager);
360 }; 367 };
361 368
362 // Same as the ProfileManager, but doesn't initialize some services of the 369 // Same as the ProfileManager, but doesn't initialize some services of the
363 // profile. This one is useful in unittests. 370 // profile. This one is useful in unittests.
364 class ProfileManagerWithoutInit : public ProfileManager { 371 class ProfileManagerWithoutInit : public ProfileManager {
365 public: 372 public:
366 explicit ProfileManagerWithoutInit(const base::FilePath& user_data_dir); 373 explicit ProfileManagerWithoutInit(const base::FilePath& user_data_dir);
367 374
368 protected: 375 protected:
369 virtual void DoFinalInitForServices(Profile*, bool) OVERRIDE {} 376 virtual void DoFinalInitForServices(Profile*, bool) OVERRIDE {}
370 virtual void DoFinalInitLogging(Profile*) OVERRIDE {} 377 virtual void DoFinalInitLogging(Profile*) OVERRIDE {}
371 }; 378 };
372 379
373 #endif // CHROME_BROWSER_PROFILES_PROFILE_MANAGER_H_ 380 #endif // CHROME_BROWSER_PROFILES_PROFILE_MANAGER_H_
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/mock_user_manager.cc ('k') | chrome/browser/profiles/profile_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698