A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/gorhill/uBlock/commit/5ebdbf3e24393560156fdcd931e31f901471f7f3 below:

`permissions` · gorhill/uBlock@5ebdbf3 · GitHub

@@ -182,19 +182,22 @@ const MODIFIER_TYPE_REDIRECT = 1;

182 182

const MODIFIER_TYPE_REDIRECTRULE = 2;

183 183

const MODIFIER_TYPE_REMOVEPARAM = 3;

184 184

const MODIFIER_TYPE_CSP = 4;

185 +

const MODIFIER_TYPE_PERMISSIONS = 5;

185 186 186 187

const modifierTypeFromName = new Map([

187 188

[ 'redirect', MODIFIER_TYPE_REDIRECT ],

188 189

[ 'redirect-rule', MODIFIER_TYPE_REDIRECTRULE ],

189 190

[ 'removeparam', MODIFIER_TYPE_REMOVEPARAM ],

190 191

[ 'csp', MODIFIER_TYPE_CSP ],

192 +

[ 'permissions', MODIFIER_TYPE_PERMISSIONS ],

191 193

]);

192 194 193 195

const modifierNameFromType = new Map([

194 196

[ MODIFIER_TYPE_REDIRECT, 'redirect' ],

195 197

[ MODIFIER_TYPE_REDIRECTRULE, 'redirect-rule' ],

196 198

[ MODIFIER_TYPE_REMOVEPARAM, 'removeparam' ],

197 199

[ MODIFIER_TYPE_CSP, 'csp' ],

200 +

[ MODIFIER_TYPE_PERMISSIONS, 'permissions' ],

198 201

]);

199 202 200 203

//const typeValueFromCatBits = catBits => (catBits >>> TypeBitsOffset) & 0b11111;

@@ -3169,6 +3172,7 @@ class FilterCompiler {

3169 3172

]);

3170 3173

this.modifierIdToNormalizedId = new Map([

3171 3174

[ sfp.NODE_TYPE_NET_OPTION_NAME_CSP, MODIFIER_TYPE_CSP ],

3175 +

[ sfp.NODE_TYPE_NET_OPTION_NAME_PERMISSIONS, MODIFIER_TYPE_PERMISSIONS ],

3172 3176

[ sfp.NODE_TYPE_NET_OPTION_NAME_REDIRECT, MODIFIER_TYPE_REDIRECT ],

3173 3177

[ sfp.NODE_TYPE_NET_OPTION_NAME_REDIRECTRULE, MODIFIER_TYPE_REDIRECTRULE ],

3174 3178

[ sfp.NODE_TYPE_NET_OPTION_NAME_REMOVEPARAM, MODIFIER_TYPE_REMOVEPARAM ],

@@ -3438,6 +3442,12 @@ class FilterCompiler {

3438 3442

this.processMethodOption(parser.getNetOptionValue(id));

3439 3443

this.optionUnitBits |= this.METHOD_BIT;

3440 3444

break;

3445 +

case sfp.NODE_TYPE_NET_OPTION_NAME_PERMISSIONS:

3446 +

if ( this.processModifierOption(id, parser.getNetOptionValue(id)) === false ) {

3447 +

return false;

3448 +

}

3449 +

this.optionUnitBits |= this.PERMISSIONS_BIT;

3450 +

break;

3441 3451

case sfp.NODE_TYPE_NET_OPTION_NAME_REDIRECT: {

3442 3452

const actualId = this.action === AllowAction

3443 3453

? sfp.NODE_TYPE_NET_OPTION_NAME_REDIRECTRULE

@@ -3554,6 +3564,7 @@ class FilterCompiler {

3554 3564

case sfp.NODE_TYPE_NET_OPTION_NAME_FROM:

3555 3565

case sfp.NODE_TYPE_NET_OPTION_NAME_HEADER:

3556 3566

case sfp.NODE_TYPE_NET_OPTION_NAME_METHOD:

3567 +

case sfp.NODE_TYPE_NET_OPTION_NAME_PERMISSIONS:

3557 3568

case sfp.NODE_TYPE_NET_OPTION_NAME_REDIRECT:

3558 3569

case sfp.NODE_TYPE_NET_OPTION_NAME_REDIRECTRULE:

3559 3570

case sfp.NODE_TYPE_NET_OPTION_NAME_REMOVEPARAM:

@@ -3622,8 +3633,12 @@ class FilterCompiler {

3622 3633

this.optionUnitBits |= this.NOT_TYPE_BIT;

3623 3634

}

3624 3635 3625 -

// CSP directives implicitly apply only to document/subdocument.

3626 -

if ( this.modifyType === MODIFIER_TYPE_CSP ) {

3636 +

// CSP/permissions options implicitly apply only to

3637 +

// document/subdocument.

3638 +

if (

3639 +

this.modifyType === MODIFIER_TYPE_CSP ||

3640 +

this.modifyType === MODIFIER_TYPE_PERMISSIONS

3641 +

) {

3627 3642

if ( this.typeBits === 0 ) {

3628 3643

this.processTypeOption(sfp.NODE_TYPE_NET_OPTION_NAME_DOC, false);

3629 3644

this.processTypeOption(sfp.NODE_TYPE_NET_OPTION_NAME_FRAME, false);

@@ -4013,17 +4028,18 @@ class FilterCompiler {

4013 4028

}

4014 4029

}

4015 4030 4016 -

FilterCompiler.prototype.FROM_BIT = 0b00000000001;

4017 -

FilterCompiler.prototype.TO_BIT = 0b00000000010;

4018 -

FilterCompiler.prototype.DENYALLOW_BIT = 0b00000000100;

4019 -

FilterCompiler.prototype.HEADER_BIT = 0b00000001000;

4020 -

FilterCompiler.prototype.STRICT_PARTY_BIT = 0b00000010000;

4021 -

FilterCompiler.prototype.CSP_BIT = 0b00000100000;

4022 -

FilterCompiler.prototype.REMOVEPARAM_BIT = 0b00001000000;

4023 -

FilterCompiler.prototype.REDIRECT_BIT = 0b00010000000;

4024 -

FilterCompiler.prototype.NOT_TYPE_BIT = 0b00100000000;

4025 -

FilterCompiler.prototype.IMPORTANT_BIT = 0b01000000000;

4026 -

FilterCompiler.prototype.METHOD_BIT = 0b10000000000;

4031 +

FilterCompiler.prototype.FROM_BIT = 0b000000000001;

4032 +

FilterCompiler.prototype.TO_BIT = 0b000000000010;

4033 +

FilterCompiler.prototype.DENYALLOW_BIT = 0b000000000100;

4034 +

FilterCompiler.prototype.HEADER_BIT = 0b000000001000;

4035 +

FilterCompiler.prototype.STRICT_PARTY_BIT = 0b000000010000;

4036 +

FilterCompiler.prototype.CSP_BIT = 0b000000100000;

4037 +

FilterCompiler.prototype.REMOVEPARAM_BIT = 0b000001000000;

4038 +

FilterCompiler.prototype.REDIRECT_BIT = 0b000010000000;

4039 +

FilterCompiler.prototype.NOT_TYPE_BIT = 0b000100000000;

4040 +

FilterCompiler.prototype.IMPORTANT_BIT = 0b001000000000;

4041 +

FilterCompiler.prototype.METHOD_BIT = 0b010000000000;

4042 +

FilterCompiler.prototype.PERMISSIONS_BIT = 0b100000000000;

4027 4043 4028 4044

FilterCompiler.prototype.FILTER_OK = 0;

4029 4045

FilterCompiler.prototype.FILTER_INVALID = 1;


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4