aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Blott2015-01-06 16:41:43 +0000
committerStephen Blott2015-01-06 16:41:43 +0000
commitf01c57d2f25b4e66000e8812d5bbc247d53e6bce (patch)
tree95ad75f3a2df79ef507172cadffc76d7938a5a32
parentc585331efc1b3c446f0f315a8904fbd9658b1cce (diff)
downloadvimium-f01c57d2f25b4e66000e8812d5bbc247d53e6bce.tar.bz2
Modes; when exiting on Escape, also grab keyup event.
Also fix post insert.
-rw-r--r--content_scripts/mode.coffee6
-rw-r--r--content_scripts/mode_find.coffee1
-rw-r--r--lib/dom_utils.coffee8
3 files changed, 10 insertions, 5 deletions
diff --git a/content_scripts/mode.coffee b/content_scripts/mode.coffee
index 5a7bead5..857eb140 100644
--- a/content_scripts/mode.coffee
+++ b/content_scripts/mode.coffee
@@ -151,11 +151,7 @@ class ExitOnEscapeMode extends SingletonMode
@exit
source: ExitOnEscapeMode
event: event
- # Suppress the corresponding keyup event too.
- handlerStack.push
- keyup: (event) ->
- @remove() if KeyboardUtils.isEscape event
- @suppressEvent
+ DomUtils.suppressKeyupAfterEscape handlerStack
@suppressEvent
# This mode exits when element (if defined) loses the focus.
diff --git a/content_scripts/mode_find.coffee b/content_scripts/mode_find.coffee
index e11b2e0f..44d50608 100644
--- a/content_scripts/mode_find.coffee
+++ b/content_scripts/mode_find.coffee
@@ -27,6 +27,7 @@ class PostFindMode extends InsertModeBlocker
if element == document.activeElement and KeyboardUtils.isEscape event
self.exit()
new InsertMode element
+ DomUtils.suppressKeyupAfterEscape handlerStack
return false
@remove()
true
diff --git a/lib/dom_utils.coffee b/lib/dom_utils.coffee
index ec846e44..1a992b43 100644
--- a/lib/dom_utils.coffee
+++ b/lib/dom_utils.coffee
@@ -185,5 +185,13 @@ DomUtils =
event.preventDefault()
@suppressPropagation(event)
+ # Suppress the next keyup event for Escape.
+ suppressKeyupAfterEscape: (handlerStack) ->
+ handlerStack.push
+ keyup: (event) ->
+ return true unless KeyboardUtils.isEscape event
+ @remove()
+ false
+
root = exports ? window
root.DomUtils = DomUtils