diff options
Diffstat (limited to 'content_scripts/mode.coffee')
| -rw-r--r-- | content_scripts/mode.coffee | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/content_scripts/mode.coffee b/content_scripts/mode.coffee index a4a91c1f..8bdd6dd7 100644 --- a/content_scripts/mode.coffee +++ b/content_scripts/mode.coffee @@ -198,6 +198,17 @@ class SuppressAllKeyboardEvents extends Mode suppressAllKeyboardEvents: true super extend defaults, options +class CacheAllKeydownEvents extends SuppressAllKeyboardEvents + constructor: (options = {}) -> + @keydownEvents = keydownEvents = [] + defaults = + name: "cacheAllKeydownEvents" + keydown: (event) -> keydownEvents.push event + super extend defaults, options + + replayKeydownEvents: -> + handlerStack.bubbleEvent "keydown", event for event in @keydownEvents + root = exports ? (window.root ?= {}) -extend root, {Mode, SuppressAllKeyboardEvents} +extend root, {Mode, SuppressAllKeyboardEvents, CacheAllKeydownEvents} extend window, root unless exports? |
