mirror of
https://github.com/gorhill/uMatrix.git
synced 2024-06-02 18:34:52 +12:00
Cleaning (#1007)
* remove unused field distinctRequestCount * remove mostly unused RequestStats * write to pageStore.pageUrl, not pageStore.normalURL * remove unused cookie code * remove unused field off
This commit is contained in:
parent
130db1f351
commit
4d7109bf99
|
@ -32,53 +32,6 @@ var oneMinute = 60 * oneSecond;
|
||||||
var oneHour = 60 * oneMinute;
|
var oneHour = 60 * oneMinute;
|
||||||
var oneDay = 24 * oneHour;
|
var oneDay = 24 * oneHour;
|
||||||
|
|
||||||
/******************************************************************************/
|
|
||||||
/******************************************************************************/
|
|
||||||
|
|
||||||
var _RequestStats = function() {
|
|
||||||
this.reset();
|
|
||||||
};
|
|
||||||
|
|
||||||
_RequestStats.prototype.reset = function() {
|
|
||||||
this.all =
|
|
||||||
this.doc =
|
|
||||||
this.frame =
|
|
||||||
this.script =
|
|
||||||
this.css =
|
|
||||||
this.image =
|
|
||||||
this.media =
|
|
||||||
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();
|
|
||||||
};
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
|
|
||||||
SVG-based icons below were extracted from
|
SVG-based icons below were extracted from
|
||||||
|
@ -231,8 +184,6 @@ return {
|
||||||
ubiquitousBlacklist: null,
|
ubiquitousBlacklist: null,
|
||||||
|
|
||||||
// various stats
|
// various stats
|
||||||
requestStatsFactory: requestStatsFactory,
|
|
||||||
requestStats: requestStatsFactory(),
|
|
||||||
cookieRemovedCounter: 0,
|
cookieRemovedCounter: 0,
|
||||||
localStorageRemovedCounter: 0,
|
localStorageRemovedCounter: 0,
|
||||||
cookieHeaderFoiledCounter: 0,
|
cookieHeaderFoiledCounter: 0,
|
||||||
|
|
|
@ -40,14 +40,12 @@
|
||||||
var µm = µMatrix;
|
var µm = µMatrix;
|
||||||
|
|
||||||
var recordPageCookiesQueue = new Map();
|
var recordPageCookiesQueue = new Map();
|
||||||
var removePageCookiesQueue = new Map();
|
|
||||||
var removeCookieQueue = new Set();
|
var removeCookieQueue = new Set();
|
||||||
var cookieDict = new Map();
|
var cookieDict = new Map();
|
||||||
var cookieEntryJunkyard = [];
|
var cookieEntryJunkyard = [];
|
||||||
var processRemoveQueuePeriod = 2 * 60 * 1000;
|
var processRemoveQueuePeriod = 2 * 60 * 1000;
|
||||||
var processCleanPeriod = 10 * 60 * 1000;
|
var processCleanPeriod = 10 * 60 * 1000;
|
||||||
var processPageRecordQueueTimer = null;
|
var processPageRecordQueueTimer = null;
|
||||||
var processPageRemoveQueueTimer = null;
|
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
|
@ -260,24 +258,6 @@ var recordPageCookie = (function() {
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
// Look for cookies to potentially remove for a specific web page
|
|
||||||
|
|
||||||
var removePageCookiesAsync = function(pageStats) {
|
|
||||||
// Hold onto pageStats objects so that it doesn't go away
|
|
||||||
// before we handle the job.
|
|
||||||
// rhill 2013-10-19: pageStats could be nil, for example, this can
|
|
||||||
// happens if a file:// ... makes an xmlHttpRequest
|
|
||||||
if ( !pageStats ) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
removePageCookiesQueue.set(pageStats.pageUrl, pageStats);
|
|
||||||
if ( processPageRemoveQueueTimer === null ) {
|
|
||||||
processPageRemoveQueueTimer = vAPI.setTimeout(processPageRemoveQueue, 15 * 1000);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/******************************************************************************/
|
|
||||||
|
|
||||||
// Candidate for removal
|
// Candidate for removal
|
||||||
|
|
||||||
var removeCookieAsync = function(cookieKey) {
|
var removeCookieAsync = function(cookieKey) {
|
||||||
|
@ -332,17 +312,6 @@ var processPageRecordQueue = function() {
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
var processPageRemoveQueue = function() {
|
|
||||||
processPageRemoveQueueTimer = null;
|
|
||||||
|
|
||||||
for ( var pageStore of removePageCookiesQueue.values() ) {
|
|
||||||
findAndRemovePageCookies(pageStore);
|
|
||||||
}
|
|
||||||
removePageCookiesQueue.clear();
|
|
||||||
};
|
|
||||||
|
|
||||||
/******************************************************************************/
|
|
||||||
|
|
||||||
// Effectively remove cookies.
|
// Effectively remove cookies.
|
||||||
|
|
||||||
var processRemoveQueue = function() {
|
var processRemoveQueue = function() {
|
||||||
|
@ -442,16 +411,6 @@ var findAndRecordPageCookies = function(pageStore) {
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
var findAndRemovePageCookies = function(pageStore) {
|
|
||||||
for ( var cookieKey of cookieDict.keys() ) {
|
|
||||||
if ( cookieMatchDomains(cookieKey, pageStore.allHostnamesString) ) {
|
|
||||||
removeCookieAsync(cookieKey);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/******************************************************************************/
|
|
||||||
|
|
||||||
var canRemoveCookie = function(cookieKey, srcHostnames) {
|
var canRemoveCookie = function(cookieKey, srcHostnames) {
|
||||||
var cookieEntry = cookieDict.get(cookieKey);
|
var cookieEntry = cookieDict.get(cookieKey);
|
||||||
if ( cookieEntry === undefined ) { return false; }
|
if ( cookieEntry === undefined ) { return false; }
|
||||||
|
@ -587,8 +546,7 @@ vAPI.setTimeout(processClean, processCleanPeriod);
|
||||||
// Expose only what is necessary
|
// Expose only what is necessary
|
||||||
|
|
||||||
return {
|
return {
|
||||||
recordPageCookies: recordPageCookiesAsync,
|
recordPageCookies: recordPageCookiesAsync
|
||||||
removePageCookies: removePageCookiesAsync
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
|
@ -226,7 +226,7 @@ var matrixSnapshot = function(pageStore, details) {
|
||||||
|
|
||||||
let r = {
|
let r = {
|
||||||
appVersion: vAPI.app.version,
|
appVersion: vAPI.app.version,
|
||||||
blockedCount: pageStore.requestStats.blocked.all,
|
blockedCount: pageStore.perLoadBlockedRequestCount,
|
||||||
collapseAllDomains: µmuser.popupCollapseAllDomains,
|
collapseAllDomains: µmuser.popupCollapseAllDomains,
|
||||||
collapseBlacklistedDomains: µmuser.popupCollapseBlacklistedDomains,
|
collapseBlacklistedDomains: µmuser.popupCollapseBlacklistedDomains,
|
||||||
diff: [],
|
diff: [],
|
||||||
|
|
|
@ -104,8 +104,6 @@ var PageStore = function(tabContext) {
|
||||||
this.hostnameTypeCells = new Map();
|
this.hostnameTypeCells = new Map();
|
||||||
this.domains = new Set();
|
this.domains = new Set();
|
||||||
this.blockedCollapsibles = new BlockedCollapsibles();
|
this.blockedCollapsibles = new BlockedCollapsibles();
|
||||||
this.requestStats = µm.requestStatsFactory();
|
|
||||||
this.off = false;
|
|
||||||
this.init(tabContext);
|
this.init(tabContext);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -125,8 +123,6 @@ PageStore.prototype = {
|
||||||
this.domains.clear();
|
this.domains.clear();
|
||||||
this.allHostnamesString = ' ';
|
this.allHostnamesString = ' ';
|
||||||
this.blockedCollapsibles.reset();
|
this.blockedCollapsibles.reset();
|
||||||
this.requestStats.reset();
|
|
||||||
this.distinctRequestCount = 0;
|
|
||||||
this.perLoadAllowedRequestCount = 0;
|
this.perLoadAllowedRequestCount = 0;
|
||||||
this.perLoadBlockedRequestCount = 0;
|
this.perLoadBlockedRequestCount = 0;
|
||||||
this.perLoadBlockedReferrerCount = 0;
|
this.perLoadBlockedReferrerCount = 0;
|
||||||
|
@ -232,15 +228,8 @@ PageStore.prototype = {
|
||||||
if ( uids.has(uid) ) { return; }
|
if ( uids.has(uid) ) { return; }
|
||||||
uids.add(uid);
|
uids.add(uid);
|
||||||
|
|
||||||
// Count blocked/allowed requests
|
|
||||||
this.requestStats.record(type, block);
|
|
||||||
|
|
||||||
// https://github.com/gorhill/httpswitchboard/issues/306
|
|
||||||
// If it is recorded locally, record globally
|
|
||||||
µm.requestStats.record(type, block);
|
|
||||||
µm.updateBadgeAsync(this.tabId);
|
µm.updateBadgeAsync(this.tabId);
|
||||||
|
|
||||||
this.distinctRequestCount++;
|
|
||||||
this.mtxCountModifiedTime = Date.now();
|
this.mtxCountModifiedTime = Date.now();
|
||||||
|
|
||||||
if ( this.domains.has(hostname) === false ) {
|
if ( this.domains.has(hostname) === false ) {
|
||||||
|
|
|
@ -472,7 +472,7 @@ vAPI.tabs.registerListeners();
|
||||||
pageStore.pageHostname === tabContext.rootHostname
|
pageStore.pageHostname === tabContext.rootHostname
|
||||||
) {
|
) {
|
||||||
pageStore.rawURL = tabContext.rawURL;
|
pageStore.rawURL = tabContext.rawURL;
|
||||||
pageStore.normalURL = normalURL;
|
pageStore.pageUrl = normalURL;
|
||||||
this.updateTitle(tabId);
|
this.updateTitle(tabId);
|
||||||
this.pageStoresToken = Date.now();
|
this.pageStoresToken = Date.now();
|
||||||
return pageStore;
|
return pageStore;
|
||||||
|
|
Loading…
Reference in a new issue