aboutsummaryrefslogtreecommitdiffstats
path: root/content_scripts/vimium_frontend.coffee
diff options
context:
space:
mode:
authorStephen Blott2015-04-18 13:20:03 +0100
committerStephen Blott2015-04-18 13:20:03 +0100
commit756312e9f67d73bbaf1e48cc4f9fe0439ccb7f72 (patch)
tree6a933665b710560994b965b970c792a9031f214b /content_scripts/vimium_frontend.coffee
parentf7b1204d8c4ec2e43df5cef65f89556d143cc43e (diff)
parentd0cce1e745b66079e88ab5a5392e7fee048b458e (diff)
downloadvimium-756312e9f67d73bbaf1e48cc4f9fe0439ccb7f72.tar.bz2
Merge pull request #1572 from smblott-github/return-to-viewport
Return to the original viewport (when no find matches)
Diffstat (limited to 'content_scripts/vimium_frontend.coffee')
-rw-r--r--content_scripts/vimium_frontend.coffee14
1 files changed, 9 insertions, 5 deletions
diff --git a/content_scripts/vimium_frontend.coffee b/content_scripts/vimium_frontend.coffee
index dec34774..409a9373 100644
--- a/content_scripts/vimium_frontend.coffee
+++ b/content_scripts/vimium_frontend.coffee
@@ -724,9 +724,12 @@ handleEnterForFindMode = ->
FindModeHistory.saveQuery findModeQuery.rawQuery
class FindMode extends Mode
- constructor: ->
+ constructor: (options = {}) ->
@historyIndex = -1
@partialQuery = ""
+ if options.returnToViewport
+ @scrollX = window.scrollX
+ @scrollY = window.scrollY
super
name: "find"
badge: "/"
@@ -734,6 +737,7 @@ class FindMode extends Mode
exitOnClick: true
keydown: (event) =>
+ window.scrollTo @scrollX, @scrollY if options.returnToViewport
if event.keyCode == keyCodes.backspace || event.keyCode == keyCodes.deleteKey
@exit() unless handleDeleteForFindMode()
@suppressEvent
@@ -756,8 +760,8 @@ class FindMode extends Mode
DomUtils.suppressPropagation(event)
handlerStack.stopBubblingAndFalse
- keypress: (event) ->
- handlerStack.neverContinueBubbling ->
+ keypress: (event) =>
+ handlerStack.neverContinueBubbling =>
if event.keyCode > 31
keyChar = String.fromCharCode event.charCode
handleKeyCharForFindMode keyChar if keyChar
@@ -990,12 +994,12 @@ findModeRestoreSelection = (range = findModeInitialRange) ->
selection.addRange range
# Enters find mode. Returns the new find-mode instance.
-window.enterFindMode = ->
+window.enterFindMode = (options = {}) ->
# Save the selection, so performFindInPlace can restore it.
findModeSaveSelection()
findModeQuery = { rawQuery: "" }
HUD.show("/")
- new FindMode()
+ new FindMode options
exitFindMode = ->
HUD.hide()