Bug 1362445 - Fix _action context menus when module is not loaded r?bsilverberg
MozReview-Commit-ID: AOzcpXSgy8d
--- a/browser/components/extensions/ext-browserAction.js
+++ b/browser/components/extensions/ext-browserAction.js
@@ -280,16 +280,20 @@ this.browserAction = class extends Exten
case "mouseout":
if (this.pendingPopup) {
this.clearPopup();
}
break;
case "popupshowing":
+ if (!global.actionContextMenu) {
+ break;
+ }
+
const menu = event.target;
const trigger = menu.triggerNode;
const node = window.document.getElementById(this.id);
const contexts = ["toolbar-context-menu", "customizationPanelItemContextMenu"];
if (contexts.includes(menu.id) && node && isAncestorOrSelf(node, trigger)) {
global.actionContextMenu({
extension: this.extension,
@@ -596,9 +600,8 @@ this.browserAction = class extends Exten
return Promise.resolve(color || [0xd9, 0, 0, 255]);
},
},
};
}
};
global.browserActionFor = this.browserAction.for;
-
--- a/browser/components/extensions/ext-pageAction.js
+++ b/browser/components/extensions/ext-pageAction.js
@@ -192,16 +192,20 @@ this.pageAction = class extends Extensio
switch (event.type) {
case "click":
if (event.button === 0) {
this.handleClick(window);
}
break;
case "popupshowing":
+ if (!global.actionContextMenu) {
+ break;
+ }
+
const menu = event.target;
const trigger = menu.triggerNode;
if (menu.id === "toolbar-context-menu" && trigger && trigger.id === this.id) {
global.actionContextMenu({
extension: this.extension,
onPageAction: true,
menu: menu,