diff options
Diffstat (limited to 'content_scripts')
| -rw-r--r-- | content_scripts/link_hints.coffee | 11 | 
1 files changed, 8 insertions, 3 deletions
| diff --git a/content_scripts/link_hints.coffee b/content_scripts/link_hints.coffee index 6e1ebe80..0f2425c3 100644 --- a/content_scripts/link_hints.coffee +++ b/content_scripts/link_hints.coffee @@ -487,9 +487,9 @@ class FilterHints      scoreFunction = @scoreLinkHint @linkTextKeystrokeQueue.join ""      matchingHintMarkers =        hintMarkers -        .filter (linkMarker) -> +        .filter (linkMarker) =>            linkMarker.score = scoreFunction linkMarker -          0 < linkMarker.score +          0 == @linkTextKeystrokeQueue.length or 0 < linkMarker.score          .sort (a, b) ->            if b.score == a.score then b.stableSortCount - a.stableSortCount else b.score - a.score @@ -509,7 +509,10 @@ class FilterHints    scoreLinkHint: (linkSearchString) ->      searchWords = linkSearchString.trim().toLowerCase().split @splitRegexp      (linkMarker) => -      linkWords = linkMarker.linkWords ?= linkMarker.linkText.toLowerCase().split @splitRegexp +      return 0 unless 0 < searchWords.length +      # We only keep non-empty link words.  Empty link words cannot be matched, and leading empty link words +      # disrupt the scoring of matches at the start of the text. +      linkWords = linkMarker.linkWords ?= linkMarker.linkText.toLowerCase().split(@splitRegexp).filter (term) -> term        searchWordScores =          for searchWord in searchWords @@ -628,6 +631,8 @@ LocalHints =          isClickable ||=            if element == document.body and windowIsFocused() and Scroller.isScrollableElement element              reason = "Scroll." +      when "img" +        isClickable ||= element.style.cursor in ["zoom-in", "zoom-out"]        when "div", "ol", "ul"          isClickable ||=            if element.clientHeight < element.scrollHeight and Scroller.isScrollableElement element | 
