19
19
Home: https://github.com/gorhill/uBlock
20
20
*/
21
21
22
- /* globals browser */
23
-
24
- 'use strict' ;
22
+ import * as s14e from './s14e-serializer.js' ;
23
+ import * as sfp from './static-filtering-parser.js' ;
25
24
26
- /******************************************************************************/
25
+ import {
26
+ domainFromHostname ,
27
+ domainFromURI ,
28
+ entityFromDomain ,
29
+ hostnameFromURI ,
30
+ isNetworkURI ,
31
+ } from './uri-utils.js' ;
27
32
28
- import publicSuffixList from '../lib/publicsuffixlist/publicsuffixlist.js' ;
29
- import punycode from '../lib/punycode.js' ;
33
+ import {
34
+ permanentFirewall ,
35
+ permanentSwitches ,
36
+ permanentURLFiltering ,
37
+ sessionFirewall ,
38
+ sessionSwitches ,
39
+ sessionURLFiltering ,
40
+ } from './filtering-engines.js' ;
30
41
31
- import { filteringBehaviorChanged } from './broadcast.js' ;
32
42
import cacheStorage from './cachestorage.js' ;
33
43
import cosmeticFilteringEngine from './cosmetic-filtering.js' ;
44
+ import { denseBase64 } from './base64-custom.js' ;
45
+ import { dnrRulesetFromRawLists } from './static-dnr-filtering.js' ;
46
+ import { filteringBehaviorChanged } from './broadcast.js' ;
34
47
import htmlFilteringEngine from './html-filtering.js' ;
48
+ import { i18n$ } from './i18n.js' ;
49
+ import io from './assets.js' ;
35
50
import logger from './logger.js' ;
36
51
import lz4Codec from './lz4.js' ;
37
- import io from './assets.js' ;
52
+ import publicSuffixList from '../lib/publicsuffixlist/publicsuffixlist.js' ;
53
+ import punycode from '../lib/punycode.js' ;
54
+ import { redirectEngine } from './redirect-engine.js' ;
38
55
import scriptletFilteringEngine from './scriptlet-filtering.js' ;
39
56
import staticFilteringReverseLookup from './reverselookup.js' ;
40
57
import staticNetFilteringEngine from './static-net-filtering.js' ;
41
- import µb from './background.js' ;
42
58
import webRequest from './traffic.js' ;
43
- import { denseBase64 } from './base64-custom.js' ;
44
- import { dnrRulesetFromRawLists } from './static-dnr-filtering.js' ;
45
- import { i18n$ } from './i18n.js' ;
46
- import { redirectEngine } from './redirect-engine.js' ;
47
- import * as sfp from './static-filtering-parser.js' ;
48
- import * as s14e from './s14e-serializer.js' ;
49
-
50
- import {
51
- permanentFirewall ,
52
- sessionFirewall ,
53
- permanentSwitches ,
54
- sessionSwitches ,
55
- permanentURLFiltering ,
56
- sessionURLFiltering ,
57
- } from './filtering-engines.js' ;
58
-
59
- import {
60
- domainFromHostname ,
61
- domainFromURI ,
62
- entityFromDomain ,
63
- hostnameFromURI ,
64
- isNetworkURI ,
65
- } from './uri-utils.js' ;
59
+ import µb from './background.js' ;
66
60
67
61
/******************************************************************************/
68
62
63
+ const hasOwnProperty = ( o , p ) =>
64
+ Object . prototype . hasOwnProperty . call ( o , p ) ;
65
+
69
66
// https://github.com/uBlockOrigin/uBlock-issues/issues/710
70
67
// Listeners have a name and a "privileged" status.
71
68
// The nameless default handler is always deemed "privileged".
@@ -807,7 +804,7 @@ const onMessage = function(request, sender, callback) {
807
804
} ) ;
808
805
break ;
809
806
810
- case 'shouldRenderNoscriptTags' :
807
+ case 'shouldRenderNoscriptTags' : {
811
808
if ( pageStore === null ) { break ; }
812
809
const fctxt = µb . filteringContext . fromTabId ( sender . tabId ) ;
813
810
if ( pageStore . filterScripting ( fctxt , undefined ) ) {
@@ -818,7 +815,7 @@ const onMessage = function(request, sender, callback) {
818
815
} ) ;
819
816
}
820
817
break ;
821
-
818
+ }
822
819
case 'retrieveGenericCosmeticSelectors' :
823
820
request . tabId = sender . tabId ;
824
821
request . frameId = sender . frameId ;
@@ -1098,7 +1095,7 @@ const restoreUserData = async function(request) {
1098
1095
// Discard unknown setting or setting with default value.
1099
1096
for ( const key in hiddenSettings ) {
1100
1097
if (
1101
- µb . hiddenSettingsDefault . hasOwnProperty ( key ) === false ||
1098
+ hasOwnProperty ( µb . hiddenSettingsDefault , key ) === false ||
1102
1099
hiddenSettings [ key ] === µb . hiddenSettingsDefault [ key ]
1103
1100
) {
1104
1101
delete hiddenSettings [ key ] ;
@@ -1128,7 +1125,7 @@ const restoreUserData = async function(request) {
1128
1125
} ) ;
1129
1126
µb . saveUserFilters ( userData . userFilters ) ;
1130
1127
if ( Array . isArray ( userData . selectedFilterLists ) ) {
1131
- await µb . saveSelectedFilterLists ( userData . selectedFilterLists ) ;
1128
+ await µb . saveSelectedFilterLists ( userData . selectedFilterLists ) ;
1132
1129
}
1133
1130
1134
1131
vAPI . app . restart ( ) ;
@@ -1150,7 +1147,7 @@ const resetUserData = async function() {
1150
1147
// Filter lists
1151
1148
const prepListEntries = function ( entries ) {
1152
1149
for ( const k in entries ) {
1153
- if ( entries . hasOwnProperty ( k ) === false ) { continue ; }
1150
+ if ( hasOwnProperty ( entries , k ) === false ) { continue ; }
1154
1151
const entry = entries [ k ] ;
1155
1152
if ( typeof entry . supportURL === 'string' && entry . supportURL !== '' ) {
1156
1153
entry . supportName = hostnameFromURI ( entry . supportURL ) ;
@@ -1338,7 +1335,7 @@ const getSupportData = async function() {
1338
1335
let addedListset = { } ;
1339
1336
let removedListset = { } ;
1340
1337
for ( const listKey in lists ) {
1341
- if ( lists . hasOwnProperty ( listKey ) === false ) { continue ; }
1338
+ if ( hasOwnProperty ( lists , listKey ) === false ) { continue ; }
1342
1339
const list = lists [ listKey ] ;
1343
1340
if ( list . content !== 'filters' ) { continue ; }
1344
1341
const used = µb . selectedFilterLists . includes ( listKey ) ;
@@ -1755,7 +1752,7 @@ const onMessage = (request, sender, callback) => {
1755
1752
// Sync
1756
1753
let response ;
1757
1754
switch ( request . what ) {
1758
- case 'getInspectorArgs' :
1755
+ case 'getInspectorArgs' : {
1759
1756
const bc = new globalThis . BroadcastChannel ( 'contentInspectorChannel' ) ;
1760
1757
bc . postMessage ( {
1761
1758
what : 'contentInspectorChannel' ,
@@ -1768,6 +1765,7 @@ const onMessage = (request, sender, callback) => {
1768
1765
) ,
1769
1766
} ;
1770
1767
break ;
1768
+ }
1771
1769
default :
1772
1770
return vAPI . messaging . UNHANDLED ;
1773
1771
}
@@ -2004,6 +2002,12 @@ const onMessage = function(request, sender, callback) {
2004
2002
response = staticNetFilteringEngine . dump ( ) ;
2005
2003
break ;
2006
2004
2005
+ case 'snfeQuery' :
2006
+ response = staticNetFilteringEngine . test (
2007
+ Object . assign ( { redirectEngine } , request . query )
2008
+ ) ;
2009
+ break ;
2010
+
2007
2011
case 'cfeDump' :
2008
2012
response = cosmeticFilteringEngine . dump ( ) ;
2009
2013
break ;
@@ -2181,7 +2185,7 @@ const onMessage = function(request, sender, callback) {
2181
2185
}
2182
2186
break ;
2183
2187
2184
- case 'subscribeTo' :
2188
+ case 'subscribeTo' : {
2185
2189
// https://github.com/uBlockOrigin/uBlock-issues/issues/1797
2186
2190
if ( / ^ ( f i l e | h t t p s ? ) : \/ \/ / . test ( request . location ) === false ) { break ; }
2187
2191
const url = encodeURIComponent ( request . location ) ;
@@ -2194,8 +2198,8 @@ const onMessage = function(request, sender, callback) {
2194
2198
select : true ,
2195
2199
} ) ;
2196
2200
break ;
2197
-
2198
- case 'updateLists' :
2201
+ }
2202
+ case 'updateLists' : {
2199
2203
const listkeys = request . listkeys . split ( ',' ) . filter ( s => s !== '' ) ;
2200
2204
if ( listkeys . length === 0 ) { return ; }
2201
2205
if ( listkeys . includes ( 'all' ) ) {
@@ -2211,7 +2215,7 @@ const onMessage = function(request, sender, callback) {
2211
2215
} ) ;
2212
2216
µb . scheduleAssetUpdater ( { now : true , fetchDelay : 100 , auto : request . auto } ) ;
2213
2217
break ;
2214
-
2218
+ }
2215
2219
default :
2216
2220
return vAPI . messaging . UNHANDLED ;
2217
2221
}
0 commit comments