From 3a64a851201a78db2c30b47fca266c81bdb860d4 Mon Sep 17 00:00:00 2001 From: gdh1995 Date: Wed, 29 Jul 2015 00:18:23 +0800 Subject: fix bugs in KeydownEvents so that correct keyup events will be handled --- content_scripts/vimium_frontend.coffee | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/content_scripts/vimium_frontend.coffee b/content_scripts/vimium_frontend.coffee index 8f4c7e82..7b404931 100644 --- a/content_scripts/vimium_frontend.coffee +++ b/content_scripts/vimium_frontend.coffee @@ -463,13 +463,7 @@ extend window, KeydownEvents = handledEvents: {} - stringify: (event) -> - JSON.stringify - metaKey: event.metaKey - altKey: event.altKey - ctrlKey: event.ctrlKey - keyIdentifier: event.keyIdentifier - keyCode: event.keyCode + stringify: (event) -> event.keyCode push: (event) -> @handledEvents[@stringify event] = true @@ -482,6 +476,12 @@ KeydownEvents = delete @handledEvents[detailString] value + clear: -> @handledEvents = {} + +handlerStack.push + _name: "KeydownEvents-cleanup" + blur: (event) -> KeydownEvents.clear() if event.target == window; true + # # Sends everything except i & ESC to the handler in background_page. i & ESC are special because they control # insert mode which is local state to the page. The key will be are either a single ascii letter or a -- cgit v1.2.3 From acc491c9ec788872000687708705cdcda14c085f Mon Sep 17 00:00:00 2001 From: Stephen Blott Date: Sun, 6 Sep 2015 12:04:58 +0100 Subject: Rename stringify to getEventCode. --- content_scripts/vimium_frontend.coffee | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content_scripts/vimium_frontend.coffee b/content_scripts/vimium_frontend.coffee index 7b404931..9b3dc4e9 100644 --- a/content_scripts/vimium_frontend.coffee +++ b/content_scripts/vimium_frontend.coffee @@ -463,15 +463,15 @@ extend window, KeydownEvents = handledEvents: {} - stringify: (event) -> event.keyCode + getEventCode: (event) -> event.keyCode push: (event) -> - @handledEvents[@stringify event] = true + @handledEvents[@getEventCode event] = true # Yields truthy or falsy depending upon whether a corresponding keydown event is present (and removes that # event). pop: (event) -> - detailString = @stringify event + detailString = @getEventCode event value = @handledEvents[detailString] delete @handledEvents[detailString] value -- cgit v1.2.3