| Index: lib/requestBlocker.js | 
| =================================================================== | 
| --- a/lib/requestBlocker.js | 
| +++ b/lib/requestBlocker.js | 
| @@ -86,25 +86,24 @@ | 
| devtools.logRequest( | 
| page, url, type, docDomain, | 
| thirdParty, sitekey, | 
| specificOnly, filter | 
| ); | 
| } | 
| } | 
|  | 
| -ext.webRequest.onBeforeRequest.addListener((url, type, page, frame) => | 
| +function shouldAllowRequest(url, type, page, frame) | 
| { | 
| let docDomain = null; | 
| let sitekey = null; | 
| let specificOnly = false; | 
| let thirdParty = false; | 
| let urlString = stringifyURL(url); | 
|  | 
| - | 
| if (frame && page) | 
| { | 
| if (checkWhitelisted(page, frame)) | 
| return true; | 
|  | 
| docDomain = extractHostFromFrame(frame); | 
| sitekey = getKey(page, frame); | 
| thirdParty = isThirdParty(url, docDomain); | 
| @@ -120,17 +119,19 @@ | 
| ); | 
|  | 
| setTimeout(onBeforeRequestAsync, 0, page, urlString, | 
| mappedType, docDomain, | 
| thirdParty, sitekey, | 
| specificOnly, filter); | 
|  | 
| return !(filter instanceof BlockingFilter); | 
| -}); | 
| +} | 
| + | 
| +ext.webRequest.onBeforeRequest.addListener(shouldAllowRequest); | 
|  | 
| port.on("filters.collapse", (message, sender) => | 
| { | 
| if (checkWhitelisted(sender.page, sender.frame)) | 
| return false; | 
|  | 
| let typeMask = RegExpFilter.typeMap[message.mediatype]; | 
| let documentHost = extractHostFromFrame(sender.frame); | 
| @@ -213,15 +214,11 @@ | 
| // Edge supports neither webRequest.ResourceType nor WebSocket blocking yet: | 
| // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/10297376/ | 
| if (browser.webRequest.ResourceType && | 
| (msg.requestType.toUpperCase() in browser.webRequest.ResourceType)) | 
| { | 
| return false; | 
| } | 
|  | 
| -  return ext.webRequest.onBeforeRequest._dispatch( | 
| -     new URL(msg.url), | 
| -     msg.requestType, | 
| -     sender.page, | 
| -     sender.frame | 
| -  ).includes(false); | 
| +  return !shouldAllowRequest(new URL(msg.url), msg.requestType, sender.page, | 
| +                             sender.frame); | 
| }); | 
|  |