Index: chrome/browser/ui/startup/startup_browser_creator_impl.cc |
diff --git a/chrome/browser/ui/startup/startup_browser_creator_impl.cc b/chrome/browser/ui/startup/startup_browser_creator_impl.cc |
index 3a7b5c32a9b8dcf15459b57acab0c990bc7198e0..3bfda53764e774e57d108bb19c91caecd0ad9b68 100644 |
--- a/chrome/browser/ui/startup/startup_browser_creator_impl.cc |
+++ b/chrome/browser/ui/startup/startup_browser_creator_impl.cc |
@@ -32,6 +32,7 @@ |
#include "chrome/browser/defaults.h" |
#include "chrome/browser/extensions/extension_creator.h" |
#include "chrome/browser/extensions/extension_service.h" |
+#include "chrome/browser/extensions/extension_system.h" |
#include "chrome/browser/extensions/pack_extension_job.h" |
#include "chrome/browser/first_run/first_run.h" |
#include "chrome/browser/google/google_util.h" |
@@ -389,6 +390,13 @@ bool StartupBrowserCreatorImpl::Launch(Profile* profile, |
ShellIntegration::MigrateChromiumShortcuts(); |
#endif // defined(OS_WIN) |
+ // If we deferred creation of background extension hosts, we want to create |
+ // them now that the session (if any) has been restored. |
+ ExtensionProcessManager* process_manager = |
+ extensions::ExtensionSystem::Get(profile)->process_manager(); |
+ process_manager->DeferBackgroundHostCreation(false); |
+ process_manager->CreateDeferredBackgroundHosts(); |
+ |
return true; |
} |