Bug 1268773 - Update the Addon Wrapper for cached addon actors on reload. r=ochameau draft
authorLuca Greco <lgreco@mozilla.com>
Wed, 06 Jul 2016 16:18:58 +0200
changeset 392954 1a6115d971b5a0df7e40531c5fe82c8ed17e1e48
parent 392936 ccbf505eff5113af886ca4e3738d476bd0a83ca9
child 392955 74a222e39c90a0b3d3181c86e451d578a9e721f3
push id24157
push userluca.greco@alcacoop.it
push dateTue, 26 Jul 2016 16:01:12 +0000
reviewersochameau
bugs1268773
milestone50.0a1
Bug 1268773 - Update the Addon Wrapper for cached addon actors on reload. r=ochameau MozReview-Commit-ID: AWNPTyIuzCX
devtools/server/actors/addon.js
devtools/server/actors/webbrowser.js
--- a/devtools/server/actors/addon.js
+++ b/devtools/server/actors/addon.js
@@ -105,16 +105,25 @@ BrowserAddonActor.prototype = {
   },
 
   setOptions: function BAA_setOptions(aOptions) {
     if ("global" in aOptions) {
       this._global = aOptions.global;
     }
   },
 
+  onInstalled: function BAA_updateAddonWrapper(aAddon) {
+    if (aAddon.id != this._addon.id) {
+      return;
+    }
+
+    // Update the AddonManager's addon object on reload/update.
+    this._addon = aAddon;
+  },
+
   onDisabled: function BAA_onDisabled(aAddon) {
     if (aAddon != this._addon) {
       return;
     }
 
     this._global = null;
   },
 
--- a/devtools/server/actors/webbrowser.js
+++ b/devtools/server/actors/webbrowser.js
@@ -2288,21 +2288,16 @@ Object.defineProperty(BrowserAddonList.p
         "onListChanged property may only be set to 'null' or a function");
     }
     this._onListChanged = v;
     this._adjustListener();
   }
 });
 
 BrowserAddonList.prototype.onInstalled = function (addon) {
-  if (this._actorByAddonId.get(addon.id)) {
-    // When an add-on gets upgraded or reloaded, it will not be uninstalled
-    // so this step is necessary to clear the cache.
-    this._actorByAddonId.delete(addon.id);
-  }
   this._notifyListChanged();
   this._adjustListener();
 };
 
 BrowserAddonList.prototype.onUninstalled = function (addon) {
   this._actorByAddonId.delete(addon.id);
   this._notifyListChanged();
   this._adjustListener();