[mv3] Fix dnr-parser for Safari compatibility

This commit is contained in:
Raymond Hill 2025-05-29 14:33:30 -04:00
parent 6221cecf57
commit c142d9af67
No known key found for this signature in database
GPG key ID: 25E1490B761470C2
2 changed files with 18 additions and 4 deletions

View file

@ -245,6 +245,8 @@ function getAutocompleteCandidates(from) {
{ token: 'urlFilter:', after: ' ' },
{ token: 'initiatorDomains:', after: '\n - ' },
{ token: 'excludedInitiatorDomains:', after: '\n - ' },
{ token: 'domains:', after: '\n - ' },
{ token: 'excludedDomains:', after: '\n - ' },
{ token: 'requestDomains:', after: '\n - ' },
{ token: 'excludedRequestDomains:', after: '\n - ' },
{ token: 'resourceTypes:', after: '\n - ' },

View file

@ -294,12 +294,14 @@ const perScopeParsers = {
rule.condition.urlFilter = val;
break;
case 'initiatorDomains':
rule.condition.initiatorDomains = [];
scope.push('initiatorDomains');
case 'domains':
rule.condition[key] = [];
scope.push(key);
break;
case 'excludedInitiatorDomains':
rule.condition.excludedInitiatorDomains = [];
scope.push('excludedInitiatorDomains');
case 'excludedDomains':
rule.condition[key] = [];
scope.push(key);
break;
case 'requestDomains':
rule.condition.requestDomains = [];
@ -348,6 +350,16 @@ const perScopeParsers = {
rule.condition.excludedInitiatorDomains.push(node.val);
return true;
},
'condition.domains': function(scope, rule, node) {
if ( node.list !== true ) { return false; }
rule.condition.domains.push(node.val);
return true;
},
'condition.excludedDomains': function(scope, rule, node) {
if ( node.list !== true ) { return false; }
rule.condition.excludedDomains.push(node.val);
return true;
},
'condition.requestDomains': function(scope, rule, node) {
if ( node.list !== true ) { return false; }
rule.condition.requestDomains.push(node.val);