1
0
mirror of https://github.com/gorhill/uBlock.git synced 2024-10-06 09:37:12 +02:00
This commit is contained in:
gorhill 2016-05-28 09:18:36 -04:00
parent fd5f07350c
commit 5ee427d0f8

View File

@ -331,24 +331,38 @@ var matchWhitelistDirective = function(url, hostname, directive) {
/******************************************************************************/
µBlock.toggleFirewallRule = function(details) {
var requestType = details.requestType;
if ( details.action !== 0 ) {
this.sessionFirewall.setCellZ(details.srcHostname, details.desHostname, details.requestType, details.action);
this.sessionFirewall.setCellZ(details.srcHostname, details.desHostname, requestType, details.action);
} else {
this.sessionFirewall.unsetCell(details.srcHostname, details.desHostname, details.requestType);
this.sessionFirewall.unsetCell(details.srcHostname, details.desHostname, requestType);
}
// https://github.com/chrisaljoudi/uBlock/issues/731#issuecomment-73937469
if ( details.persist ) {
if ( details.action !== 0 ) {
this.permanentFirewall.setCellZ(details.srcHostname, details.desHostname, details.requestType, details.action);
this.permanentFirewall.setCellZ(details.srcHostname, details.desHostname, requestType, details.action);
} else {
this.permanentFirewall.unsetCell(details.srcHostname, details.desHostname, details.requestType, details.action);
this.permanentFirewall.unsetCell(details.srcHostname, details.desHostname, requestType, details.action);
}
this.savePermanentFirewallRules();
}
// https://github.com/gorhill/uBlock/issues/1662
// Flush all cached `net` cosmetic filters if we are dealing with a
// collapsable type: any of the cached entries could be a resource on the
// target page.
var srcHostname = details.srcHostname;
if (
(srcHostname !== '*') &&
(requestType === '*' || requestType === 'image' || requestType === '3p' || requestType === '3p-frame')
) {
srcHostname = '*';
}
// https://github.com/chrisaljoudi/uBlock/issues/420
this.cosmeticFilteringEngine.removeFromSelectorCache(details.srcHostname, 'net');
this.cosmeticFilteringEngine.removeFromSelectorCache(srcHostname, 'net');
};
/******************************************************************************/