aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authormrmr19932014-11-02 05:39:07 +0000
committermrmr19932014-11-02 05:39:07 +0000
commitdafa166364ff9a30b0cc2f0d160fcbcfc01cc61e (patch)
tree164fb44f28097d5920793c16d55966a9880421b3 /lib
parent8afdaabd2e66a3092bc2b122443956327e0ba679 (diff)
downloadvimium-dafa166364ff9a30b0cc2f0d160fcbcfc01cc61e.tar.bz2
Force our key event handlers to have the highest possible priority
* The `window` object receives key events before the `document` object, and so any event listeners on `window` get priority. This commit switches from binding `keydown`, `keypress`, `keyup` on `document` to on `window`. * We were using `event.stopPropagation()` to prevent other event listeners from firing if we had handled an event. This stopped the event from propagating to other elements/objects and triggering their event listeners, but didn't block event listeners registered on the same object as ours. Switching to `event.stopImmediatePropagation()` ensures that our event listener is the last to run for the event. Fixing these issues allows Vimium to regain control over key events in Google Groups (eg. the [vimium-dev group](https://groups.google.com/forum/vimium-dev)).
Diffstat (limited to 'lib')
-rw-r--r--lib/dom_utils.coffee2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/dom_utils.coffee b/lib/dom_utils.coffee
index dcdd5518..8c0445c5 100644
--- a/lib/dom_utils.coffee
+++ b/lib/dom_utils.coffee
@@ -129,7 +129,7 @@ DomUtils =
suppressEvent: (event) ->
event.preventDefault()
- event.stopPropagation()
+ event.stopImmediatePropagation()
root = exports ? window
root.DomUtils = DomUtils