Bug 1372750 - pass startup/shutdown reasons to embedded webextensions r?kmag
MozReview-Commit-ID: 3oJHM83Jbb0
--- a/toolkit/mozapps/extensions/internal/XPIProvider.jsm
+++ b/toolkit/mozapps/extensions/internal/XPIProvider.jsm
@@ -4361,23 +4361,27 @@ this.XPIProvider = {
if (aExtraParams) {
for (let key in aExtraParams) {
params[key] = aExtraParams[key];
}
}
if (aAddon.hasEmbeddedWebExtension) {
+ let reason = Object.keys(BOOTSTRAP_REASONS).find(
+ key => BOOTSTRAP_REASONS[key] == aReason
+ );
+
if (aMethod == "startup") {
const webExtension = LegacyExtensionsUtils.getEmbeddedExtensionFor(params);
params.webExtension = {
- startup: () => webExtension.startup(),
+ startup: () => webExtension.startup(reason),
};
} else if (aMethod == "shutdown") {
- LegacyExtensionsUtils.getEmbeddedExtensionFor(params).shutdown();
+ LegacyExtensionsUtils.getEmbeddedExtensionFor(params).shutdown(reason);
}
}
if (!method) {
logger.warn("Add-on " + aAddon.id + " is missing bootstrap method " + aMethod);
} else {
logger.debug("Calling bootstrap method " + aMethod + " on " + aAddon.id + " version " +
aAddon.version);