File tree Expand file tree Collapse file tree 1 file changed +20
-4
lines changed
platform/mv3/extension/js Expand file tree Collapse file tree 1 file changed +20
-4
lines changed Original file line number Diff line number Diff line change @@ -178,14 +178,30 @@ export async function addCustomFilter(hostname, selector) {
178
178
/******************************************************************************/
179
179
180
180
export async function removeCustomFilter ( hostname , selector ) {
181
- const key = `site.${ hostname } ` ;
181
+ const promises = [ ] ;
182
+ let hn = hostname ;
183
+ while ( hn !== '' ) {
184
+ promises . push (
185
+ removeCustomFilterByKey ( `site.${ hn } ` , selector ) . catch ( ( ) => false )
186
+ ) ;
187
+ const pos = hn . indexOf ( '.' ) ;
188
+ if ( pos === - 1 ) { break ; }
189
+ hn = hn . slice ( pos + 1 ) ;
190
+ }
191
+ const results = await Promise . all ( promises ) ;
192
+ return results . some ( a => a ) ;
193
+ }
194
+
195
+ async function removeCustomFilterByKey ( key , selector ) {
182
196
const selectors = await localRead ( key ) ;
183
197
if ( selectors === undefined ) { return false ; }
184
198
const i = selectors . indexOf ( selector ) ;
185
199
if ( i === - 1 ) { return false ; }
186
200
selectors . splice ( i , 1 ) ;
187
- await selectors . length !== 0
188
- ? localWrite ( key , selectors )
189
- : localRemove ( key ) ;
201
+ if ( selectors . length !== 0 ) {
202
+ await localWrite ( key , selectors ) ;
203
+ } else {
204
+ await localRemove ( key ) ;
205
+ }
190
206
return true ;
191
207
}
You can’t perform that action at this time.
0 commit comments