Skip to content

Commit 532f897

Browse files
committed
[mv3][safari] Fix regression in custom procedural cosmetic filters
Related issue: uBlockOrigin/uBOL-home#673
1 parent 01ff17f commit 532f897

1 file changed

Lines changed: 17 additions & 6 deletions

File tree

platform/mv3/safari/css-user.js

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,17 +31,28 @@ const details = await chrome.runtime.sendMessage({
3131
});
3232

3333
if ( details?.proceduralSelectors?.length ) {
34-
if ( self.ProceduralFiltererAPI ) {
35-
self.customProceduralFiltererAPI = new self.ProceduralFiltererAPI();
36-
self.customProceduralFiltererAPI.addSelectors(
37-
details.proceduralSelectors.map(a => JSON.parse(a))
38-
);
34+
if ( self.ProceduralFiltererAPI === undefined ) {
35+
self.ProceduralFiltererAPI = chrome.runtime.sendMessage({
36+
what: 'injectCSSProceduralAPI'
37+
}).catch(( ) => {
38+
});
39+
}
40+
await self.ProceduralFiltererAPI;
41+
self.customProceduralFiltererAPI = new self.ProceduralFiltererAPI();
42+
const selectors = details.proceduralSelectors.map(a => JSON.parse(a));
43+
const declaratives = selectors.filter(a => a.cssable);
44+
if ( declaratives.length !== 0 ) {
45+
self.customProceduralFiltererAPI.addDeclaratives(declaratives);
46+
}
47+
const procedurals = selectors.filter(a => !a.cssable);
48+
if ( procedurals.length !== 0 ) {
49+
self.customProceduralFiltererAPI.addProcedurals(procedurals);
3950
}
4051
}
4152

4253
if ( details?.plainSelectors?.length ) {
4354
const selectors = details.plainSelectors;
44-
self.addEventListener('pageshow', ( ) => {
55+
self.addEventListener('pagereveal', ( ) => {
4556
chrome.runtime.sendMessage({
4657
what: 'insertCSS',
4758
css: `${selectors.join(',\n')}{display:none!important;}`,

0 commit comments

Comments
 (0)