Bug 1268773 - Update the Addon Wrapper for cached addon actors on reload. r=ochameau
MozReview-Commit-ID: AWNPTyIuzCX
--- 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();