Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: lib/requestBlocker.js

Issue 29570614: Issue 5028 - Use browser namespace (Closed) Base URL: https://hg.adblockplus.org/adblockpluschrome/
Patch Set: Created Oct. 9, 2017, 3:12 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: lib/requestBlocker.js
===================================================================
--- a/lib/requestBlocker.js
+++ b/lib/requestBlocker.js
@@ -25,18 +25,18 @@
const {FilterNotifier} = require("filterNotifier");
const {Prefs} = require("prefs");
const {checkWhitelisted, getKey} = require("whitelisting");
const {stringifyURL, extractHostFromFrame, isThirdParty} = require("url");
const {port} = require("messaging");
const devtools = require("devtools");
// Chrome can't distinguish between OBJECT_SUBREQUEST and OBJECT requests.
-if (!chrome.webRequest.ResourceType ||
- !("OBJECT_SUBREQUEST" in chrome.webRequest.ResourceType))
+if (!browser.webRequest.ResourceType ||
+ !("OBJECT_SUBREQUEST" in browser.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.
let resourceTypes = new Map(function*()
{
@@ -52,21 +52,21 @@
// Treat <img srcset> and <picture> the same as other images.
yield ["imageset", "IMAGE"];
}());
exports.filterTypes = new Set(function*()
{
// Microsoft Edge does not have webRequest.ResourceType or the devtools panel.
// Since filterTypes is only used by devtools, we can just bail out here.
- if (!(chrome.webRequest.ResourceType))
+ if (!(browser.webRequest.ResourceType))
return;
- for (let type in chrome.webRequest.ResourceType)
- yield resourceTypes.get(chrome.webRequest.ResourceType[type]) || "OTHER";
+ for (let type in browser.webRequest.ResourceType)
+ yield resourceTypes.get(browser.webRequest.ResourceType[type]) || "OTHER";
// WEBSOCKET and WEBRTC get addressed through workarounds, even if the
// webRequest API is lacking support to block these kind of requests.
yield "WEBSOCKET";
yield "WEBRTC";
// POPUP and ELEMHIDE filters aren't blocked on the request level but by other
// means. They don't have a corresponding value in webRequest.ResourceType.
@@ -207,18 +207,18 @@
port.on("request.blockedByWrapper", (msg, sender) =>
{
// 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).
// 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))
+ 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,

Powered by Google App Engine
This is Rietveld