diff options
| author | Phil Crosby | 2009-11-29 01:11:14 -0800 |
|---|---|---|
| committer | Phil Crosby | 2009-11-29 01:16:23 -0800 |
| commit | b04b0320cbeca73d5fac88b1c84f3c666cd2e6c4 (patch) | |
| tree | e92e027f95f2c0a7d8c9687d6fa21ef5b02f30d6 | |
| parent | f0ce5c20ea18f138fde0962cedd378fce939d0a6 (diff) | |
| download | vimium-b04b0320cbeca73d5fac88b1c84f3c666cd2e6c4.tar.bz2 | |
Avoid using getSelected in getSetting and getZoomLevel, because the tab may be executing
in the background.
This will be the case if you open a new tab via middle-clicking on a link.
| -rw-r--r-- | background_page.html | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/background_page.html b/background_page.html index 64bd582b..81e4c4a6 100644 --- a/background_page.html +++ b/background_page.html @@ -59,26 +59,22 @@ /* * Returns the previously saved zoom level for the current tab, or the default zoom level */ - function getZoomLevel(args) { - chrome.tabs.getSelected(null, function(tab) { - var returnPort = chrome.tabs.connect(tab.id, { name: "returnZoomLevel" }); - var localStorageKey = "zoom" + args.domain; - var zoomLevelForDomain = (localStorage[localStorageKey] || "").split(",")[1]; - var zoomLevel = parseInt(zoomLevelForDomain || localStorage["defaultZoomLevel"] || 100); - returnPort.postMessage({ zoomLevel: zoomLevel }); - }); + function getZoomLevel(args, port) { + var returnPort = chrome.tabs.connect(port.tab.id, { name: "returnZoomLevel" }); + var localStorageKey = "zoom" + args.domain; + var zoomLevelForDomain = (localStorage[localStorageKey] || "").split(",")[1]; + var zoomLevel = parseInt(zoomLevelForDomain || localStorage["defaultZoomLevel"] || 100); + returnPort.postMessage({ zoomLevel: zoomLevel }); } /* * Used by the content scripts to get settings from the local storage. */ - function getSetting(args) { + function getSetting(args, port) { 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 }); - }); + var returnPort = chrome.tabs.connect(port.tab.id, { name: "returnSetting" }); + returnPort.postMessage({ key: args.key, value: value }); } /* |
