aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Blott2015-02-08 08:54:12 +0000
committerStephen Blott2015-02-08 08:54:12 +0000
commitc7ada0369f5f49180246eec655249a85643d5df2 (patch)
tree2049812850989c9f78f5b33951bcafdcd8a64fe1
parenta656b1f52c6879bb9b4468bbaffe7664e48926c0 (diff)
downloadvimium-c7ada0369f5f49180246eec655249a85643d5df2.tar.bz2
Refactor migration code for find-mode history.
Doing the migration in a content script is dumb. Now we do it on the background page.
-rw-r--r--background_scripts/settings.coffee8
-rw-r--r--content_scripts/vimium_frontend.coffee16
2 files changed, 11 insertions, 13 deletions
diff --git a/background_scripts/settings.coffee b/background_scripts/settings.coffee
index 2fc3b43d..70b94429 100644
--- a/background_scripts/settings.coffee
+++ b/background_scripts/settings.coffee
@@ -121,3 +121,11 @@ root.Settings = Settings =
if Utils.compareVersions("1.42", Settings.get("settingsVersion")) != -1
Settings.set("scrollStepSize", parseFloat Settings.get("scrollStepSize"))
Settings.set("settingsVersion", Utils.getCurrentVersion())
+
+# Migration (after 1.49, 2015/2/1).
+# Legacy setting: findModeRawQuery (a string).
+# New setting: findModeRawQueryList (a list of strings).
+unless Settings.has "findModeRawQueryList"
+ rawQuery = Settings.get "findModeRawQuery"
+ Settings.set "findModeRawQueryList", (if rawQuery then [ rawQuery ] else [])
+
diff --git a/content_scripts/vimium_frontend.coffee b/content_scripts/vimium_frontend.coffee
index f6499353..76c654a6 100644
--- a/content_scripts/vimium_frontend.coffee
+++ b/content_scripts/vimium_frontend.coffee
@@ -41,9 +41,9 @@ settings =
port: null
values: {}
loadedValues: 0
- valuesToLoad: ["scrollStepSize", "linkHintCharacters", "linkHintNumbers", "filterLinkHints", "hideHud",
- "previousPatterns", "nextPatterns", "findModeRawQuery", "findModeRawQueryList", "regexFindMode", "userDefinedLinkHintCss",
- "helpDialog_showAdvancedCommands", "smoothScroll"]
+ valuesToLoad: [ "scrollStepSize", "linkHintCharacters", "linkHintNumbers", "filterLinkHints", "hideHud",
+ "previousPatterns", "nextPatterns", "findModeRawQuery", "findModeRawQueryList", "regexFindMode",
+ "userDefinedLinkHintCss", "helpDialog_showAdvancedCommands", "smoothScroll" ]
isLoaded: false
eventListeners: {}
@@ -537,24 +537,14 @@ isValidFirstKey = (keyChar) ->
# queries, most recent first.
FindModeHistory =
getQuery: (index = 0) ->
- @migration()
recentQueries = settings.get "findModeRawQueryList"
if index < recentQueries.length then recentQueries[index] else ""
recordQuery: (query) ->
- @migration()
if 0 < query.length
recentQueries = settings.get "findModeRawQueryList"
settings.set "findModeRawQueryList", ([ query ].concat recentQueries.filter (q) -> q != query)[0..50]
- # Migration (from 1.49, 2015/2/1).
- # Legacy setting: findModeRawQuery (a string).
- # New setting: findModeRawQueryList (a list of strings).
- migration: ->
- unless settings.get "findModeRawQueryList"
- rawQuery = settings.get "findModeRawQuery"
- settings.set "findModeRawQueryList", (if rawQuery then [ rawQuery ] else [])
-
# should be called whenever rawQuery is modified.
updateFindModeQuery = ->
# the query can be treated differently (e.g. as a plain string versus regex depending on the presence of