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

Delta Between Two Patch Sets: lib/requestBlocker.js

Issue 29998582: Issue [TBD] - Update adblockpluscore dependency to [TBD] Base URL: https://hg.adblockplus.org/adblockpluschrome/
Left Patch Set: Created Feb. 5, 2019, 4:07 a.m.
Right Patch Set: Reformat Created Feb. 5, 2019, 5:45 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
« no previous file with change/comment | « lib/popupBlocker.js ('k') | lib/whitelisting.js » ('j') | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
1 /* 1 /*
2 * This file is part of Adblock Plus <https://adblockplus.org/>, 2 * This file is part of Adblock Plus <https://adblockplus.org/>,
3 * Copyright (C) 2006-present eyeo GmbH 3 * Copyright (C) 2006-present eyeo GmbH
4 * 4 *
5 * Adblock Plus is free software: you can redistribute it and/or modify 5 * Adblock Plus is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 3 as 6 * it under the terms of the GNU General Public License version 3 as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
8 * 8 *
9 * Adblock Plus is distributed in the hope that it will be useful, 9 * Adblock Plus is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 function getDocumentInfo(page, frame, originUrl) 80 function getDocumentInfo(page, frame, originUrl)
81 { 81 {
82 return [ 82 return [
83 extractHostFromFrame(frame, originUrl), 83 extractHostFromFrame(frame, originUrl),
84 getKey(page, frame, originUrl), 84 getKey(page, frame, originUrl),
85 !!checkWhitelisted(page, frame, originUrl, 85 !!checkWhitelisted(page, frame, originUrl,
86 RegExpFilter.typeMap.GENERICBLOCK) 86 RegExpFilter.typeMap.GENERICBLOCK)
87 ]; 87 ];
88 } 88 }
89 89
90 function matchRequest(url, type, docDomain, sitekey, specificOnly)
91 {
92 return defaultMatcher.matchesAny(url, RegExpFilter.typeMap[type],
93 docDomain, sitekey, specificOnly);
94 }
95
96 function getRelatedTabIds(details) 90 function getRelatedTabIds(details)
97 { 91 {
98 // This is the common case, the request is associated with a single tab. 92 // This is the common case, the request is associated with a single tab.
99 // If tabId is -1, its not (e.g. the request was sent by 93 // If tabId is -1, its not (e.g. the request was sent by
100 // a Service/Shared Worker) and we have to identify the related tabs. 94 // a Service/Shared Worker) and we have to identify the related tabs.
101 if (details.tabId != -1) 95 if (details.tabId != -1)
102 return Promise.resolve([details.tabId]); 96 return Promise.resolve([details.tabId]);
103 97
104 let url; // Firefox provides "originUrl" indicating the 98 let url; // Firefox provides "originUrl" indicating the
105 if (details.originUrl) // URL of the tab that caused this request. 99 if (details.originUrl) // URL of the tab that caused this request.
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
177 // this can also indicate a request sent by a Shared/Service Worker). 171 // this can also indicate a request sent by a Shared/Service Worker).
178 if (!frame && !originUrl) 172 if (!frame && !originUrl)
179 return; 173 return;
180 174
181 if (checkWhitelisted(page, frame, originUrl)) 175 if (checkWhitelisted(page, frame, originUrl))
182 return; 176 return;
183 177
184 let type = resourceTypes.get(details.type) || "OTHER"; 178 let type = resourceTypes.get(details.type) || "OTHER";
185 let [docDomain, sitekey, specificOnly] = getDocumentInfo(page, frame, 179 let [docDomain, sitekey, specificOnly] = getDocumentInfo(page, frame,
186 originUrl); 180 originUrl);
187 let filter = matchRequest(url, type, docDomain, sitekey, specificOnly); 181 let filter = defaultMatcher.matchesAny(url, RegExpFilter.typeMap[type],
182 docDomain, sitekey, specificOnly);
188 183
189 let result; 184 let result;
190 let rewrittenUrl; 185 let rewrittenUrl;
191 186
192 if (filter instanceof BlockingFilter) 187 if (filter instanceof BlockingFilter)
193 { 188 {
194 if (typeof filter.rewrite == "string") 189 if (typeof filter.rewrite == "string")
195 { 190 {
196 rewrittenUrl = filter.rewriteUrl(details.url); 191 rewrittenUrl = filter.rewriteUrl(details.url);
197 // If no rewrite happened (error, different origin), we'll 192 // If no rewrite happened (error, different origin), we'll
(...skipping 25 matching lines...) Expand all
223 let {page, frame} = sender; 218 let {page, frame} = sender;
224 219
225 if (checkWhitelisted(page, frame)) 220 if (checkWhitelisted(page, frame))
226 return false; 221 return false;
227 222
228 let blocked = false; 223 let blocked = false;
229 let [docDomain, sitekey, specificOnly] = getDocumentInfo(page, frame); 224 let [docDomain, sitekey, specificOnly] = getDocumentInfo(page, frame);
230 225
231 for (let url of message.urls) 226 for (let url of message.urls)
232 { 227 {
233 let filter = matchRequest(new URL(url, message.baseURL), 228 let filter = defaultMatcher.matchesAny(new URL(url, message.baseURL),
234 message.mediatype, docDomain, 229 RegExpFilter.typeMap[message.mediatyp e],
235 sitekey, specificOnly); 230 docDomain, sitekey, specificOnly);
236 231
237 if (filter instanceof BlockingFilter) 232 if (filter instanceof BlockingFilter)
238 { 233 {
239 if (filter.collapse != null) 234 if (filter.collapse != null)
240 return filter.collapse; 235 return filter.collapse;
241 blocked = true; 236 blocked = true;
242 } 237 }
243 } 238 }
244 239
245 return blocked && Prefs.hidePlaceholders; 240 return blocked && Prefs.hidePlaceholders;
246 }); 241 });
247 242
248 port.on("request.blockedByRTCWrapper", (msg, sender) => 243 port.on("request.blockedByRTCWrapper", (msg, sender) =>
249 { 244 {
250 let {page, frame} = sender; 245 let {page, frame} = sender;
251 246
252 if (checkWhitelisted(page, frame)) 247 if (checkWhitelisted(page, frame))
253 return false; 248 return false;
254 249
255 let {url} = msg; 250 let {url} = msg;
256 let [docDomain, sitekey, specificOnly] = getDocumentInfo(page, frame); 251 let [docDomain, sitekey, specificOnly] = getDocumentInfo(page, frame);
257 let filter = matchRequest(new URL(url), "WEBRTC", docDomain, sitekey, 252 let filter = defaultMatcher.matchesAny(new URL(url),
258 specificOnly); 253 RegExpFilter.typeMap.WEBRTC,
254 docDomain, sitekey, specificOnly);
259 logRequest( 255 logRequest(
260 [sender.page.id], 256 [sender.page.id],
261 {url, type: "WEBRTC", docDomain, sitekey, specificOnly}, 257 {url, type: "WEBRTC", docDomain, sitekey, specificOnly},
262 filter 258 filter
263 ); 259 );
264 260
265 return filter instanceof BlockingFilter; 261 return filter instanceof BlockingFilter;
266 }); 262 });
267 263
268 let ignoreFilterNotifications = false; 264 let ignoreFilterNotifications = false;
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
325 } 321 }
326 322
327 filterNotifier.on("subscription.added", onFilterChange); 323 filterNotifier.on("subscription.added", onFilterChange);
328 filterNotifier.on("subscription.removed", arg => onFilterChange(arg, false)); 324 filterNotifier.on("subscription.removed", arg => onFilterChange(arg, false));
329 filterNotifier.on("subscription.updated", onFilterChange); 325 filterNotifier.on("subscription.updated", onFilterChange);
330 filterNotifier.on("subscription.disabled", arg => onFilterChange(arg, true)); 326 filterNotifier.on("subscription.disabled", arg => onFilterChange(arg, true));
331 filterNotifier.on("filter.added", onFilterChange); 327 filterNotifier.on("filter.added", onFilterChange);
332 filterNotifier.on("filter.removed", onFilterChange); 328 filterNotifier.on("filter.removed", onFilterChange);
333 filterNotifier.on("filter.disabled", arg => onFilterChange(arg, true)); 329 filterNotifier.on("filter.disabled", arg => onFilterChange(arg, true));
334 filterNotifier.on("load", onFilterChange); 330 filterNotifier.on("load", onFilterChange);
LEFTRIGHT

Powered by Google App Engine
This is Rietveld