Index: chrome/browser/chromeos/login/session/user_session_manager.cc |
diff --git a/chrome/browser/chromeos/login/session/user_session_manager.cc b/chrome/browser/chromeos/login/session/user_session_manager.cc |
index abb9800fe02076957094ae59cd1ff309fa824b9d..6a321f9914c931eede8c8b220ad176cb924097a4 100644 |
--- a/chrome/browser/chromeos/login/session/user_session_manager.cc |
+++ b/chrome/browser/chromeos/login/session/user_session_manager.cc |
@@ -1742,6 +1742,11 @@ void UserSessionManager::DoBrowserLaunchInternal(Profile* profile, |
BootTimesRecorder::Get()->AddLoginTimeMarker("BrowserLaunched", false); |
+ // Mark user session as started before creating browser window. Otherwise, |
+ // ash would not activate the created browser window because it thinks |
+ // user session is blocked. |
+ session_manager::SessionManager::Get()->SessionStarted(); |
+ |
VLOG(1) << "Launching browser..."; |
TRACE_EVENT0("login", "LaunchBrowser"); |
@@ -1788,7 +1793,6 @@ void UserSessionManager::DoBrowserLaunchInternal(Profile* profile, |
// browser before it is dereferenced by the login host. |
if (login_host) |
login_host->Finalize(); |
- session_manager::SessionManager::Get()->SessionStarted(); |
chromeos::BootTimesRecorder::Get()->LoginDone( |
user_manager::UserManager::Get()->IsCurrentUserNew()); |