@@ -247,7 +247,9 @@ var RequestGuard = (() => {
247
247
}
248
248
let key = [ siteKey , origin ] [ ret . option || 0 ] ;
249
249
if ( ! key ) return ;
250
- let { siteMatch, contextMatch, perms} = ns . policy . get ( key , documentUrl ) ;
250
+ let cookieStoreId = sender . tab && sender . tab . cookieStoreId ;
251
+ let policy = ns . getPolicy ( cookieStoreId ) ;
252
+ let { siteMatch, contextMatch, perms} = policy . get ( key , documentUrl ) ;
251
253
let { capabilities} = perms ;
252
254
if ( ! capabilities . has ( policyType ) ) {
253
255
let temp = sender . tab . incognito ; // we don't want to store in PBM
@@ -260,8 +262,9 @@ var RequestGuard = (() => {
260
262
perms = new Permissions(new Set(capabilities), false, contextualSites);
261
263
}
262
264
*/
263
- ns . policy . set ( key , perms ) ;
265
+ policy . set ( key , perms ) ;
264
266
await ns . savePolicy ( ) ;
267
+ await ns . saveContextStore ( ) ;
265
268
}
266
269
return { enable : key } ;
267
270
} ,
@@ -335,7 +338,8 @@ var RequestGuard = (() => {
335
338
} ;
336
339
337
340
function intersectCapabilities ( perms , request ) {
338
- let { frameId, frameAncestors, tabId} = request ;
341
+ let { frameId, frameAncestors, tabId, cookieStoreId} = request ;
342
+ let policy = ns . getPolicy ( cookieStoreId ) ;
339
343
if ( frameId !== 0 && ns . sync . cascadeRestrictions ) {
340
344
let topUrl = frameAncestors && frameAncestors . length
341
345
&& frameAncestors [ frameAncestors . length - 1 ] . url ;
@@ -344,7 +348,7 @@ var RequestGuard = (() => {
344
348
if ( tab ) topUrl = tab . url ;
345
349
}
346
350
if ( topUrl ) {
347
- return ns . policy . cascadeRestrictions ( perms , topUrl ) . capabilities ;
351
+ return policy . cascadeRestrictions ( perms , topUrl ) . capabilities ;
348
352
}
349
353
}
350
354
return perms . capabilities ;
0 commit comments