From d751835f68b56b7bdea23c77b40b33f2f9447f49 Mon Sep 17 00:00:00 2001 From: Simon Lydell Date: Fri, 23 Oct 2015 08:30:23 +0200 Subject: [PATCH] Consistently use `event.originalTarget` --- extension/lib/events-frame.coffee | 8 +++++--- extension/lib/events.coffee | 3 ++- extension/lib/options.coffee | 2 ++ 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/extension/lib/events-frame.coffee b/extension/lib/events-frame.coffee index bd517bf..c50179f 100644 --- a/extension/lib/events-frame.coffee +++ b/extension/lib/events-frame.coffee @@ -47,13 +47,15 @@ class FrameEventManager ) @listen('overflow', (event) => - return unless computedStyle = @vim.content.getComputedStyle(event.target) + target = event.originalTarget + return unless computedStyle = @vim.content.getComputedStyle(target) return if computedStyle.getPropertyValue('overflow') == 'hidden' - @vim.state.scrollableElements.add(event.target) + @vim.state.scrollableElements.add(target) ) @listen('underflow', (event) => - @vim.state.scrollableElements.delete(event.target) + target = event.originalTarget + @vim.state.scrollableElements.delete(target) ) @listen('keydown', (event) => diff --git a/extension/lib/events.coffee b/extension/lib/events.coffee index e173418..8d84d45 100644 --- a/extension/lib/events.coffee +++ b/extension/lib/events.coffee @@ -41,7 +41,8 @@ class UIEventManager addListeners: -> checkPassthrough = (value, event) => - if event.target.nodeName in ['menupopup', 'panel'] + target = event.originalTarget + if target.nodeName in ['menupopup', 'panel'] @popupPassthrough = value @listen('popupshown', checkPassthrough.bind(null, true)) diff --git a/extension/lib/options.coffee b/extension/lib/options.coffee index 87311ce..a6923f1 100644 --- a/extension/lib/options.coffee +++ b/extension/lib/options.coffee @@ -157,6 +157,8 @@ class Observer extends BaseObserver ).join('\n') setupKeybindings: -> + # Note that `setting = event.originalTarget` does _not_ return the correct + # element in these listeners! quote = false @listen(@container, 'keydown', (event) => setting = event.target -- 2.39.3