diff options
| author | Phil Crosby | 2014-04-25 23:01:34 -0700 | 
|---|---|---|
| committer | Phil Crosby | 2014-04-25 23:01:34 -0700 | 
| commit | 038d9a232122d9a78622a32606fee401a546a5e9 (patch) | |
| tree | 625354d03da1344700185aa5481336144697f0ac /content_scripts/link_hints.coffee | |
| parent | 55cc9d97662de5198b520dbc622ebb4c386b104c (diff) | |
| parent | bbef25af3718f3f680aa31a6937f9a946627495a (diff) | |
| download | vimium-038d9a232122d9a78622a32606fee401a546a5e9.tar.bz2 | |
Merge pull request #1040 from mrmr1993/noCacheLHFilterType
Query filterLinkHints setting every time, not just page load
Diffstat (limited to 'content_scripts/link_hints.coffee')
| -rw-r--r-- | content_scripts/link_hints.coffee | 16 | 
1 files changed, 8 insertions, 8 deletions
diff --git a/content_scripts/link_hints.coffee b/content_scripts/link_hints.coffee index 8a9ea2f1..77d9d887 100644 --- a/content_scripts/link_hints.coffee +++ b/content_scripts/link_hints.coffee @@ -24,7 +24,8 @@ LinkHints =    delayMode: false    # Handle the link hinting marker generation and matching. Must be initialized after settings have been    # loaded, so that we can retrieve the option setting. -  markerMatcher: undefined +  markerMatcher: -> +    if settings.get("filterLinkHints") then filterHints else alphabetHints    # lock to ensure only one instance runs at a time    isActive: false @@ -32,7 +33,6 @@ LinkHints =    # To be called after linkHints has been generated from linkHintsBase.    #    init: -> -    @markerMatcher = if settings.get("filterLinkHints") then filterHints else alphabetHints    #    # Generate an XPath describing what a clickable element is. @@ -60,7 +60,7 @@ LinkHints =      @isActive = true      @setOpenLinkMode(mode) -    hintMarkers = @markerMatcher.fillInMarkers(@createMarkerFor(el) for el in @getVisibleClickableElements()) +    hintMarkers = @markerMatcher().fillInMarkers(@createMarkerFor(el) for el in @getVisibleClickableElements())      # Note(philc): Append these markers as top level children instead of as child nodes to the link itself,      # because some clickable elements cannot contain children, e.g. submit buttons. This has the caveat @@ -159,7 +159,7 @@ LinkHints =      visibleElements    # -  # Handles shift and esc keys. The other keys are passed to markerMatcher.matchHintsByKey. +  # Handles shift and esc keys. The other keys are passed to markerMatcher().matchHintsByKey.    #    onKeyDownInMode: (hintMarkers, event) ->      return if @delayMode @@ -181,7 +181,7 @@ LinkHints =      if (KeyboardUtils.isEscape(event))        @deactivateMode()      else if (event.keyCode != keyCodes.shiftKey) -      keyResult = @markerMatcher.matchHintsByKey(hintMarkers, event) +      keyResult = @markerMatcher().matchHintsByKey(hintMarkers, event)        linksMatched = keyResult.linksMatched        delay = keyResult.delay ? 0        if (linksMatched.length == 0) @@ -192,7 +192,7 @@ LinkHints =          for marker in hintMarkers            @hideMarker(marker)          for matched in linksMatched -          @showMarker(matched, @markerMatcher.hintKeystrokeQueue.length) +          @showMarker(matched, @markerMatcher().hintKeystrokeQueue.length)      false # We've handled this key, so prevent propagation.    # @@ -237,8 +237,8 @@ LinkHints =    #    deactivateMode: (delay, callback) ->      deactivate = => -      if (LinkHints.markerMatcher.deactivate) -        LinkHints.markerMatcher.deactivate() +      if (LinkHints.markerMatcher().deactivate) +        LinkHints.markerMatcher().deactivate()        if (LinkHints.hintMarkerContainingDiv)          DomUtils.removeElement LinkHints.hintMarkerContainingDiv        LinkHints.hintMarkerContainingDiv = null  | 
