Index: chrome/browser/ui/startup/startup_browser_creator.cc |
diff --git a/chrome/browser/ui/startup/startup_browser_creator.cc b/chrome/browser/ui/startup/startup_browser_creator.cc |
index 295690e2afde26702b72264593bcd70ab0648474..787c352dea2bbeee8655291d7a683446351f0263 100644 |
--- a/chrome/browser/ui/startup/startup_browser_creator.cc |
+++ b/chrome/browser/ui/startup/startup_browser_creator.cc |
@@ -388,6 +388,16 @@ SessionStartupPref StartupBrowserCreator::GetSessionStartupPref( |
!profile->IsNewProfile()) { |
pref.type = SessionStartupPref::LAST; |
} |
+ |
+ // A browser starting for a profile being unlocked should always restore. |
+ if (!profile->IsGuestSession()) { |
+ ProfileInfoCache& info_cache = |
+ g_browser_process->profile_manager()->GetProfileInfoCache(); |
+ size_t index = info_cache.GetIndexOfProfileWithPath(profile->GetPath()); |
+ if (info_cache.ProfileIsSigninRequiredAtIndex(index)) |
+ pref.type = SessionStartupPref::LAST; |
+ } |
+ |
if (pref.type == SessionStartupPref::LAST && |
IncognitoModePrefs::ShouldLaunchIncognito(command_line, prefs)) { |
// We don't store session information when incognito. If the user has |