diff --git a/src/js/popup.js b/src/js/popup.js index 70fdfde..1819fb3 100644 --- a/src/js/popup.js +++ b/src/js/popup.js @@ -71,11 +71,13 @@ var matrixHeaderPrettyNames = { messaging.start('popup.js'); var onMessage = function(msg) { - if ( msg.what === 'urlStatsChanged' ) { - if ( matrixSnapshot.url === msg.pageURL ) { - makeMenu(); - } + if ( msg.what !== 'urlStatsChanged' ) { + return; } + if ( matrixSnapshot.url !== msg.pageURL ) { + return; + } + queryMatrixSnapshot(makeMenu); }; messaging.listen(onMessage); @@ -99,8 +101,7 @@ function setUserSetting(setting, value) { /******************************************************************************/ function updateMatrixSnapshot() { - var snapshotReady = function(response) { - matrixSnapshot = response; + var snapshotReady = function() { updateMatrixColors(); updateMatrixBehavior(); updateMatrixButtons(); @@ -1109,10 +1110,6 @@ function dropDownMenuHide() { // Because chrome.tabs.query() is async var onMatrixSnapshotReady = function(response) { - matrixSnapshot = response; - - targetTabId = response.tabId; - // Now that tabId and pageURL are set, we can build our menu initMenuEnvironment(); makeMenu(); @@ -1137,6 +1134,10 @@ var queryMatrixSnapshot = function(callback) { tabId: targetTabId, tabURL: matrixSnapshot.url }; + var snapshotReceived = function(response) { + matrixSnapshot = response; + callback(); + }; var onTabsReceived = function(tabs) { if ( tabs.length === 0 ) { return; @@ -1144,12 +1145,12 @@ var queryMatrixSnapshot = function(callback) { var tab = tabs[0]; request.tabId = targetTabId = tab.id; request.tabURL = tab.url; - messaging.ask(request, callback); + messaging.ask(request, snapshotReceived); }; if ( targetTabId === undefined ) { chrome.tabs.query({ active: true, currentWindow: true }, onTabsReceived); } else { - messaging.ask(request, callback); + messaging.ask(request, snapshotReceived); } }; diff --git a/src/js/tab.js b/src/js/tab.js index e229548..140e2f7 100644 --- a/src/js/tab.js +++ b/src/js/tab.js @@ -422,7 +422,7 @@ 'gcPageStats', null, gcPageStats, - 5 * 60 * 1000, + (2.5 * 60 * 1000) | 0, true ); })();