Chromium Code Reviews| 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( |