From 1d126397d4ecb131f83ee8709df2e2568967ac9c Mon Sep 17 00:00:00 2001 From: ilya Date: Sun, 15 Nov 2009 18:55:55 -0800 Subject: First pass at a settings page. Hooked up scrollStepSize as our first setting. --- background_page.html | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'background_page.html') 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(); } }); -- cgit v1.2.3