Index: lib/requestBlocker.js |
=================================================================== |
--- a/lib/requestBlocker.js |
+++ b/lib/requestBlocker.js |
@@ -30,8 +30,11 @@ |
const devtools = require("devtools"); |
// Chrome can't distinguish between OBJECT_SUBREQUEST and OBJECT requests. |
-if (!("OBJECT_SUBREQUEST" in chrome.webRequest.ResourceType)) |
+if (!chrome.webRequest.ResourceType || |
+ !("OBJECT_SUBREQUEST" in chrome.webRequest.ResourceType)) |
+{ |
RegExpFilter.typeMap.OBJECT_SUBREQUEST = RegExpFilter.typeMap.OBJECT; |
+} |
// Map of content types reported by the browser to the respecitve content types |
// used by Adblock Plus. Other content types are simply mapped to OTHER. |
@@ -186,8 +189,13 @@ |
// Chrome 58 onwards directly supports WebSocket blocking, so we can ignore |
// messages from the wrapper here (see https://crbug.com/129353). Hopefully |
// WebRTC will be supported soon too (see https://crbug.com/707683). |
- if (msg.requestType.toUpperCase() in chrome.webRequest.ResourceType) |
+ // Edge supports neither webRequest.ResourceType nor WebSocket blocking yet: |
+ // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/10297376/ |
+ if (chrome.webRequest.ResourceType && |
+ (msg.requestType.toUpperCase() in chrome.webRequest.ResourceType)) |
+ { |
return false; |
+ } |
return ext.webRequest.onBeforeRequest._dispatch( |
new URL(msg.url), |