@@ -46,10 +46,10 @@ CodeMirror.defineOption('trustedSource', false, (cm, trusted) => {
4646 } ) ) ;
4747} ) ;
4848
49- CodeMirror . defineOption ( 'trustedScriptletTokens ' , undefined , ( cm , tokens ) => {
49+ CodeMirror . defineOption ( 'trustedTokens ' , undefined , ( cm , tokens ) => {
5050 if ( tokens === undefined || tokens === null ) { return ; }
5151 if ( typeof tokens [ Symbol . iterator ] !== 'function' ) { return ; }
52- self . dispatchEvent ( new CustomEvent ( 'trustedScriptletTokens ' , {
52+ self . dispatchEvent ( new CustomEvent ( 'trustedTokens ' , {
5353 detail : new Set ( tokens ) ,
5454 } ) ) ;
5555} ) ;
@@ -226,6 +226,7 @@ const uBOStaticFilteringMode = (( ) => {
226226 this . astParser = new sfp . AstFilterParser ( {
227227 interactive : true ,
228228 nativeCssHas : vAPI . webextFlavor . env . includes ( 'native_css_has' ) ,
229+ canFilterResponseBody : vAPI . webextFlavor . env . includes ( 'html_filtering' ) ,
229230 } ) ;
230231 this . astWalker = this . astParser . getWalker ( ) ;
231232 this . currentWalkerNode = 0 ;
@@ -234,8 +235,8 @@ const uBOStaticFilteringMode = (( ) => {
234235 const { trusted } = ev . detail ;
235236 this . astParser . options . trustedSource = trusted ;
236237 } ) ;
237- self . addEventListener ( 'trustedScriptletTokens ' , ev => {
238- this . astParser . options . trustedScriptletTokens = ev . detail ;
238+ self . addEventListener ( 'trustedTokens ' , ev => {
239+ this . astParser . options . trustedTokens = ev . detail ;
239240 } ) ;
240241 }
241242 }
@@ -346,6 +347,7 @@ function initHints() {
346347 const astParser = new sfp . AstFilterParser ( {
347348 interactive : true ,
348349 nativeCssHas : vAPI . webextFlavor . env . includes ( 'native_css_has' ) ,
350+ canFilterResponseBody : vAPI . webextFlavor . env . includes ( 'html_filtering' ) ,
349351 } ) ;
350352 const proceduralOperatorNames = new Map (
351353 Array . from ( sfp . proceduralOperatorTokens )
@@ -715,6 +717,7 @@ CodeMirror.registerHelper('fold', 'ubo-static-filtering', (( ) => {
715717 const astParser = new sfp . AstFilterParser ( {
716718 interactive : true ,
717719 nativeCssHas : vAPI . webextFlavor . env . includes ( 'native_css_has' ) ,
720+ canFilterResponseBody : vAPI . webextFlavor . env . includes ( 'html_filtering' ) ,
718721 } ) ;
719722
720723 const changeset = [ ] ;
@@ -760,6 +763,9 @@ CodeMirror.registerHelper('fold', 'ubo-static-filtering', (( ) => {
760763 case sfp . AST_ERROR_UNTRUSTED_SOURCE :
761764 msg = `${ msg } : Filter requires trusted source` ;
762765 break ;
766+ case sfp . AST_ERROR_CAPABILITY :
767+ msg = `Filter unsupported on current platform` ;
768+ return { lint : 'warning' , msg } ;
763769 default :
764770 if ( astParser . isCosmeticFilter ( ) && astParser . result . error ) {
765771 msg = `${ msg } : ${ astParser . result . error } ` ;
@@ -819,6 +825,14 @@ CodeMirror.registerHelper('fold', 'ubo-static-filtering', (( ) => {
819825 '</div>' ,
820826 ] ,
821827 } ,
828+ 'warning' : {
829+ node : null ,
830+ html : [
831+ '<div class="CodeMirror-lintmarker" data-lint="warning"> ' ,
832+ '<span class="msg"></span>' ,
833+ '</div>' ,
834+ ] ,
835+ } ,
822836 'if-start' : {
823837 node : null ,
824838 html : [
@@ -963,8 +977,8 @@ CodeMirror.registerHelper('fold', 'ubo-static-filtering', (( ) => {
963977 } ;
964978
965979 const processDeletion = ( doc , change ) => {
966- let { from, to } = change ;
967- doc . eachLine ( from . line , to . line , lineHandle => {
980+ const { from, to } = change ;
981+ doc . eachLine ( from . line , to . line + ( to . ch ? 1 : 0 ) , lineHandle => {
968982 const marker = extractMarker ( lineHandle ) ;
969983 if ( marker === null ) { return ; }
970984 if ( marker . dataset . error === 'y' ) {
@@ -1116,8 +1130,8 @@ CodeMirror.registerHelper('fold', 'ubo-static-filtering', (( ) => {
11161130 astParser . options . trustedSource = trusted ;
11171131 } ) ;
11181132
1119- self . addEventListener ( 'trustedScriptletTokens ' , ev => {
1120- astParser . options . trustedScriptletTokens = ev . detail ;
1133+ self . addEventListener ( 'trustedTokens ' , ev => {
1134+ astParser . options . trustedTokens = ev . detail ;
11211135 } ) ;
11221136
11231137 CodeMirror . defineInitHook ( cm => {
0 commit comments