aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--content_scripts/link_hints.coffee11
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