OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 #pragma once | 9 #pragma once |
10 | 10 |
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
208 typedef std::vector<ProfilePathAndName> ProfilePathAndNames; | 208 typedef std::vector<ProfilePathAndName> ProfilePathAndNames; |
209 ProfilePathAndNames GetSortedProfilesFromDirectoryMap(); | 209 ProfilePathAndNames GetSortedProfilesFromDirectoryMap(); |
210 | 210 |
211 static bool CompareProfilePathAndName( | 211 static bool CompareProfilePathAndName( |
212 const ProfileManager::ProfilePathAndName& pair1, | 212 const ProfileManager::ProfilePathAndName& pair1, |
213 const ProfileManager::ProfilePathAndName& pair2); | 213 const ProfileManager::ProfilePathAndName& pair2); |
214 | 214 |
215 // Adds |profile| to the profile info cache if it's not already there. | 215 // Adds |profile| to the profile info cache if it's not already there. |
216 void AddProfileToCache(Profile* profile); | 216 void AddProfileToCache(Profile* profile); |
217 | 217 |
| 218 // For ChromeOS, determines if profile should be otr. |
| 219 bool ShouldGoOffTheRecord(); |
| 220 |
218 NotificationRegistrar registrar_; | 221 NotificationRegistrar registrar_; |
219 | 222 |
220 // Indicates that a user has logged in and that the profile specified | 223 // Indicates that a user has logged in and that the profile specified |
221 // in the --login-profile command line argument should be used as the | 224 // in the --login-profile command line argument should be used as the |
222 // default. | 225 // default. |
223 bool logged_in_; | 226 bool logged_in_; |
224 | 227 |
225 // Maps profile path to ProfileInfo (if profile has been created). Use | 228 // Maps profile path to ProfileInfo (if profile has been created). Use |
226 // RegisterProfile() to add into this map. | 229 // RegisterProfile() to add into this map. |
227 typedef std::map<FilePath, linked_ptr<ProfileInfo> > ProfilesInfoMap; | 230 typedef std::map<FilePath, linked_ptr<ProfileInfo> > ProfilesInfoMap; |
228 ProfilesInfoMap profiles_info_; | 231 ProfilesInfoMap profiles_info_; |
229 | 232 |
230 // Object to cache various information about profiles. | 233 // Object to cache various information about profiles. |
231 scoped_ptr<ProfileInfoCache> profile_info_cache_; | 234 scoped_ptr<ProfileInfoCache> profile_info_cache_; |
232 | 235 |
233 // Profiles that should be deleted on shutdown. | 236 // Profiles that should be deleted on shutdown. |
234 std::vector<FilePath> profiles_to_delete_; | 237 std::vector<FilePath> profiles_to_delete_; |
235 | 238 |
236 DISALLOW_COPY_AND_ASSIGN(ProfileManager); | 239 DISALLOW_COPY_AND_ASSIGN(ProfileManager); |
237 }; | 240 }; |
238 | 241 |
239 // Same as the ProfileManager, but doesn't initialize some services of the | 242 // Same as the ProfileManager, but doesn't initialize some services of the |
240 // profile. This one is useful in unittests. | 243 // profile. This one is useful in unittests. |
241 class ProfileManagerWithoutInit : public ProfileManager { | 244 class ProfileManagerWithoutInit : public ProfileManager { |
242 protected: | 245 protected: |
243 virtual void DoFinalInit(Profile*, bool) {} | 246 virtual void DoFinalInit(Profile*, bool) {} |
244 }; | 247 }; |
245 | 248 |
246 #endif // CHROME_BROWSER_PROFILES_PROFILE_MANAGER_H_ | 249 #endif // CHROME_BROWSER_PROFILES_PROFILE_MANAGER_H_ |
OLD | NEW |