diff --git a/toolkit/components/webextensions/moz.build b/toolkit/components/webextensions/moz.build index b1f7657efd..b8d5641d74 100644 --- a/toolkit/components/webextensions/moz.build +++ b/toolkit/components/webextensions/moz.build @@ -12,7 +12,6 @@ EXTRA_JS_MODULES += [ 'ExtensionContent.jsm', 'ExtensionManagement.jsm', 'ExtensionParent.jsm', - 'ExtensionStorage.jsm', 'ExtensionUtils.jsm', 'LegacyExtensionsUtils.jsm', 'MessageChannel.jsm', diff --git a/toolkit/modules/ExtensionStorage.jsm b/toolkit/modules/ExtensionStorage.jsm index 0b0ffb0003..728cba728c 100644 --- a/toolkit/modules/ExtensionStorage.jsm +++ b/toolkit/modules/ExtensionStorage.jsm @@ -197,6 +197,19 @@ this.ExtensionStorage = { }); }, + getManaged(keys) { + // Managed storage is populated by enterprise policy, which this UXP + // branch does not implement. Return the requested defaults, matching the + // WebExtension storage contract for an empty managed area. + if (keys === null || keys === undefined) { + return Promise.resolve({}); + } + if (typeof(keys) == "object" && !Array.isArray(keys)) { + return Promise.resolve(Object.assign({}, keys)); + } + return Promise.resolve({}); + }, + addOnChangedListener(extensionId, listener) { let listeners = this.listeners.get(extensionId) || new Set(); listeners.add(listener);