diff options
Diffstat (limited to 'content_scripts')
| -rw-r--r-- | content_scripts/link_hints.coffee | 17 | ||||
| -rw-r--r-- | content_scripts/vimium_frontend.coffee | 1 | 
2 files changed, 8 insertions, 10 deletions
| diff --git a/content_scripts/link_hints.coffee b/content_scripts/link_hints.coffee index a7a46e99..ca000c90 100644 --- a/content_scripts/link_hints.coffee +++ b/content_scripts/link_hints.coffee @@ -232,13 +232,9 @@ class LinkHintsMode    onKeyDownInMode: (event) ->      return if event.repeat -    previousTabCount = @tabCount -    @tabCount = 0 -      # NOTE(smblott) The modifier behaviour here applies only to alphabet hints.      if event.key in ["Control", "Shift"] and not Settings.get("filterLinkHints") and        @mode in [ OPEN_IN_CURRENT_TAB, OPEN_WITH_QUEUE, OPEN_IN_NEW_BG_TAB, OPEN_IN_NEW_FG_TAB ] -        @tabCount = previousTabCount          # Toggle whether to open the link in a new or current tab.          previousMode = @mode          key = event.key @@ -258,6 +254,7 @@ class LinkHintsMode      else if KeyboardUtils.isBackspace event        if @markerMatcher.popKeyChar() +        @tabCount = 0          @updateVisibleMarkers()        else          # Exit via @hintMode.exit(), so that the LinkHints.activate() "onExit" callback sees the key event and @@ -269,15 +266,13 @@ class LinkHintsMode        HintCoordinator.sendMessage "activateActiveHintMarker" if @markerMatcher.activeHintMarker      else if event.key == "Tab" -      @tabCount = previousTabCount + (if event.shiftKey then -1 else 1) -      @updateVisibleMarkers @tabCount +      if event.shiftKey then @tabCount-- else @tabCount++ +      @updateVisibleMarkers()      else if event.key == " " and @markerMatcher.shouldRotateHints event -      @tabCount = previousTabCount        HintCoordinator.sendMessage "rotateHints"      else -      @tabCount = previousTabCount if event.ctrlKey or event.metaKey or event.altKey        unless event.repeat          keyChar =            if Settings.get "filterLinkHints" @@ -287,6 +282,7 @@ class LinkHintsMode          if keyChar            keyChar = " " if keyChar == "space"            if keyChar.length == 1 +            @tabCount = 0              @markerMatcher.pushKeyChar keyChar              @updateVisibleMarkers()            else @@ -294,9 +290,10 @@ class LinkHintsMode      handlerStack.suppressEvent -  updateVisibleMarkers: (tabCount = 0) -> +  updateVisibleMarkers: ->      {hintKeystrokeQueue, linkTextKeystrokeQueue} = @markerMatcher -    HintCoordinator.sendMessage "updateKeyState", {hintKeystrokeQueue, linkTextKeystrokeQueue, tabCount} +    HintCoordinator.sendMessage "updateKeyState", +      {hintKeystrokeQueue, linkTextKeystrokeQueue, tabCount: @tabCount}    updateKeyState: ({hintKeystrokeQueue, linkTextKeystrokeQueue, tabCount}) ->      extend @markerMatcher, {hintKeystrokeQueue, linkTextKeystrokeQueue} diff --git a/content_scripts/vimium_frontend.coffee b/content_scripts/vimium_frontend.coffee index fa973e43..432fa7a2 100644 --- a/content_scripts/vimium_frontend.coffee +++ b/content_scripts/vimium_frontend.coffee @@ -221,6 +221,7 @@ Frame =      @port = chrome.runtime.connect name: "frames"      @port.onMessage.addListener (request) => +      root.extend window, root unless extend? # See #2800 and #2831.        (@listeners[request.handler] ? this[request.handler]) request      # We disable the content scripts when we lose contact with the background page, or on unload. | 
