OLD | NEW |
---|---|
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 #include "chrome/browser/profiles/profile_manager.h" | 5 #include "chrome/browser/profiles/profile_manager.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 | 8 |
9 #include <set> | 9 #include <set> |
10 #include <string> | 10 #include <string> |
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
245 if ((*iter)->is_app() && | 245 if ((*iter)->is_app() && |
246 (*iter)->location() != extensions::Manifest::COMPONENT) { | 246 (*iter)->location() != extensions::Manifest::COMPONENT) { |
247 ++installed_apps; | 247 ++installed_apps; |
248 } | 248 } |
249 } | 249 } |
250 return installed_apps; | 250 return installed_apps; |
251 } | 251 } |
252 | 252 |
253 #endif // ENABLE_EXTENSIONS | 253 #endif // ENABLE_EXTENSIONS |
254 | 254 |
255 // Once a profile is loaded through LoadProfile this method is executed. | |
256 // It will then run |client_callback| with the right profile or NULL if it was | |
257 // unable to load it. | |
258 void OnProfileLoaded( | |
259 const ProfileManager::ProfileLoadedCallback& client_callback, | |
260 bool incognito, | |
261 Profile* profile, | |
262 Profile::CreateStatus status) { | |
263 if (status == Profile::CREATE_STATUS_CREATED) { | |
264 // This is an intermediate state, we will be also called | |
265 // again with CREATE_STATUS_INITIALIZED once everything is ready | |
266 // so ignore it. | |
Peter Beverloo
2016/03/11 17:45:15
nit: avoid "we".
// This is an intermediate s
Peter Beverloo
2016/03/11 17:45:15
nit: the description for this function does not ma
Miguel Garcia
2016/03/14 18:29:00
Done.
Miguel Garcia
2016/03/14 18:29:00
Done.
| |
267 return; | |
268 } | |
269 if (status != Profile::CREATE_STATUS_INITIALIZED) { | |
270 LOG(WARNING) << "Profile not loaded correctly"; | |
271 client_callback.Run(nullptr); | |
272 return; | |
273 } | |
274 DCHECK(profile); | |
275 client_callback.Run(incognito ? profile->GetOffTheRecordProfile() : profile); | |
276 } | |
255 } // namespace | 277 } // namespace |
256 | 278 |
257 ProfileManager::ProfileManager(const base::FilePath& user_data_dir) | 279 ProfileManager::ProfileManager(const base::FilePath& user_data_dir) |
258 : user_data_dir_(user_data_dir), | 280 : user_data_dir_(user_data_dir), |
259 logged_in_(false), | 281 logged_in_(false), |
260 #if !defined(OS_ANDROID) | 282 #if !defined(OS_ANDROID) |
261 browser_list_observer_(this), | 283 browser_list_observer_(this), |
262 #endif | 284 #endif |
263 closing_all_browsers_(false) { | 285 closing_all_browsers_(false) { |
264 #if defined(OS_CHROMEOS) | 286 #if defined(OS_CHROMEOS) |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
397 Profile* profile = GetProfileByPath(profile_dir); | 419 Profile* profile = GetProfileByPath(profile_dir); |
398 if (profile) | 420 if (profile) |
399 return profile; | 421 return profile; |
400 return CreateAndInitializeProfile(profile_dir); | 422 return CreateAndInitializeProfile(profile_dir); |
401 } | 423 } |
402 | 424 |
403 size_t ProfileManager::GetNumberOfProfiles() { | 425 size_t ProfileManager::GetNumberOfProfiles() { |
404 return GetProfileInfoCache().GetNumberOfProfiles(); | 426 return GetProfileInfoCache().GetNumberOfProfiles(); |
405 } | 427 } |
406 | 428 |
429 void ProfileManager::LoadProfile(const std::string& profile_name, | |
430 bool incognito, | |
431 const ProfileLoadedCallback& callback) { | |
432 const base::FilePath profile_path = user_data_dir().AppendASCII(profile_name); | |
433 | |
434 ProfileAttributesEntry* entry = nullptr; | |
435 if (!GetProfileAttributesStorage().GetProfileAttributesWithPath(profile_path, | |
436 &entry)) { | |
437 callback.Run(nullptr); | |
438 LOG(ERROR) << "Loading a profile path that does not exist"; | |
439 return; | |
440 } | |
441 CreateProfileAsync(profile_path, | |
442 base::Bind(&OnProfileLoaded, callback, incognito), | |
443 base::string16(), std::string(), std::string()); | |
Peter Beverloo
2016/03/11 17:45:15
nit: this would benefit from inline comments about
Miguel Garcia
2016/03/14 18:29:00
Done.
| |
444 } | |
445 | |
407 void ProfileManager::CreateProfileAsync( | 446 void ProfileManager::CreateProfileAsync( |
408 const base::FilePath& profile_path, | 447 const base::FilePath& profile_path, |
409 const CreateCallback& callback, | 448 const CreateCallback& callback, |
410 const base::string16& name, | 449 const base::string16& name, |
411 const std::string& icon_url, | 450 const std::string& icon_url, |
412 const std::string& supervised_user_id) { | 451 const std::string& supervised_user_id) { |
413 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 452 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
414 TRACE_EVENT1("browser,startup", | 453 TRACE_EVENT1("browser,startup", |
415 "ProfileManager::CreateProfileAsync", | 454 "ProfileManager::CreateProfileAsync", |
416 "profile_path", | 455 "profile_path", |
(...skipping 1138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1555 | 1594 |
1556 FinishDeletingProfile(profile_to_delete_path, new_active_profile_path); | 1595 FinishDeletingProfile(profile_to_delete_path, new_active_profile_path); |
1557 if (!original_callback.is_null()) | 1596 if (!original_callback.is_null()) |
1558 original_callback.Run(loaded_profile, status); | 1597 original_callback.Run(loaded_profile, status); |
1559 } | 1598 } |
1560 #endif // !defined(OS_ANDROID) | 1599 #endif // !defined(OS_ANDROID) |
1561 | 1600 |
1562 ProfileManagerWithoutInit::ProfileManagerWithoutInit( | 1601 ProfileManagerWithoutInit::ProfileManagerWithoutInit( |
1563 const base::FilePath& user_data_dir) : ProfileManager(user_data_dir) { | 1602 const base::FilePath& user_data_dir) : ProfileManager(user_data_dir) { |
1564 } | 1603 } |
OLD | NEW |