Bug 1372750 - pass startup/shutdown reasons to embedded webextensions r?kmag draft
authorAndrew Swan <aswan@mozilla.com>
Thu, 15 Jun 2017 17:00:22 -0700
changeset 646099 7d98f3adcd0fc5788a7be221ef6c41165a266a1d
parent 645963 6213fec03a47275d8fcbf79b951547e3993d677f
child 646100 228bcdb751d5fe64d7189a50972aacc3bbab9527
push id74005
push userrhelmer@mozilla.com
push dateMon, 14 Aug 2017 21:30:46 +0000
reviewerskmag
bugs1372750
milestone57.0a1
Bug 1372750 - pass startup/shutdown reasons to embedded webextensions r?kmag MozReview-Commit-ID: 3oJHM83Jbb0
toolkit/mozapps/extensions/internal/XPIProvider.jsm
--- 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);