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 6430ca7599385c5e82684ebe5c0f898b91d0d6d1..cac2b2e493d66a3808fa31329b610257c1b75c5f 100644 |
--- a/chrome/browser/chromeos/login/session/user_session_manager.cc |
+++ b/chrome/browser/chromeos/login/session/user_session_manager.cc |
@@ -1752,6 +1752,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"); |
@@ -1798,7 +1803,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()); |