Bug 1323938 - use the ADDON_INSTALL bootstrap reason for temporarily-loaded add-ons r?aswan draft
authorRobert Helmer <rhelmer@mozilla.com>
Thu, 29 Dec 2016 17:15:29 -0800
changeset 456748 8a5c99b0b622316235d253bf4d2951fb7d27290e
parent 456716 a14094edbad78fc1d16e8d4c57902537cf286fd1
child 541305 c2ae85858fd7689702e09c1838168aefab372c81
push id40585
push userrhelmer@mozilla.com
push dateFri, 06 Jan 2017 03:45:14 +0000
reviewersaswan
bugs1323938
milestone53.0a1
Bug 1323938 - use the ADDON_INSTALL bootstrap reason for temporarily-loaded add-ons r?aswan MozReview-Commit-ID: 3QtHQkhbYky
toolkit/mozapps/extensions/internal/XPIProvider.jsm
toolkit/mozapps/extensions/test/xpcshell/test_temporary.js
toolkit/mozapps/extensions/test/xpcshell/test_undouninstall.js
--- a/toolkit/mozapps/extensions/internal/XPIProvider.jsm
+++ b/toolkit/mozapps/extensions/internal/XPIProvider.jsm
@@ -4083,17 +4083,17 @@ this.XPIProvider = {
 
     XPIStates.addAddon(addon);
     XPIDatabase.saveChanges();
     XPIStates.save();
 
     AddonManagerPrivate.callAddonListeners("onInstalling", addon.wrapper,
                                            false);
     XPIProvider.callBootstrapMethod(addon, file, "startup",
-                                    BOOTSTRAP_REASONS.ADDON_ENABLE);
+                                    BOOTSTRAP_REASONS.ADDON_INSTALL);
     AddonManagerPrivate.callInstallListeners("onExternalInstall",
                                              null, addon.wrapper,
                                              oldAddon ? oldAddon.wrapper : null,
                                              false);
     AddonManagerPrivate.callAddonListeners("onInstalled", addon.wrapper);
 
     return addon.wrapper;
   }),
--- a/toolkit/mozapps/extensions/test/xpcshell/test_temporary.js
+++ b/toolkit/mozapps/extensions/test/xpcshell/test_temporary.js
@@ -94,16 +94,19 @@ add_task(function*() {
   do_check_true(extInstallCalled);
   do_check_true(installingCalled);
   do_check_true(installedCalled);
 
   const install = BootstrapMonitor.checkAddonInstalled(ID, "1.0");
   equal(install.reason, BOOTSTRAP_REASONS.ADDON_INSTALL);
   BootstrapMonitor.checkAddonStarted(ID, "1.0");
 
+  let info = BootstrapMonitor.started.get(ID);
+  do_check_eq(info.reason, BOOTSTRAP_REASONS.ADDON_INSTALL);
+
   let addon = yield promiseAddonByID(ID);
 
   do_check_neq(addon, null);
   do_check_eq(addon.version, "1.0");
   do_check_eq(addon.name, "Test Bootstrap 1");
   do_check_true(addon.isCompatible);
   do_check_false(addon.appDisabled);
   do_check_true(addon.isActive);
@@ -529,16 +532,19 @@ add_task(function*() {
 
   const onInitialInstall = waitForBootstrapEvent("install", ID);
   yield AddonManager.installTemporaryAddon(unpackedAddon);
 
   const initialInstall = yield onInitialInstall;
   equal(initialInstall.data.version, "1.0");
   equal(initialInstall.reason, BOOTSTRAP_REASONS.ADDON_INSTALL);
 
+  let info = BootstrapMonitor.started.get(ID);
+  do_check_eq(info.reason, BOOTSTRAP_REASONS.ADDON_INSTALL);
+
   // Install it again.
   const onUninstall = waitForBootstrapEvent("uninstall", ID);
   const onInstall = waitForBootstrapEvent("install", ID);
   yield AddonManager.installTemporaryAddon(unpackedAddon);
 
   const uninstall = yield onUninstall;
   equal(uninstall.data.version, "1.0");
   equal(uninstall.reason, BOOTSTRAP_REASONS.ADDON_UPGRADE);
--- a/toolkit/mozapps/extensions/test/xpcshell/test_undouninstall.js
+++ b/toolkit/mozapps/extensions/test/xpcshell/test_undouninstall.js
@@ -1,17 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/
  */
 
 // This verifies that forcing undo for uninstall works
 
 const APP_STARTUP                     = 1;
 const APP_SHUTDOWN                    = 2;
-const ADDON_ENABLE                    = 3;
 const ADDON_DISABLE                   = 4;
 const ADDON_INSTALL                   = 5;
 const ADDON_UNINSTALL                 = 6;
 const ADDON_DOWNGRADE                 = 8;
 
 const ID = "undouninstall1@tests.mozilla.org";
 const INCOMPAT_ID = "incompatible@tests.mozilla.org";
 
@@ -699,17 +698,17 @@ add_task(function* reinstallDisabledAddo
 add_task(function* cancelUninstallTemporary() {
   yield AddonManager.installTemporaryAddon(do_get_addon("test_undouninstall1"));
 
   let a1 = yield promiseAddonByID("undouninstall1@tests.mozilla.org");
   do_check_neq(a1, null);
   BootstrapMonitor.checkAddonInstalled(ID, "1.0");
   BootstrapMonitor.checkAddonStarted(ID, "1.0");
   do_check_eq(getInstallReason(ID), ADDON_INSTALL);
-  do_check_eq(getStartupReason(ID), ADDON_ENABLE);
+  do_check_eq(getStartupReason(ID), ADDON_INSTALL);
   do_check_eq(a1.pendingOperations, AddonManager.PENDING_NONE);
   do_check_true(a1.isActive);
   do_check_false(a1.userDisabled);
 
   prepare_test({
     "undouninstall1@tests.mozilla.org": [
       "onUninstalling"
     ]