aboutsummaryrefslogtreecommitdiffstats
path: root/content_scripts
diff options
context:
space:
mode:
authorStephen Blott2017-04-13 14:09:14 +0100
committerStephen Blott2017-04-18 05:50:51 +0100
commit8e4119f84bbde748eb595e6766dbb47a6cd0133c (patch)
tree56fa1b1d54e1662754aee9e2d7289d316b905d7b /content_scripts
parent388d866e995249a0be3154c349db2edac664a3fa (diff)
downloadvimium-8e4119f84bbde748eb595e6766dbb47a6cd0133c.tar.bz2
Rework tests for all key handling on keydown.
Diffstat (limited to 'content_scripts')
-rw-r--r--content_scripts/link_hints.coffee5
-rw-r--r--content_scripts/mode_key_handler.coffee5
-rw-r--r--content_scripts/vimium_frontend.coffee2
3 files changed, 10 insertions, 2 deletions
diff --git a/content_scripts/link_hints.coffee b/content_scripts/link_hints.coffee
index e5c8b57b..4d9bbd1f 100644
--- a/content_scripts/link_hints.coffee
+++ b/content_scripts/link_hints.coffee
@@ -292,8 +292,11 @@ class LinkHintsMode
if keyChar = KeyboardUtils.getKeyChar event
@markerMatcher.pushKeyChar keyChar
@updateVisibleMarkers()
+ DomUtils.consumeKeyup event
+ return
- DomUtils.consumeKeyup event
+ # We've handled the event, so suppress it and update the mode indicator.
+ DomUtils.suppressEvent event
updateVisibleMarkers: (tabCount = 0) ->
{hintKeystrokeQueue, linkTextKeystrokeQueue} = @markerMatcher
diff --git a/content_scripts/mode_key_handler.coffee b/content_scripts/mode_key_handler.coffee
index 914eeb6c..82fdc0e6 100644
--- a/content_scripts/mode_key_handler.coffee
+++ b/content_scripts/mode_key_handler.coffee
@@ -54,7 +54,12 @@ class KeyHandlerMode extends Mode
@continueBubbling
else if @isMappedKey keyChar
DomUtils.consumeKeyup event, => @handleKeyChar keyChar
+ else if @isCountKey keyChar
+ digit = parseInt keyChar
+ @reset if @keyState.length == 1 then @countPrefix * 10 + digit else digit
+ @suppressEvent
else
+ @reset()
@continueBubbling
# This tests whether there is a mapping of keyChar in the current key state (and accounts for pass keys).
diff --git a/content_scripts/vimium_frontend.coffee b/content_scripts/vimium_frontend.coffee
index 2331a8cf..b3a85bfb 100644
--- a/content_scripts/vimium_frontend.coffee
+++ b/content_scripts/vimium_frontend.coffee
@@ -687,4 +687,4 @@ root.bgLog = bgLog
extend root, {handleEscapeForFindMode, handleEnterForFindMode, performFind, performBackwardsFind,
enterFindMode, focusThisFrame}
# These are exported only for the tests.
-extend root, {installModes, installListeners}
+extend root, {installModes}