From 742d7793d14b668347722209402faa0e34fbcc38 Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Thu, 24 Oct 2019 14:56:34 -0400 Subject: [PATCH] Fx60: Fix keyboard handling in items list nsIDOMWindowUtils::sendKeyEvent() was removed --- chrome/content/zotero/xpcom/itemTreeView.js | 27 +++------------------ 1 file changed, 3 insertions(+), 24 deletions(-) diff --git a/chrome/content/zotero/xpcom/itemTreeView.js b/chrome/content/zotero/xpcom/itemTreeView.js index 3e25bd4ca7..984880f66b 100644 --- a/chrome/content/zotero/xpcom/itemTreeView.js +++ b/chrome/content/zotero/xpcom/itemTreeView.js @@ -220,31 +220,10 @@ Zotero.ItemTreeView.prototype.setTree = async function (treebox) { // event comes in. I see no way this could go wrong... tree.disableKeyNavigation = false; self._skipKeyPress = true; - var nsIDWU = Components.interfaces.nsIDOMWindowUtils; - var domWindowUtils = event.originalTarget.ownerDocument.defaultView - .QueryInterface(Components.interfaces.nsIInterfaceRequestor) - .getInterface(nsIDWU); - var modifiers = 0; - if (event.altKey) { - modifiers |= nsIDWU.MODIFIER_ALT; - } - if (event.ctrlKey) { - modifiers |= nsIDWU.MODIFIER_CONTROL; - } - if (event.shiftKey) { - modifiers |= nsIDWU.MODIFIER_SHIFT; - } - if (event.metaKey) { - modifiers |= nsIDWU.MODIFIER_META; - } - domWindowUtils.sendKeyEvent( - 'keypress', - event.keyCode, - event.charCode, - modifiers - ); + var clonedEvent = new this.window.KeyboardEvent("keypress", event); + event.explicitOriginalTarget.dispatchEvent(clonedEvent); tree.disableKeyNavigation = true; - }) + }.bind(this)) .catch(function (e) { Zotero.logError(e); })