@@ -31,17 +31,28 @@ const details = await chrome.runtime.sendMessage({
3131} ) ;
3232
3333if ( 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
4253if ( 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