|
24 | 24 | /******************************************************************************/ |
25 | 25 |
|
26 | 26 | µBlock.htmlFilteringEngine = (function() { |
27 | | - var api = {}; |
| 27 | + const api = {}; |
28 | 28 |
|
29 | | - var µb = µBlock, |
30 | | - filterDB = new µb.staticExtFilteringEngine.HostnameBasedDB(), |
| 29 | + const µb = µBlock, |
31 | 30 | pselectors = new Map(), |
32 | | - duplicates = new Set(), |
| 31 | + duplicates = new Set(); |
| 32 | + let filterDB = new µb.staticExtFilteringEngine.HostnameBasedDB(), |
33 | 33 | acceptedCount = 0, |
34 | 34 | discardedCount = 0, |
35 | 35 | docRegister; |
36 | 36 |
|
37 | | - var PSelectorHasTextTask = function(task) { |
| 37 | + const PSelectorHasTextTask = function(task) { |
38 | 38 | let arg0 = task[1], arg1; |
39 | 39 | if ( Array.isArray(task[1]) ) { |
40 | 40 | arg1 = arg0[1]; arg0 = arg0[0]; |
|
51 | 51 | return output; |
52 | 52 | }; |
53 | 53 |
|
54 | | - var PSelectorIfTask = function(task) { |
| 54 | + const PSelectorIfTask = function(task) { |
55 | 55 | this.pselector = new PSelector(task[1]); |
56 | 56 | }; |
57 | 57 | PSelectorIfTask.prototype.target = true; |
|
70 | 70 | return output; |
71 | 71 | }; |
72 | 72 |
|
73 | | - var PSelectorIfNotTask = function(task) { |
| 73 | + const PSelectorIfNotTask = function(task) { |
74 | 74 | PSelectorIfTask.call(this, task); |
75 | 75 | this.target = false; |
76 | 76 | }; |
77 | 77 | PSelectorIfNotTask.prototype = Object.create(PSelectorIfTask.prototype); |
78 | 78 | PSelectorIfNotTask.prototype.constructor = PSelectorIfNotTask; |
79 | 79 |
|
80 | | - var PSelectorXpathTask = function(task) { |
| 80 | + const PSelectorXpathTask = function(task) { |
81 | 81 | this.xpe = task[1]; |
82 | 82 | }; |
83 | 83 | PSelectorXpathTask.prototype.exec = function(input) { |
|
101 | 101 | return output; |
102 | 102 | }; |
103 | 103 |
|
104 | | - var PSelector = function(o) { |
| 104 | + const PSelector = function(o) { |
105 | 105 | if ( PSelector.prototype.operatorToTaskMap === undefined ) { |
106 | 106 | PSelector.prototype.operatorToTaskMap = new Map([ |
107 | 107 | [ ':has', PSelectorIfTask ], |
|
161 | 161 | return false; |
162 | 162 | }; |
163 | 163 |
|
164 | | - var logOne = function(details, exception, selector) { |
| 164 | + const logOne = function(details, exception, selector) { |
165 | 165 | µb.logger.writeOne( |
166 | 166 | details.tabId, |
167 | 167 | 'cosmetic', |
|
176 | 176 | ); |
177 | 177 | }; |
178 | 178 |
|
179 | | - var applyProceduralSelector = function(details, selector) { |
| 179 | + const applyProceduralSelector = function(details, selector) { |
180 | 180 | let pselector = pselectors.get(selector); |
181 | 181 | if ( pselector === undefined ) { |
182 | 182 | pselector = new PSelector(JSON.parse(selector)); |
|
198 | 198 | return modified; |
199 | 199 | }; |
200 | 200 |
|
201 | | - var applyCSSSelector = function(details, selector) { |
| 201 | + const applyCSSSelector = function(details, selector) { |
202 | 202 | let nodes = docRegister.querySelectorAll(selector), |
203 | 203 | i = nodes.length, |
204 | 204 | modified = false; |
|
329 | 329 | } |
330 | 330 |
|
331 | 331 | if ( toRemoveMap.size === 0 ) { return; } |
332 | | - return Array.from(toRemoveMap); |
| 332 | + return Array.from(toRemoveMap.values()); |
333 | 333 | }; |
334 | 334 |
|
335 | 335 | api.apply = function(doc, details) { |
|
0 commit comments