Index: lib/appSupport.js |
=================================================================== |
--- a/lib/appSupport.js |
+++ b/lib/appSupport.js |
@@ -21,6 +21,7 @@ |
Cu.import("resource://gre/modules/XPCOMUtils.jsm"); |
Cu.import("resource://gre/modules/Services.jsm"); |
+Cu.import("resource://gre/modules/AddonManager.jsm"); |
/** |
* Checks whether an application window is known and should get Adblock Plus |
@@ -916,6 +917,31 @@ |
if (Utils.confirm(window, dialogMessage, dialogTitle)) |
this.setSubscription(url, title); |
}; |
+ |
+ UI.openFiltersDialog = function() |
+ { |
+ let window = UI.currentWindow; |
+ if (!window) |
+ return |
+ |
+ let browser = exports.addTab(window, "about:addons").browser; |
+ browser.addEventListener("load", function openAddonPrefs(event) |
+ { |
+ browser.removeEventListener("load", openAddonPrefs, true); |
+ Utils.runAsync(function() |
+ { |
+ // The page won't be ready until the add-on manager data is loaded so we call this method |
+ // to know when the data will be ready. |
+ AddonManager.getAddonsByTypes(["extension", "theme", "locale"], function() |
+ { |
+ let event = new Event("Event"); |
+ event.initEvent("popstate", true, false); |
+ event.state = {id: require("info").addonID}; |
+ browser._contentWindow.dispatchEvent(event); |
+ }); |
+ }); |
+ }, true); |
+ }; |
break; |
} |