From 2e4c0a2bfe57edadf7f4bba23f16fa25c5bd939b Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Mon, 1 Dec 2014 14:25:33 -0200 Subject: [PATCH] remove depending on vapi-appinfo.js --- platform/chromium/vapi-background.js | 8 ++++++++ src/about.html | 1 - src/background.html | 1 - src/js/about.js | 14 +++++++++----- src/js/messaging.js | 17 ++++++++++------- src/js/popup.js | 21 ++++++--------------- src/popup.html | 1 - tools/make-chromium.sh | 1 - 8 files changed, 33 insertions(+), 31 deletions(-) diff --git a/platform/chromium/vapi-background.js b/platform/chromium/vapi-background.js index 22e6e8d9f..6243fd12f 100644 --- a/platform/chromium/vapi-background.js +++ b/platform/chromium/vapi-background.js @@ -35,11 +35,19 @@ self.vAPI = self.vAPI || {}; var vAPI = self.vAPI; var chrome = self.chrome; +var manifest = chrome.runtime.getManifest(); vAPI.chrome = true; /******************************************************************************/ +vAPI.app = { + name: manifest.name, + version: manifest.version +}; + +/******************************************************************************/ + vAPI.storage = chrome.storage.local; /******************************************************************************/ diff --git a/src/about.html b/src/about.html index 10eb28053..9413ab921 100644 --- a/src/about.html +++ b/src/about.html @@ -34,7 +34,6 @@ - diff --git a/src/background.html b/src/background.html index 93295a3f5..1da6f3387 100644 --- a/src/background.html +++ b/src/background.html @@ -8,7 +8,6 @@ - diff --git a/src/js/about.js b/src/js/about.js index 8f2329248..2e2c5c722 100644 --- a/src/js/about.js +++ b/src/js/about.js @@ -122,11 +122,15 @@ var resetUserData = function() { /******************************************************************************/ -uDom('#export').on('click', exportToFile); -uDom('#import').on('click', startImportFilePicker); -uDom('#reset').on('click', resetUserData); -uDom('#restoreFilePicker').on('change', handleImportFilePicker); -uDom('#aboutNameVer').html(vAPI.app.name + ' v' + vAPI.app.version); +var onAppDataReady = function(appData) { + uDom('#aboutNameVer').html(appData.name + ' v' + appData.version); + uDom('#export').on('click', exportToFile); + uDom('#import').on('click', startImportFilePicker); + uDom('#reset').on('click', resetUserData); + uDom('#restoreFilePicker').on('change', handleImportFilePicker); +}; + +messager.send({ what: 'getAppData' }, onAppDataReady); /******************************************************************************/ diff --git a/src/js/messaging.js b/src/js/messaging.js index d46a0a554..9ce437403 100644 --- a/src/js/messaging.js +++ b/src/js/messaging.js @@ -58,6 +58,10 @@ var onMessage = function(request, sender, callback) { µb.contextMenuClientY = request.clientY; break; + case 'getAppData': + response = vAPI.app; + break; + case 'getUserSettings': response = µb.userSettings; break; @@ -114,9 +118,11 @@ var getDynamicFilterResults = function(scope) { var getStats = function(tab) { var r = { + appName: vAPI.app.name, + appVersion: vAPI.app.version, globalBlockedRequestCount: µb.localSettings.blockedRequestCount, globalAllowedRequestCount: µb.localSettings.allowedRequestCount, - tabId: tab.id, + tabId: 0, pageURL: '', pageBlockedRequestCount: 0, pageAllowedRequestCount: 0, @@ -128,8 +134,9 @@ var getStats = function(tab) { '/': getDynamicFilterResults('*') } }; - var pageStore = µb.pageStoreFromTabId(tab.id); + var pageStore = tab && µb.pageStoreFromTabId(tab.id); if ( pageStore ) { + r.tabId = tab.id; r.pageURL = pageStore.pageURL; r.pageHostname = pageStore.pageHostname; r.pageBlockedRequestCount = pageStore.perLoadBlockedRequestCount; @@ -146,11 +153,7 @@ var onMessage = function(request, sender, callback) { // Async switch ( request.what ) { case 'activeTabStats': - vAPI.tabs.get(null, function(tab) { - if ( tab ) { - callback(getStats(tab)); - } - }); + vAPI.tabs.get(null, function(tab) { callback(getStats(tab)); }); return; default: diff --git a/src/js/popup.js b/src/js/popup.js index 4a9b904c5..554cb55ce 100644 --- a/src/js/popup.js +++ b/src/js/popup.js @@ -97,7 +97,7 @@ var syncAllDynamicFilters = function() { /******************************************************************************/ -var renderStats = function(details) { +var renderPopup = function(details) { if ( details ) { stats = details; } @@ -106,6 +106,10 @@ var renderStats = function(details) { return; } + var hdr = uDom('#version'); + hdr.nodes[0].previousSibling.textContent = details.appName; + hdr.html(hdr.html() + 'v' + details.appVersion); + var isHTTP = /^https?:\/\/[0-9a-z]/.test(stats.pageURL); // Conditions for request log: @@ -164,10 +168,6 @@ var renderStats = function(details) { uDom('#dynamicFilteringToggler').toggleClass('on', stats.dynamicFilteringEnabled); }; -messager.send( { - what: 'activeTabStats' -}, renderStats ); - /******************************************************************************/ var toggleNetFilteringSwitch = function(ev) { @@ -186,14 +186,6 @@ var toggleNetFilteringSwitch = function(ev) { /******************************************************************************/ -var renderHeader = function() { - var hdr = uDom('#version'); - hdr.nodes[0].previousSibling.textContent = vAPI.app.name; - hdr.html(hdr.html() + 'v' + vAPI.app.version); -}; - -/******************************************************************************/ - var gotoDashboard = function() { messager.send({ what: 'gotoURL', @@ -301,8 +293,7 @@ var installEventHandlers = function() { // Make menu only when popup html is fully loaded uDom.onLoad(function() { - renderHeader(); - renderStats(); + messager.send({ what: 'activeTabStats' }, renderPopup); installEventHandlers(); }); diff --git a/src/popup.html b/src/popup.html index 3325320fe..56a3654ec 100644 --- a/src/popup.html +++ b/src/popup.html @@ -85,7 +85,6 @@ - diff --git a/tools/make-chromium.sh b/tools/make-chromium.sh index 15ff50672..f466f4132 100755 --- a/tools/make-chromium.sh +++ b/tools/make-chromium.sh @@ -15,7 +15,6 @@ cp -R src/js $DES/ cp -R src/lib $DES/ cp -R src/_locales $DES/ cp src/*.html $DES/ -cp platform/vapi-appinfo.js $DES/js/ cp platform/chromium/*.js $DES/js/ cp platform/chromium/manifest.json $DES/ echo "*** uBlock.chromium: Package done."