gorhill
7 years ago
No known key found for this signature in database
GPG Key ID: 25E1490B761470C2
2 changed files with
16 additions and
24 deletions
-
src/js/cookies.js
-
src/js/matrix.js
|
|
@ -475,7 +475,7 @@ var canRemoveCookie = function(cookieKey, srcHostnames) { |
|
|
|
srcHostname = cookieHostname; |
|
|
|
var pos; |
|
|
|
for (;;) { |
|
|
|
if ( srcHostnames.hasOwnProperty(srcHostname) ) { |
|
|
|
if ( srcHostnames.has(srcHostname) ) { |
|
|
|
if ( µm.mustAllow(srcHostname, cookieHostname, 'cookie') ) { |
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
@ -554,29 +554,21 @@ Matrix.prototype.evaluateSwitchZ = function(switchName, srcHostname) { |
|
|
|
|
|
|
|
/******************************************************************************/ |
|
|
|
|
|
|
|
// TODO: In all likelyhood, will have to optmize here, i.e. keeping an
|
|
|
|
// up-to-date collection of src hostnames with reference count etc.
|
|
|
|
|
|
|
|
Matrix.prototype.extractAllSourceHostnames = function() { |
|
|
|
var srcHostnames = {}; |
|
|
|
for ( var rule of this.rules.keys() ) { |
|
|
|
srcHostnames[rule.slice(0, rule.indexOf(' '))] = true; |
|
|
|
} |
|
|
|
return srcHostnames; |
|
|
|
}; |
|
|
|
|
|
|
|
/******************************************************************************/ |
|
|
|
|
|
|
|
// TODO: In all likelyhood, will have to optmize here, i.e. keeping an
|
|
|
|
// up-to-date collection of src hostnames with reference count etc.
|
|
|
|
|
|
|
|
Matrix.prototype.extractAllDestinationHostnames = function() { |
|
|
|
var desHostnames = {}; |
|
|
|
for ( var rule of this.rules.keys() ) { |
|
|
|
desHostnames[this.desHostnameFromRule(rule)] = true; |
|
|
|
} |
|
|
|
return desHostnames; |
|
|
|
}; |
|
|
|
Matrix.prototype.extractAllSourceHostnames = (function() { |
|
|
|
var cachedResult = new Set(); |
|
|
|
var readTime = 0; |
|
|
|
|
|
|
|
return function() { |
|
|
|
if ( readTime !== this.modifiedTime ) { |
|
|
|
cachedResult.clear(); |
|
|
|
for ( var rule of this.rules.keys() ) { |
|
|
|
cachedResult.add(rule.slice(0, rule.indexOf(' '))); |
|
|
|
} |
|
|
|
readTime = this.modifiedTime; |
|
|
|
} |
|
|
|
return cachedResult; |
|
|
|
}; |
|
|
|
})(); |
|
|
|
|
|
|
|
/******************************************************************************/ |
|
|
|
|
|
|
|