Index: chrome/browser/profiles/profile_impl.cc |
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc |
index aff0315d210c3d6617af7441f81d9fc4da843e84..649a8fa4f888a1dfb35a5c60f8d2dc9c27a56a66 100644 |
--- a/chrome/browser/profiles/profile_impl.cc |
+++ b/chrome/browser/profiles/profile_impl.cc |
@@ -484,6 +484,16 @@ void ProfileImpl::InitExtensions(bool extensions_enabled) { |
// Make the chrome://extension-icon/ resource available. |
GetChromeURLDataManager()->AddDataSource(new ExtensionIconSource(this)); |
+ |
+ // Initialize extension event routers. Note that on Chrome OS, this will |
+ // not succeed if the user has not logged in yet, in which case the |
+ // event routers are initialized in LoginUtilsImpl::CompleteLogin instead. |
+ // The InitEventRouters call used to be in BrowserMain, because when bookmark |
+ // import happened on first run, the bookmark bar was not being correctly |
+ // initialized (see issue 40144). Now that bookmarks aren't imported and |
+ // the event routers need to be initialized for every profile individually, |
+ // initialize them with the extension service. |
+ extension_service_->InitEventRouters(); |
} |
void ProfileImpl::RegisterComponentExtensions() { |