Index: chrome/browser/profiles/profile_window.cc |
diff --git a/chrome/browser/profiles/profile_window.cc b/chrome/browser/profiles/profile_window.cc |
index 10b48e19cd03d7fa56cab89d3d442126198abc31..36986301a70aa83c01f6edd6ae593044375f48d6 100644 |
--- a/chrome/browser/profiles/profile_window.cc |
+++ b/chrome/browser/profiles/profile_window.cc |
@@ -259,25 +259,36 @@ void CreateAndSwitchToNewProfile(chrome::HostDesktopType desktop_type, |
ProfileMetrics::LogProfileAddNewUser(metric); |
} |
+void GuestBrowserCloseSuccess(const size_t profile_index) { |
+ chrome::ShowUserManager(base::FilePath()); |
+} |
+ |
void CloseGuestProfileWindows() { |
ProfileManager* profile_manager = g_browser_process->profile_manager(); |
Profile* profile = profile_manager->GetProfileByPath( |
ProfileManager::GetGuestProfilePath()); |
if (profile) { |
- BrowserList::CloseAllBrowsersWithProfile(profile); |
+ BrowserList::CloseAllBrowsersWithProfile(profile, |
+ base::Bind(&GuestBrowserCloseSuccess)); |
Peter Kasting
2014/08/28 18:46:12
Nit: All lines of args should be aligned (multiple
Mike Lerman
2014/08/29 18:02:20
Done.
|
} |
} |
-void LockProfile(Profile* profile) { |
- DCHECK(profile); |
+void LockBrowserCloseSuccess(const size_t profile_index) { |
noms (inactive)
2014/08/28 19:22:29
I think it would be better if this took the profil
Mike Lerman
2014/08/29 18:02:21
Done.
|
ProfileInfoCache& cache = |
Peter Kasting
2014/08/28 18:46:12
Nit: Use pointers or const refs rather than non-co
Mike Lerman
2014/08/29 18:02:20
Done.
|
g_browser_process->profile_manager()->GetProfileInfoCache(); |
+ DCHECK_LT(profile_index, cache.GetNumberOfProfiles()); |
+ |
+ cache.SetProfileSigninRequiredAtIndex(profile_index, true); |
+ chrome::ShowUserManager(cache.GetPathOfProfileAtIndex(profile_index)); |
+} |
- size_t index = cache.GetIndexOfProfileWithPath(profile->GetPath()); |
- cache.SetProfileSigninRequiredAtIndex(index, true); |
- chrome::ShowUserManager(profile->GetPath()); |
- BrowserList::CloseAllBrowsersWithProfile(profile); |
+void LockProfile(Profile* profile) { |
+ DCHECK(profile); |
+ if (profile) { |
+ BrowserList::CloseAllBrowsersWithProfile(profile, |
+ base::Bind(&LockBrowserCloseSuccess)); |
+ } |
} |
void CreateGuestProfileForUserManager( |