@@ -1678,7 +1678,7 @@ function jsonPrune(
1678
1678
if ( objAfter === undefined ) { return objBefore ; }
1679
1679
safe . uboLog ( logPrefix , 'Pruned' ) ;
1680
1680
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 ) } ` ) ;
1682
1682
}
1683
1683
return objAfter ;
1684
1684
} ,
@@ -3941,6 +3941,58 @@ function multiup() {
3941
3941
document . addEventListener ( 'click' , handler , { capture : true } ) ;
3942
3942
}
3943
3943
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
+
3944
3996
3945
3997
/*******************************************************************************
3946
3998
*
0 commit comments