aboutsummaryrefslogtreecommitdiffstats
path: root/content_scripts
diff options
context:
space:
mode:
Diffstat (limited to 'content_scripts')
-rw-r--r--content_scripts/marks.coffee25
-rw-r--r--content_scripts/vimium_frontend.coffee10
2 files changed, 18 insertions, 17 deletions
diff --git a/content_scripts/marks.coffee b/content_scripts/marks.coffee
index fab509a7..9c6b1458 100644
--- a/content_scripts/marks.coffee
+++ b/content_scripts/marks.coffee
@@ -12,6 +12,12 @@ Marks =
getLocationKey: (keyChar) ->
"vimiumMark|#{window.location.href.split('#')[0]}|#{keyChar}"
+ getMarkString: ->
+ JSON.stringify scrollX: window.scrollX, scrollY: window.scrollY
+
+ setPreviousPosition: ->
+ @previousPosition = @getMarkString()
+
showMessage: (message, keyChar) ->
HUD.showForDuration "#{message} \"#{keyChar}\".", 1000
@@ -34,21 +40,16 @@ Marks =
scrollY: window.scrollY
, => @showMessage "Created global mark", keyChar
else
- @exit => @markPosition keyChar
-
- markPosition: (keyChar = null) ->
- markString = JSON.stringify scrollX: window.scrollX, scrollY: window.scrollY
- if keyChar?
- localStorage[@getLocationKey keyChar] = markString
- @showMessage "Created local mark", keyChar
- else
- @previousPosition = markString
+ @exit =>
+ markString = JSON.stringify scrollX: window.scrollX, scrollY: window.scrollY
+ localStorage[@getLocationKey keyChar] = @getMarkString()
+ @showMessage "Created local mark", keyChar
activateGotoMode: (registryEntry) ->
# We pick off the last character of the key sequence used to launch this command. Usually this is just "`".
# We then use that character, so together usually the sequence "``", to jump back to the previous
- # position. The "previous position" is recorded below, and is registered via @markPosition() elsewhere
- # for various other jump-like commands.
+ # position. The "previous position" is recorded below, and is registered via @setPreviousPosition()
+ # elsewhere for various other jump-like commands.
previousPositionKey = registryEntry.key[registryEntry.key.length-1..]
@mode = new Mode
name: "goto-mark"
@@ -66,7 +67,7 @@ Marks =
if keyChar == previousPositionKey then @previousPosition else localStorage[@getLocationKey keyChar]
@exit =>
if markString?
- @markPosition()
+ @setPreviousPosition()
position = JSON.parse markString
window.scrollTo position.scrollX, position.scrollY
@showMessage "Jumped to local mark", keyChar
diff --git a/content_scripts/vimium_frontend.coffee b/content_scripts/vimium_frontend.coffee
index fec0dae2..f644ea35 100644
--- a/content_scripts/vimium_frontend.coffee
+++ b/content_scripts/vimium_frontend.coffee
@@ -267,7 +267,7 @@ executePageCommand = (request) ->
setScrollPosition = (scrollX, scrollY) ->
if (scrollX > 0 || scrollY > 0)
DomUtils.documentReady ->
- Marks.markPosition()
+ Marks.setPreviousPosition()
window.scrollTo scrollX, scrollY
#
@@ -305,10 +305,10 @@ window.focusThisFrame = do ->
extend window,
scrollToBottom: ->
- Marks.markPosition()
+ Marks.setPreviousPosition()
Scroller.scrollTo "y", "max"
scrollToTop: ->
- Marks.markPosition()
+ Marks.setPreviousPosition()
Scroller.scrollTo "y", 0
scrollToLeft: -> Scroller.scrollTo "x", 0
scrollToRight: -> Scroller.scrollTo "x", "max"
@@ -870,7 +870,7 @@ window.getFindModeQuery = (backwards) ->
findModeQuery.parsedQuery
findAndFocus = (backwards) ->
- Marks.markPosition()
+ Marks.setPreviousPosition()
query = getFindModeQuery backwards
findModeQueryHasResults =
@@ -1017,7 +1017,7 @@ findModeRestoreSelection = (range = findModeInitialRange) ->
# Enters find mode. Returns the new find-mode instance.
window.enterFindMode = (options = {}) ->
- Marks.markPosition()
+ Marks.setPreviousPosition()
# Save the selection, so performFindInPlace can restore it.
findModeSaveSelection()
findModeQuery = rawQuery: ""