Bug 1323938 - use the ADDON_INSTALL bootstrap reason for temporarily-loaded add-ons r?aswan
MozReview-Commit-ID: 3QtHQkhbYky
--- 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"
]