diff options
| author | Stephen Blott | 2016-02-29 06:48:27 +0000 |
|---|---|---|
| committer | Stephen Blott | 2016-03-05 05:40:11 +0000 |
| commit | 29708b3297a645966f7943682f8f7b8c2a332297 (patch) | |
| tree | 96d17d96eca75bea538d204d18fadc500870f1af /content_scripts | |
| parent | e4193e2752ee7132ff16a7ba977857f70df2946b (diff) | |
| download | vimium-29708b3297a645966f7943682f8f7b8c2a332297.tar.bz2 | |
Key bindings; refactor passKeys distribution.
It makes more sense to pass the passKeys directly to normalMode. So, do
so, and remove the trackState mode option - which isn't otherwise being
used.
Diffstat (limited to 'content_scripts')
| -rw-r--r-- | content_scripts/mode.coffee | 8 | ||||
| -rw-r--r-- | content_scripts/vimium_frontend.coffee | 11 |
2 files changed, 5 insertions, 14 deletions
diff --git a/content_scripts/mode.coffee b/content_scripts/mode.coffee index 3327b58f..205b8288 100644 --- a/content_scripts/mode.coffee +++ b/content_scripts/mode.coffee @@ -119,14 +119,6 @@ class Mode @deactivateSingleton @options.singleton singletons[key] = this - # If @options.trackState is truthy, then the mode mainatins the current state in @enabled and @passKeys. - if @options.trackState - @enabled = false - @passKeys = "" - @push - _name: "mode-#{@id}/registerStateChange" - registerStateChange: ({ enabled: @enabled, passKeys: @passKeys }) => @continueBubbling - # If @options.passInitialKeyupEvents is set, then we pass initial non-printable keyup events to the page # or to other extensions (because the corresponding keydown events were passed). This is used when # activating link hints, see #1522. diff --git a/content_scripts/vimium_frontend.coffee b/content_scripts/vimium_frontend.coffee index a4dd6986..5401cf22 100644 --- a/content_scripts/vimium_frontend.coffee +++ b/content_scripts/vimium_frontend.coffee @@ -94,11 +94,12 @@ handlerStack.push true class NormalMode extends KeyHandlerMode + setPassKeys: (@passKeys) -> + constructor: (options = {}) -> super extend options, name: "normal" indicator: false # There is no mode indicator in normal mode. - trackState: true # Maintain @passKeys. commandHandler: @commandHandler.bind this chrome.storage.local.get "normalModeKeyStateMapping", (items) => @@ -127,8 +128,8 @@ class NormalMode extends KeyHandlerMode # Only exported for tests; also, "args..." is only for the tests. window.initializeModes = (args...) -> # Install the permanent modes. The permanently-installed insert mode tracks focus/blur events, and - # activates/deactivates itself accordingly. - new NormalMode args... + # activates/deactivates itself accordingly. normalMode is exported only for the tests. + window.normalMode = new NormalMode args... new InsertMode permanent: true Scroller.init() @@ -440,9 +441,7 @@ checkIfEnabledForUrl = (frameIsFocused = windowIsFocused()) -> if HUD.isReady() and not isEnabledForUrl # Quickly hide any HUD we might already be showing, e.g. if we entered insert mode on page load. HUD.hide() - handlerStack.bubbleEvent "registerStateChange", - enabled: isEnabledForUrl - passKeys: passKeys + normalMode?.setPassKeys passKeys # Update the page icon, if necessary. if windowIsFocused() chrome.runtime.sendMessage |
