aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhil Crosby2009-11-29 01:11:14 -0800
committerPhil Crosby2009-11-29 01:16:23 -0800
commitb04b0320cbeca73d5fac88b1c84f3c666cd2e6c4 (patch)
treee92e027f95f2c0a7d8c9687d6fa21ef5b02f30d6
parentf0ce5c20ea18f138fde0962cedd378fce939d0a6 (diff)
downloadvimium-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.html22
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 });
}
/*