@@ -1678,7 +1678,7 @@ function jsonPrune(
16781678 if ( objAfter === undefined ) { return objBefore ; }
16791679 safe . uboLog ( logPrefix , 'Pruned' ) ;
16801680 if ( safe . logLevel > 1 ) {
1681- safe . uboLog ( logPrefix , JSON . stringify ( objAfter , null , 1 ) ) ;
1681+ safe . uboLog ( logPrefix , `After pruning:\n ${ JSON . stringify ( objAfter , null , 1 ) } ` ) ;
16821682 }
16831683 return objAfter ;
16841684 } ,
@@ -3941,6 +3941,58 @@ function multiup() {
39413941 document . addEventListener ( 'click' , handler , { capture : true } ) ;
39423942}
39433943
3944+ /******************************************************************************/
3945+
3946+ builtinScriptlets . push ( {
3947+ name : 'remove-cache-storage-item.js' ,
3948+ fn : removeCacheStorageItem ,
3949+ world : 'ISOLATED' ,
3950+ dependencies : [
3951+ 'safe-self.fn' ,
3952+ ] ,
3953+ } ) ;
3954+ function removeCacheStorageItem (
3955+ cacheNamePattern = '' ,
3956+ requestPattern = ''
3957+ ) {
3958+ if ( cacheNamePattern === '' ) { return ; }
3959+ const safe = safeSelf ( ) ;
3960+ const logPrefix = safe . makeLogPrefix ( 'remove-cache-storage-item' , cacheNamePattern , requestPattern ) ;
3961+ const cacheStorage = self . caches ;
3962+ if ( cacheStorage instanceof Object === false ) { return ; }
3963+ const reCache = safe . patternToRegex ( cacheNamePattern , undefined , true ) ;
3964+ const reRequest = safe . patternToRegex ( requestPattern , undefined , true ) ;
3965+ cacheStorage . keys ( ) . then ( cacheNames => {
3966+ for ( const cacheName of cacheNames ) {
3967+ if ( reCache . test ( cacheName ) === false ) { continue ; }
3968+ if ( requestPattern === '' ) {
3969+ cacheStorage . delete ( cacheName ) . then ( result => {
3970+ if ( safe . logLevel > 1 ) {
3971+ safe . uboLog ( logPrefix , `Deleting ${ cacheName } ` ) ;
3972+ }
3973+ if ( result !== true ) { return ; }
3974+ safe . uboLog ( logPrefix , `Deleted ${ cacheName } : ${ result } ` ) ;
3975+ } ) ;
3976+ continue ;
3977+ }
3978+ cacheStorage . open ( cacheName ) . then ( cache => {
3979+ cache . keys ( ) . then ( requests => {
3980+ for ( const request of requests ) {
3981+ if ( reRequest . test ( request . url ) === false ) { continue ; }
3982+ if ( safe . logLevel > 1 ) {
3983+ safe . uboLog ( logPrefix , `Deleting ${ cacheName } /${ request . url } ` ) ;
3984+ }
3985+ cache . delete ( request ) . then ( result => {
3986+ if ( result !== true ) { return ; }
3987+ safe . uboLog ( logPrefix , `Deleted ${ cacheName } /${ request . url } : ${ result } ` ) ;
3988+ } ) ;
3989+ }
3990+ } ) ;
3991+ } ) ;
3992+ }
3993+ } ) ;
3994+ }
3995+
39443996
39453997/*******************************************************************************
39463998 *
0 commit comments