diff --git a/src/background.html b/src/background.html index ad7d259..9770a60 100644 --- a/src/background.html +++ b/src/background.html @@ -10,7 +10,6 @@ - @@ -20,7 +19,6 @@ - diff --git a/src/js/background.js b/src/js/background.js index 8c8f1c6..15ef63e 100644 --- a/src/js/background.js +++ b/src/js/background.js @@ -32,6 +32,7 @@ var oneMinute = 60 * oneSecond; var oneHour = 60 * oneMinute; var oneDay = 24 * oneHour; +/******************************************************************************/ /******************************************************************************/ var defaultUserAgentStrings = [ @@ -48,6 +49,54 @@ var defaultUserAgentStrings = [ '' ].join('\n').trim(); +/******************************************************************************/ +/******************************************************************************/ + +var _RequestStats = function() { + this.reset(); +}; + +_RequestStats.prototype.reset = function() { + this.all = + this.doc = + this.frame = + this.script = + this.css = + this.image = + this.plugin = + this.xhr = + this.other = + this.cookie = 0; +}; + +/******************************************************************************/ + +var RequestStats = function() { + this.allowed = new _RequestStats(); + this.blocked = new _RequestStats(); +}; + +RequestStats.prototype.reset = function() { + this.blocked.reset(); + this.allowed.reset(); +}; + +RequestStats.prototype.record = function(type, blocked) { + // Remember: always test against **false** + if ( blocked !== false ) { + this.blocked[type] += 1; + this.blocked.all += 1; + } else { + this.allowed[type] += 1; + this.allowed.all += 1; + } +}; + +var requestStatsFactory = function() { + return new RequestStats(); +}; + +/******************************************************************************/ /******************************************************************************/ return { @@ -100,7 +149,8 @@ return { ubiquitousBlacklist: null, // various stats - requestStats: new WebRequestStats(), + requestStatsFactory: requestStatsFactory, + requestStats: requestStatsFactory(), cookieRemovedCounter: 0, localStorageRemovedCounter: 0, cookieHeaderFoiledCounter: 0, diff --git a/src/js/pagestats.js b/src/js/pagestats.js index d195c35..779128d 100644 --- a/src/js/pagestats.js +++ b/src/js/pagestats.js @@ -321,7 +321,7 @@ var pageStoreFactory = function(tabContext) { /******************************************************************************/ function PageStore(tabContext) { - this.requestStats = new WebRequestStats(); + this.requestStats = µm.requestStatsFactory(); this.off = false; this.init(tabContext); } diff --git a/src/js/reqstats.js b/src/js/reqstats.js deleted file mode 100644 index 829884f..0000000 --- a/src/js/reqstats.js +++ /dev/null @@ -1,56 +0,0 @@ -/******************************************************************************* - - µMatrix - a Chromium browser extension to black/white list requests. - Copyright (C) 2014 Raymond Hill - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see {http://www.gnu.org/licenses/}. - - Home: https://github.com/gorhill/uMatrix -*/ - -/******************************************************************************/ - -_WebRequestStats.prototype.reset = function() { - this.all = - this.doc = - this.frame = - this.script = - this.css = - this.image = - this.plugin = - this.xhr = - this.other = - this.cookie = 0; -}; - -/******************************************************************************/ - -WebRequestStats.prototype.record = function(type, blocked) { - // Remember: always test against **false** - if ( blocked !== false ) { - this.blocked[type] += 1; - this.blocked.all += 1; - } else { - this.allowed[type] += 1; - this.allowed.all += 1; - } -}; - -/******************************************************************************/ - -WebRequestStats.prototype.reset = function() { - this.blocked.reset(); - this.allowed.reset(); -}; - diff --git a/src/js/types.js b/src/js/types.js deleted file mode 100644 index 0d84984..0000000 --- a/src/js/types.js +++ /dev/null @@ -1,40 +0,0 @@ -/******************************************************************************* - - µMatrix - a Chromium browser extension to black/white list requests. - Copyright (C) 2014 Raymond Hill - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see {http://www.gnu.org/licenses/}. - - Home: https://github.com/gorhill/uMatrix -*/ - -/******************************************************************************/ - -function _WebRequestStats() { - this.all = - this.doc = - this.css = - this.frame = - this.script = - this.image = - this.plugin = - this.xhr = - this.other = - this.cookie = 0; -} - -function WebRequestStats() { - this.allowed = new _WebRequestStats(); - this.blocked = new _WebRequestStats(); -}