@@ -247,7 +247,9 @@ var RequestGuard = (() => {
247247 }
248248 let key = [ siteKey , origin ] [ ret . option || 0 ] ;
249249 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 ) ;
251253 let { capabilities} = perms ;
252254 if ( ! capabilities . has ( policyType ) ) {
253255 let temp = sender . tab . incognito ; // we don't want to store in PBM
@@ -260,8 +262,9 @@ var RequestGuard = (() => {
260262 perms = new Permissions(new Set(capabilities), false, contextualSites);
261263 }
262264 */
263- ns . policy . set ( key , perms ) ;
265+ policy . set ( key , perms ) ;
264266 await ns . savePolicy ( ) ;
267+ await ns . saveContextStore ( ) ;
265268 }
266269 return { enable : key } ;
267270 } ,
@@ -335,7 +338,8 @@ var RequestGuard = (() => {
335338 } ;
336339
337340 function intersectCapabilities ( perms , request ) {
338- let { frameId, frameAncestors, tabId} = request ;
341+ let { frameId, frameAncestors, tabId, cookieStoreId} = request ;
342+ let policy = ns . getPolicy ( cookieStoreId ) ;
339343 if ( frameId !== 0 && ns . sync . cascadeRestrictions ) {
340344 let topUrl = frameAncestors && frameAncestors . length
341345 && frameAncestors [ frameAncestors . length - 1 ] . url ;
@@ -344,7 +348,7 @@ var RequestGuard = (() => {
344348 if ( tab ) topUrl = tab . url ;
345349 }
346350 if ( topUrl ) {
347- return ns . policy . cascadeRestrictions ( perms , topUrl ) . capabilities ;
351+ return policy . cascadeRestrictions ( perms , topUrl ) . capabilities ;
348352 }
349353 }
350354 return perms . capabilities ;
0 commit comments