diff options
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(); } }); |
