Bug 1344372: Add override for RemotePageManager in AboutNewTab.jsm;r?mconley
MozReview-Commit-ID: 9hpJMtagXur
--- a/browser/modules/AboutNewTab.jsm
+++ b/browser/modules/AboutNewTab.jsm
@@ -19,25 +19,42 @@ XPCOMUtils.defineLazyModuleGetter(this,
"resource://gre/modules/NewTabUtils.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "RemotePages",
"resource://gre/modules/RemotePageManager.jsm");
var AboutNewTab = {
pageListener: null,
+ isOverridden: false,
+
init() {
+ if (this.isOverridden) {
+ return;
+ }
this.pageListener = new RemotePages("about:newtab");
this.pageListener.addMessageListener("NewTab:Customize", this.customize.bind(this));
this.pageListener.addMessageListener("NewTab:MaybeShowAutoMigrationUndoNotification",
(msg) => AutoMigrate.maybeShowUndoNotification(msg.target.browser));
},
customize(message) {
NewTabUtils.allPages.enabled = message.data.enabled;
NewTabUtils.allPages.enhanced = message.data.enhanced;
},
uninit() {
- this.pageListener.destroy();
- this.pageListener = null;
+ if (this.pageListener) {
+ this.pageListener.destroy();
+ this.pageListener = null;
+ }
},
+
+ override() {
+ this.uninit();
+ this.isOverridden = true;
+ },
+
+ reset() {
+ this.isOverridden = false;
+ this.init();
+ }
};