Bug 1401584 Properly cancel local installs of incompatible extensions draft
authorAndrew Swan <aswan@mozilla.com>
Fri, 22 Sep 2017 14:27:20 -0700
changeset 669282 b175ba42d0b18f38d81fee0f6c6f5b9681a83ca4
parent 669199 6ff0f49d6e25827d4615136a0100571acf4b9eac
child 732919 18acef52604f85e617d9f215059b90e7ead1d64a
push id81288
push useraswan@mozilla.com
push dateFri, 22 Sep 2017 21:27:49 +0000
bugs1401584
milestone58.0a1
Bug 1401584 Properly cancel local installs of incompatible extensions MozReview-Commit-ID: EmRZQZeh0jQ
toolkit/mozapps/extensions/AddonManager.jsm
--- a/toolkit/mozapps/extensions/AddonManager.jsm
+++ b/toolkit/mozapps/extensions/AddonManager.jsm
@@ -1996,18 +1996,19 @@ var AddonManagerInternal = {
   },
 
   startInstall(browser, url, install) {
     this.installNotifyObservers("addon-install-started", browser, url, install);
 
     // Local installs may already be in a failed state in which case
     // we won't get any further events, detect those cases now.
     if (install.state == AddonManager.STATE_DOWNLOADED && install.addon.appDisabled) {
-          this.installNotifyObservers("addon-install-failed", browser, url, install);
-          return;
+      install.cancel();
+      this.installNotifyObservers("addon-install-failed", browser, url, install);
+      return;
     }
 
     let self = this;
     let listener = {
       onDownloadCancelled() {
         install.removeListener(listener);
       },