Bug 1358921: Lazily load AboutHome.jsm when first needed. r=florian
MozReview-Commit-ID: 6pzUBmzoFDp
--- a/browser/components/nsBrowserGlue.js
+++ b/browser/components/nsBrowserGlue.js
@@ -39,17 +39,17 @@ XPCOMUtils.defineLazyServiceGetter(this,
/**
* IF YOU ADD OR REMOVE FROM THIS LIST, PLEASE UPDATE THE LIST ABOVE AS WELL.
* XXX Bug 1325373 is for making eslint detect these automatically.
*/
let initializedModules = {};
[
- ["AboutHome", "resource:///modules/AboutHome.jsm"],
+ ["AboutHome", "resource:///modules/AboutHome.jsm", "init"],
["AboutNewTab", "resource:///modules/AboutNewTab.jsm"],
["AddonManager", "resource://gre/modules/AddonManager.jsm"],
["AsyncShutdown", "resource://gre/modules/AsyncShutdown.jsm"],
["AutoCompletePopup", "resource://gre/modules/AutoCompletePopup.jsm"],
["BookmarkHTMLUtils", "resource://gre/modules/BookmarkHTMLUtils.jsm"],
["BookmarkJSONUtils", "resource://gre/modules/BookmarkJSONUtils.jsm"],
["BrowserUITelemetry", "resource:///modules/BrowserUITelemetry.jsm"],
["BrowserUsageTelemetry", "resource:///modules/BrowserUsageTelemetry.jsm"],
@@ -127,16 +127,18 @@ const listeners = {
},
ppmm: {
"webrtc:UpdateGlobalIndicators": ["webrtcUI"],
"webrtc:UpdatingIndicators": ["webrtcUI"],
},
mm: {
+ "AboutHome:MaybeShowAutoMigrationUndoNotification": ["AboutHome"],
+ "AboutHome:RequestUpdate": ["AboutHome"],
"rtcpeer:CancelRequest": ["webrtcUI"],
"rtcpeer:Request": ["webrtcUI"],
"webrtc:CancelRequest": ["webrtcUI"],
"webrtc:Request": ["webrtcUI"],
"webrtc:StopRecording": ["webrtcUI"],
"webrtc:UpdateBrowserIndicators": ["webrtcUI"],
},
@@ -567,18 +569,16 @@ BrowserGlue.prototype = {
// handle any UI migration
this._migrateUI();
listeners.init();
PageThumbs.init();
- AboutHome.init();
-
DirectoryLinksProvider.init();
NewTabUtils.init();
NewTabUtils.links.addProvider(DirectoryLinksProvider);
AboutNewTab.init();
SessionStore.init();
BrowserUsageTelemetry.init();
BrowserUITelemetry.init();
--- a/browser/modules/AboutHome.jsm
+++ b/browser/modules/AboutHome.jsm
@@ -95,28 +95,25 @@ var AboutHome = {
MESSAGES: [
"AboutHome:RestorePreviousSession",
"AboutHome:Downloads",
"AboutHome:Bookmarks",
"AboutHome:History",
"AboutHome:Addons",
"AboutHome:Sync",
"AboutHome:Settings",
- "AboutHome:RequestUpdate",
- "AboutHome:MaybeShowAutoMigrationUndoNotification",
],
init() {
- let mm = Cc["@mozilla.org/globalmessagemanager;1"].getService(Ci.nsIMessageListenerManager);
-
for (let msg of this.MESSAGES) {
- mm.addMessageListener(msg, this);
+ Services.mm.addMessageListener(msg, this);
}
},
+ // Additional listeners are registered in nsBrowserGlue.js
receiveMessage(aMessage) {
let window = aMessage.target.ownerGlobal;
switch (aMessage.name) {
case "AboutHome:RestorePreviousSession":
let ss = Cc["@mozilla.org/browser/sessionstore;1"].
getService(Ci.nsISessionStore);
if (ss.canRestoreLastSession) {