Index: chrome/browser/profiles/profile_impl.cc |
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc |
index 03d8ff3f37acab890adfa982e2b42bc4b0e9cb25..e13af7ed29e42ec3bbc33367abc3cdd10f1d52a5 100644 |
--- a/chrome/browser/profiles/profile_impl.cc |
+++ b/chrome/browser/profiles/profile_impl.cc |
@@ -644,6 +644,16 @@ void ProfileImpl::DoFinalInit() { |
dom_distiller::RegisterViewerSource(this); |
#if defined(OS_CHROMEOS) |
+ // Finished profile initialization - let the UserManager know so it can |
+ // mark the session as initialized. Need to do this before we restart below |
+ // so we don't get in a weird state where we restart before the session is |
+ // marked as initialized and so try to initialize it again. |
+ if (!chromeos::ProfileHelper::IsSigninProfile(this)) { |
+ chromeos::ProfileHelper* profile_helper = chromeos::ProfileHelper::Get(); |
+ user_manager::UserManager::Get()->OnProfileInitialized( |
+ profile_helper->GetUserByProfile(this)); |
+ } |
+ |
if (chromeos::UserSessionManager::GetInstance() |
->RestartToApplyPerSessionFlagsIfNeed(this, true)) { |
return; |