From ead49e083accbd8e5ebc1dd1e73742092d2dca53 Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Fri, 11 Sep 2020 08:12:45 -0400 Subject: [PATCH] Fix delete key handling in element zapper Related feedback: - https://github.com/uBlockOrigin/uBlock-issues/issues/1237#issuecomment-690897502 --- src/js/epicker-ui.js | 11 +++++++++++ src/js/scriptlets/epicker.js | 2 ++ 2 files changed, 13 insertions(+) diff --git a/src/js/epicker-ui.js b/src/js/epicker-ui.js index 62fdad9b3..dfac8ec83 100644 --- a/src/js/epicker-ui.js +++ b/src/js/epicker-ui.js @@ -473,6 +473,17 @@ const onCandidateClicked = function(ev) { /******************************************************************************/ const onKeyPressed = function(ev) { + // Delete + if ( + (ev.key === 'Delete' || ev.key === 'Backspace') && + pickerRoot.classList.contains('zap') + ) { + vAPI.MessagingConnection.sendTo(epickerConnectionId, { + what: 'zapElementAtPoint', + options: { stay: true }, + }); + return; + } // Esc if ( ev.key === 'Escape' || ev.which === 27 ) { onQuitClicked(); diff --git a/src/js/scriptlets/epicker.js b/src/js/scriptlets/epicker.js index 29647d8d1..943e5b7b0 100644 --- a/src/js/scriptlets/epicker.js +++ b/src/js/scriptlets/epicker.js @@ -960,6 +960,8 @@ const onViewportChanged = function() { // Auto-select a specific target, if any, and if possible const startPicker = function() { + pickerRoot.focus(); + self.addEventListener('scroll', onViewportChanged, { passive: true }); self.addEventListener('resize', onViewportChanged, { passive: true }); self.addEventListener('keydown', onKeyPressed, true);