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

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

Issue 12040085: Adding show profile switcher field trial. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 10 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 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 // profile specfic desktop shortcuts. 195 // profile specfic desktop shortcuts.
196 ProfileShortcutManager* profile_shortcut_manager(); 196 ProfileShortcutManager* profile_shortcut_manager();
197 197
198 // Schedules the profile at the given path to be deleted on shutdown. 198 // Schedules the profile at the given path to be deleted on shutdown.
199 void ScheduleProfileForDeletion(const FilePath& profile_dir, 199 void ScheduleProfileForDeletion(const FilePath& profile_dir,
200 chrome::HostDesktopType desktop_type); 200 chrome::HostDesktopType desktop_type);
201 201
202 // Checks if multiple profiles is enabled. 202 // Checks if multiple profiles is enabled.
203 static bool IsMultipleProfilesEnabled(); 203 static bool IsMultipleProfilesEnabled();
204 204
205 // Force IsMultipleProfilesEnabled to return a given value. For testing
206 // purposes.
207 static void ForceMultipleProfilesForTests(bool forcedValue);
208
209 // Lets IsMultipleProfilesEnabled behave in a normal, unforced way.
210 static void UnforceMultipleProfilesForTests();
211
205 // Autoloads profiles if they are running background apps. 212 // Autoloads profiles if they are running background apps.
206 void AutoloadProfiles(); 213 void AutoloadProfiles();
207 214
208 // Register and add testing profile to the ProfileManager. Use ONLY in tests. 215 // Register and add testing profile to the ProfileManager. Use ONLY in tests.
209 // This allows the creation of Profiles outside of the standard creation path 216 // This allows the creation of Profiles outside of the standard creation path
210 // for testing. If |addToCache|, add to ProfileInfoCache as well. 217 // for testing. If |addToCache|, add to ProfileInfoCache as well.
211 void RegisterTestingProfile(Profile* profile, bool addToCache); 218 void RegisterTestingProfile(Profile* profile, bool addToCache);
212 219
213 const FilePath& user_data_dir() const { return user_data_dir_; } 220 const FilePath& user_data_dir() const { return user_data_dir_; }
214 221
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
342 BrowserListObserver browser_list_observer_; 349 BrowserListObserver browser_list_observer_;
343 #endif // !defined(OS_ANDROID) && !defined(OS_IOS) 350 #endif // !defined(OS_ANDROID) && !defined(OS_IOS)
344 351
345 // For keeping track of the last active profiles. 352 // For keeping track of the last active profiles.
346 std::map<Profile*, int> browser_counts_; 353 std::map<Profile*, int> browser_counts_;
347 // On startup we launch the active profiles in the order they became active 354 // On startup we launch the active profiles in the order they became active
348 // during the last run. This is why they are kept in a list, not in a set. 355 // during the last run. This is why they are kept in a list, not in a set.
349 std::vector<Profile*> active_profiles_; 356 std::vector<Profile*> active_profiles_;
350 bool closing_all_browsers_; 357 bool closing_all_browsers_;
351 358
359 // For forcing IsMultiProfilesEnabled to the value of
360 // multiple_profiles_forced_value_. Used for testing.
361 static bool is_multiple_profiles_forced_;
sail 2013/01/31 17:15:23 maybe use an enum instead of 2 bools, something li
jwd 2013/01/31 19:26:11 Done. Kept the api the same though.
362
363 // The value returned by IsMultiProfilesEnabled when it's been forced. Used
364 // for testing.
365 static bool multiple_profiles_forced_value_;
366
352 DISALLOW_COPY_AND_ASSIGN(ProfileManager); 367 DISALLOW_COPY_AND_ASSIGN(ProfileManager);
353 }; 368 };
354 369
355 // Same as the ProfileManager, but doesn't initialize some services of the 370 // Same as the ProfileManager, but doesn't initialize some services of the
356 // profile. This one is useful in unittests. 371 // profile. This one is useful in unittests.
357 class ProfileManagerWithoutInit : public ProfileManager { 372 class ProfileManagerWithoutInit : public ProfileManager {
358 public: 373 public:
359 explicit ProfileManagerWithoutInit(const FilePath& user_data_dir); 374 explicit ProfileManagerWithoutInit(const FilePath& user_data_dir);
360 375
361 protected: 376 protected:
362 virtual void DoFinalInitForServices(Profile*, bool) OVERRIDE {} 377 virtual void DoFinalInitForServices(Profile*, bool) OVERRIDE {}
363 virtual void DoFinalInitLogging(Profile*) OVERRIDE {} 378 virtual void DoFinalInitLogging(Profile*) OVERRIDE {}
364 }; 379 };
365 380
366 #endif // CHROME_BROWSER_PROFILES_PROFILE_MANAGER_H_ 381 #endif // CHROME_BROWSER_PROFILES_PROFILE_MANAGER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698