mirror of
https://github.com/gorhill/uBlock.git
synced 2025-04-07 00:41:19 +08:00
[mv3] Convert domain=
to to=
for csp=
/permissions=
options
Related discussion: https://github.com/uBlockOrigin/uBOL-home/issues/156#issuecomment-2694741399
This commit is contained in:
parent
b29ac98094
commit
1dbd280ba3
@ -89,7 +89,7 @@
|
||||
},
|
||||
"incognito": "split",
|
||||
"manifest_version": 2,
|
||||
"minimum_chrome_version": "80.0",
|
||||
"minimum_chrome_version": "85.0",
|
||||
"name": "uBlock Origin",
|
||||
"options_ui": {
|
||||
"page": "dashboard.html",
|
||||
|
@ -17,7 +17,7 @@
|
||||
"browser_specific_settings": {
|
||||
"gecko": {
|
||||
"id": "uBlock0@raymondhill.net",
|
||||
"strict_min_version": "78.0"
|
||||
"strict_min_version": "79.0"
|
||||
},
|
||||
"gecko_android": {
|
||||
"strict_min_version": "79.0"
|
||||
|
@ -88,7 +88,7 @@
|
||||
},
|
||||
"incognito": "split",
|
||||
"manifest_version": 2,
|
||||
"minimum_opera_version": "67.0",
|
||||
"minimum_opera_version": "79.0",
|
||||
"name": "uBlock Origin",
|
||||
"options_page": "dashboard.html",
|
||||
"permissions": [
|
||||
|
@ -4565,6 +4565,7 @@ StaticNetFilteringEngine.prototype.dnrFromCompiled = function(op, context, ...ar
|
||||
// Patch modifier filters
|
||||
for ( const rule of ruleset ) {
|
||||
if ( rule.__modifierType === undefined ) { continue; }
|
||||
let patchDomainOption = false;
|
||||
switch ( rule.__modifierType ) {
|
||||
case 'csp':
|
||||
rule.action.type = 'modifyHeaders';
|
||||
@ -4576,6 +4577,7 @@ StaticNetFilteringEngine.prototype.dnrFromCompiled = function(op, context, ...ar
|
||||
if ( rule.__modifierAction === ALLOW_REALM ) {
|
||||
dnrAddRuleError(rule, `Unsupported csp exception: ${rule.__modifierValue}`);
|
||||
}
|
||||
patchDomainOption = true;
|
||||
break;
|
||||
case 'permissions':
|
||||
rule.action.type = 'modifyHeaders';
|
||||
@ -4587,6 +4589,7 @@ StaticNetFilteringEngine.prototype.dnrFromCompiled = function(op, context, ...ar
|
||||
if ( rule.__modifierAction === ALLOW_REALM ) {
|
||||
dnrAddRuleError(rule, `Unsupported permissions exception: ${rule.__modifierValue}`);
|
||||
}
|
||||
patchDomainOption = true;
|
||||
break;
|
||||
case 'redirect-rule': {
|
||||
let token = rule.__modifierValue;
|
||||
@ -4689,6 +4692,21 @@ StaticNetFilteringEngine.prototype.dnrFromCompiled = function(op, context, ...ar
|
||||
dnrAddRuleError(rule, `Unsupported modifier ${rule.__modifierType}`);
|
||||
break;
|
||||
}
|
||||
|
||||
// Some modifiers only work on document resources
|
||||
// Related issue: https://github.com/uBlockOrigin/uBOL-home/issues/156
|
||||
if ( patchDomainOption ) {
|
||||
const domains = rule.condition.initiatorDomains;
|
||||
if ( Array.isArray(domains) && domains.length !== 0 ) {
|
||||
rule.condition.requestDomains ||= [];
|
||||
rule.condition.requestDomains.push(...domains);
|
||||
}
|
||||
const notDomains = rule.condition.excludedInitiatorDomains;
|
||||
if ( Array.isArray(notDomains) && notDomains.length !== 0 ) {
|
||||
rule.condition.excludedRequestDomains ||= [];
|
||||
rule.condition.excludedRequestDomains.push(...notDomains);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
|
Loading…
x
Reference in New Issue
Block a user