From b04b0320cbeca73d5fac88b1c84f3c666cd2e6c4 Mon Sep 17 00:00:00 2001 From: Phil Crosby Date: Sun, 29 Nov 2009 01:11:14 -0800 Subject: 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. --- background_page.html | 22 +++++++++------------- 1 file 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 }); } /* -- cgit v1.2.3