Browse Source

work toward resolving #853

pull/2/head
gorhill 7 years ago
parent
commit
e9968713e4
No known key found for this signature in database GPG Key ID: 25E1490B761470C2
  1. 2
      src/js/cookies.js
  2. 28
      src/js/matrix.js

2
src/js/cookies.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;
}

28
src/js/matrix.js

@ -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 cachedResult = new Set();
var readTime = 0;
Matrix.prototype.extractAllSourceHostnames = function() {
var srcHostnames = {};
return function() {
if ( readTime !== this.modifiedTime ) {
cachedResult.clear();
for ( var rule of this.rules.keys() ) {
srcHostnames[rule.slice(0, rule.indexOf(' '))] = true;
cachedResult.add(rule.slice(0, rule.indexOf(' ')));
}
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;
readTime = this.modifiedTime;
}
return desHostnames;
return cachedResult;
};
})();
/******************************************************************************/

Loading…
Cancel
Save