Bug 1345583 - Move code for startup and shutdown handling of preferences to ExtensionPreferencesManager, r?aswan
MozReview-Commit-ID: 8EILFeFjvnd
--- a/toolkit/components/extensions/ExtensionPreferencesManager.jsm
+++ b/toolkit/components/extensions/ExtensionPreferencesManager.jsm
@@ -17,28 +17,51 @@
* values that correspond to the prefs to be set.
*/
"use strict";
this.EXPORTED_SYMBOLS = ["ExtensionPreferencesManager"];
const {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components;
+const {Management} = Cu.import("resource://gre/modules/Extension.jsm", {});
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "ExtensionSettingsStore",
"resource://gre/modules/ExtensionSettingsStore.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "Preferences",
"resource://gre/modules/Preferences.jsm");
XPCOMUtils.defineLazyGetter(this, "defaultPreferences", function() {
return new Preferences({defaultBranch: true});
});
+/* eslint-disable mozilla/balanced-listeners */
+Management.on("shutdown", (type, extension) => {
+ switch (extension.shutdownReason) {
+ case "ADDON_DISABLE":
+ case "ADDON_DOWNGRADE":
+ case "ADDON_UPGRADE":
+ this.ExtensionPreferencesManager.disableAll(extension);
+ break;
+
+ case "ADDON_UNINSTALL":
+ this.ExtensionPreferencesManager.removeAll(extension);
+ break;
+ }
+});
+
+Management.on("startup", (type, extension) => {
+ if (["ADDON_ENABLE", "ADDON_UPGRADE", "ADDON_DOWNGRADE"].includes(extension.startupReason)) {
+ this.ExtensionPreferencesManager.enableAll(extension);
+ }
+});
+/* eslint-enable mozilla/balanced-listeners */
+
const STORE_TYPE = "prefs";
// Definitions of settings, each of which correspond to a different API.
let settingsMap = new Map();
/**
* This function is passed into the ExtensionSettingsStore to determine the
* initial value of the setting. It reads an array of preference names from
--- a/toolkit/components/extensions/ext-privacy.js
+++ b/toolkit/components/extensions/ext-privacy.js
@@ -8,38 +8,16 @@ XPCOMUtils.defineLazyModuleGetter(this,
"resource://gre/modules/Preferences.jsm");
Cu.import("resource://gre/modules/ExtensionPreferencesManager.jsm");
Cu.import("resource://gre/modules/ExtensionUtils.jsm");
const {
ExtensionError,
} = ExtensionUtils;
-/* eslint-disable mozilla/balanced-listeners */
-extensions.on("startup", async (type, extension) => {
- if (["ADDON_ENABLE", "ADDON_UPGRADE", "ADDON_DOWNGRADE"].includes(extension.startupReason)) {
- await ExtensionPreferencesManager.enableAll(extension);
- }
-});
-
-extensions.on("shutdown", async (type, extension) => {
- switch (extension.shutdownReason) {
- case "ADDON_DISABLE":
- case "ADDON_DOWNGRADE":
- case "ADDON_UPGRADE":
- await ExtensionPreferencesManager.disableAll(extension);
- break;
-
- case "ADDON_UNINSTALL":
- await ExtensionPreferencesManager.removeAll(extension);
- break;
- }
-});
-/* eslint-enable mozilla/balanced-listeners */
-
function checkScope(scope) {
if (scope && scope !== "regular") {
throw new ExtensionError(
`Firefox does not support the ${scope} settings scope.`);
}
}
function getAPI(extension, name, callback) {