diff --git a/chrome/content/zotero/editMenuOverlay.js b/chrome/content/zotero/editMenuOverlay.js
index 84cbba0dfc..5a7f1bba17 100644
--- a/chrome/content/zotero/editMenuOverlay.js
+++ b/chrome/content/zotero/editMenuOverlay.js
@@ -92,6 +92,31 @@ window.addEventListener(
{ once: true }
);
+function goBuildEditContextMenu() {
+ let popup = document.getElementById("textbox-contextmenu");
+ if (!popup) {
+ MozXULElement.insertFTLIfNeeded("toolkit/global/textActions.ftl");
+ document.documentElement.appendChild(
+ MozXULElement.parseXULToFragment(`
+
+
+
+ `)
+ );
+ popup = document.documentElement.lastElementChild.firstElementChild;
+ }
+ return popup;
+}
+
// Support context menus on html textareas in the parent process:
window.addEventListener("contextmenu", e => {
const HTML_NS = "http://www.w3.org/1999/xhtml";
@@ -107,28 +132,7 @@ window.addEventListener("contextmenu", e => {
return;
}
- let popup = document.getElementById("textbox-contextmenu");
- if (!popup) {
- MozXULElement.insertFTLIfNeeded("toolkit/global/textActions.ftl");
- document.documentElement.appendChild(
- MozXULElement.parseXULToFragment(`
-
-
-
- `)
- );
- popup = document.documentElement.lastElementChild.firstElementChild;
- }
-
+ let popup = goBuildEditContextMenu();
goUpdateGlobalEditMenuItems(true);
popup.openPopupAtScreen(e.screenX, e.screenY, true, e);
// Don't show any other context menu at the same time. There can be a
diff --git a/chrome/content/zotero/elements/itemBox.js b/chrome/content/zotero/elements/itemBox.js
index 36ad39b886..3a9af16304 100644
--- a/chrome/content/zotero/elements/itemBox.js
+++ b/chrome/content/zotero/elements/itemBox.js
@@ -60,12 +60,6 @@