aboutsummaryrefslogtreecommitdiffstats
path: root/background_page.html
diff options
context:
space:
mode:
authorilya2009-11-15 18:55:55 -0800
committerilya2009-11-15 18:55:55 -0800
commit1d126397d4ecb131f83ee8709df2e2568967ac9c (patch)
tree0ab7a846a265968c9a6da1ed4089b04a4292a6dd /background_page.html
parent50d376c0663fe7474149541c22de5bb5cbe192b4 (diff)
downloadvimium-1d126397d4ecb131f83ee8709df2e2568967ac9c.tar.bz2
First pass at a settings page. Hooked up scrollStepSize as our first setting.
Diffstat (limited to 'background_page.html')
-rw-r--r--background_page.html17
1 files changed, 16 insertions, 1 deletions
diff --git a/background_page.html b/background_page.html
index ca55ada8..d8f28df4 100644
--- a/background_page.html
+++ b/background_page.html
@@ -4,10 +4,13 @@
var tabQueue = {}; // windowId -> Array
var keyQueue = ""; // Queue of keys typed
+ var defaultSettings = { "scrollStepSize": 60 };
+
// Port handler mapping
var portHandlers = { "keyDown": handleKeyDown,
"returnScrollPosition": handleReturnScrollPosition,
- "getCurrentTabUrl": getCurrentTabUrl };
+ "getCurrentTabUrl": getCurrentTabUrl,
+ "getSetting": getSetting};
// Event handlers
var selectionChangedHandlers = [];
@@ -50,6 +53,18 @@
});
}
+ /*
+ * Used by the content scripts to get settings from the local storage.
+ */
+ function getSetting(args) {
+ var value = localStorage[args.key] ? localStorage[args.key] : defaultSettings[args.key];
+
+ chrome.tabs.getSelected(null, function (tab) {
+ var returnPort = chrome.tabs.connect(tab.id, { name: "returnSetting" });
+ returnPort.postMessage({ key: args.key, value: value });
+ });
+ }
+
chrome.tabs.onSelectionChanged.addListener(function (tabId, selectionInfo) {
if (selectionChangedHandlers.length > 0) { selectionChangedHandlers.pop().call(); }
});