diff options
| author | ilya | 2009-11-15 18:55:55 -0800 |
|---|---|---|
| committer | ilya | 2009-11-15 18:55:55 -0800 |
| commit | 1d126397d4ecb131f83ee8709df2e2568967ac9c (patch) | |
| tree | 0ab7a846a265968c9a6da1ed4089b04a4292a6dd /background_page.html | |
| parent | 50d376c0663fe7474149541c22de5bb5cbe192b4 (diff) | |
| download | vimium-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.html | 17 |
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(); } }); |
