aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--content_scripts/hud.coffee4
-rw-r--r--content_scripts/mode_find.coffee5
-rw-r--r--content_scripts/mode_visual_edit.coffee2
3 files changed, 6 insertions, 5 deletions
diff --git a/content_scripts/hud.coffee b/content_scripts/hud.coffee
index cd34efe8..2f4e008c 100644
--- a/content_scripts/hud.coffee
+++ b/content_scripts/hud.coffee
@@ -33,9 +33,7 @@ HUD =
@tween.fade 1.0, 150
search: (data) ->
- window.scrollTo @findMode.scrollX, @findMode.scrollY if @findMode.options.returnToViewport
- FindMode.updateQuery data.query
- @findMode.findInPlace()
+ @findMode.findInPlace data.query
# Show the number of matches in the HUD UI.
matchCount = if FindMode.query.parsedQuery.length > 0 then FindMode.query.matchCount else 0
diff --git a/content_scripts/mode_find.coffee b/content_scripts/mode_find.coffee
index ff9506e7..21918be2 100644
--- a/content_scripts/mode_find.coffee
+++ b/content_scripts/mode_find.coffee
@@ -84,7 +84,10 @@ class FindMode extends Mode
selection.removeAllRanges()
selection.addRange range
- findInPlace: ->
+ findInPlace: (query) ->
+ # If requested, restore the scroll position (so that failed searches leave the scroll position unchanged).
+ window.scrollTo @scrollX, @scrollY if @options.returnToViewport
+ FindMode.updateQuery query
# Restore the selection. That way, we're always searching forward from the same place, so we find the right
# match as the user adds matching characters, or removes previously-matched characters. See #1434.
@restoreSelection()
diff --git a/content_scripts/mode_visual_edit.coffee b/content_scripts/mode_visual_edit.coffee
index eaaf94d4..170071ac 100644
--- a/content_scripts/mode_visual_edit.coffee
+++ b/content_scripts/mode_visual_edit.coffee
@@ -353,7 +353,7 @@ class Movement extends CountPrefix
do =>
doFind = (count, backwards) =>
initialRange = @selection.getRangeAt(0).cloneRange()
- for [0...count] by 1
+ for [0...count]
unless FindMode.execute null, {colorSelection: false, backwards}
@setSelectionRange initialRange
HUD.showForDuration("No matches for '#{FindMode.query.rawQuery}'", 1000)