Browse Source

code review

pull/2/head
gorhill 10 years ago
parent
commit
aea695bf8b
  1. 2
      src/background.html
  2. 52
      src/js/background.js
  3. 2
      src/js/pagestats.js
  4. 56
      src/js/reqstats.js
  5. 40
      src/js/types.js

2
src/background.html

@ -10,7 +10,6 @@
<script src="lib/yamd5.js"></script> <script src="lib/yamd5.js"></script>
<script src="js/vapi-common.js"></script> <script src="js/vapi-common.js"></script>
<script src="js/vapi-background.js"></script> <script src="js/vapi-background.js"></script>
<script src="js/types.js"></script>
<script src="js/background.js"></script> <script src="js/background.js"></script>
<script src="js/xal.js"></script> <script src="js/xal.js"></script>
<script src="js/usersettings.js"></script> <script src="js/usersettings.js"></script>
@ -20,7 +19,6 @@
<script src="js/utils.js"></script> <script src="js/utils.js"></script>
<script src="js/assets.js"></script> <script src="js/assets.js"></script>
<script src="js/httpsb.js"></script> <script src="js/httpsb.js"></script>
<script src="js/reqstats.js"></script>
<script src="js/uritools.js"></script> <script src="js/uritools.js"></script>
<script src="js/cookies.js"></script> <script src="js/cookies.js"></script>
<script src="js/logger.js"></script> <script src="js/logger.js"></script>

52
src/js/background.js

@ -32,6 +32,7 @@ var oneMinute = 60 * oneSecond;
var oneHour = 60 * oneMinute; var oneHour = 60 * oneMinute;
var oneDay = 24 * oneHour; var oneDay = 24 * oneHour;
/******************************************************************************/
/******************************************************************************/ /******************************************************************************/
var defaultUserAgentStrings = [ var defaultUserAgentStrings = [
@ -48,6 +49,54 @@ var defaultUserAgentStrings = [
'' ''
].join('\n').trim(); ].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 { return {
@ -100,7 +149,8 @@ return {
ubiquitousBlacklist: null, ubiquitousBlacklist: null,
// various stats // various stats
requestStats: new WebRequestStats(),
requestStatsFactory: requestStatsFactory,
requestStats: requestStatsFactory(),
cookieRemovedCounter: 0, cookieRemovedCounter: 0,
localStorageRemovedCounter: 0, localStorageRemovedCounter: 0,
cookieHeaderFoiledCounter: 0, cookieHeaderFoiledCounter: 0,

2
src/js/pagestats.js

@ -321,7 +321,7 @@ var pageStoreFactory = function(tabContext) {
/******************************************************************************/ /******************************************************************************/
function PageStore(tabContext) { function PageStore(tabContext) {
this.requestStats = new WebRequestStats();
this.requestStats = µm.requestStatsFactory();
this.off = false; this.off = false;
this.init(tabContext); this.init(tabContext);
} }

56
src/js/reqstats.js

@ -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();
};

40
src/js/types.js

@ -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();
}
Loading…
Cancel
Save