From bdcc5c551aaccb7e286e7275124fe2a8dd1ffb38 Mon Sep 17 00:00:00 2001 From: Martynas Bagdonas Date: Mon, 30 Jun 2025 13:56:18 +0300 Subject: [PATCH] Reader: Only show text context menu when interacting with a text box --- chrome/content/zotero/xpcom/reader.js | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/chrome/content/zotero/xpcom/reader.js b/chrome/content/zotero/xpcom/reader.js index 1a47340520..479abe1b0b 100644 --- a/chrome/content/zotero/xpcom/reader.js +++ b/chrome/content/zotero/xpcom/reader.js @@ -1187,10 +1187,18 @@ class ReaderInstance { _handleReaderTextboxContextMenuOpen = (event) => { this._window.goUpdateGlobalEditMenuItems(true); + function isEditableTextBox(node) { + return ( + node.nodeName === 'TEXTAREA' + || (node.nodeName === 'INPUT' && node.type === 'text' && !node.disabled && !node.readOnly) + || node.isContentEditable === true + ); + } + if ( - event.view !== this._iframeWindow - // For text annotation box - && (this._type !== 'pdf' || event.target?.nodeName !== 'TEXTAREA') + !event.target + || !((event.view === this._iframeWindow || this._type === 'pdf') + && isEditableTextBox(event.target)) ) { return; }