 Issue 29998582:
  Issue [TBD] - Update adblockpluscore dependency to [TBD] 
  Base URL: https://hg.adblockplus.org/adblockpluschrome/
    
  
    Issue 29998582:
  Issue [TBD] - Update adblockpluscore dependency to [TBD] 
  Base URL: https://hg.adblockplus.org/adblockpluschrome/| Index: lib/csp.js | 
| =================================================================== | 
| --- a/lib/csp.js | 
| +++ b/lib/csp.js | 
| @@ -15,74 +15,74 @@ | 
| * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. | 
| */ | 
| "use strict"; | 
| const {defaultMatcher} = require("../adblockpluscore/lib/matcher"); | 
| const {RegExpFilter, WhitelistFilter} = | 
| require("../adblockpluscore/lib/filterClasses"); | 
| -const {isThirdParty} = require("../adblockpluscore/lib/domain"); | 
| const {extractHostFromFrame} = require("./url"); | 
| const {checkWhitelisted} = require("./whitelisting"); | 
| const {filterNotifier} = require("filterNotifier"); | 
| const {logRequest} = require("./hitLogger"); | 
| const {typeMap} = RegExpFilter; | 
| browser.webRequest.onHeadersReceived.addListener(details => | 
| { | 
| let url = new URL(details.url); | 
| let parentFrame = ext.getFrame(details.tabId, details.parentFrameId); | 
| let hostname = extractHostFromFrame(parentFrame) || url.hostname; | 
| - let thirdParty = isThirdParty(url, hostname); | 
| - let cspMatch = defaultMatcher.matchesAny(details.url, typeMap.CSP, hostname, | 
| - thirdParty, null, false); | 
| + let cspMatch = defaultMatcher.matchesAny(url, typeMap.CSP, hostname, | 
| + null, false); | 
| if (cspMatch) | 
| { | 
| let page = new ext.Page({id: details.tabId, url: details.url}); | 
| let frame = ext.getFrame(details.tabId, details.frameId); | 
| if (checkWhitelisted(page, frame)) | 
| return; | 
| // To avoid an extra matchesAny for the common case we assumed no | 
| // $genericblock filters applied when searching for a matching $csp filter. | 
| // We must now pay the price by first checking for a $genericblock filter | 
| // and if necessary that our $csp filter is specific. | 
| let specificOnly = !!checkWhitelisted(page, frame, null, | 
| typeMap.GENERICBLOCK); | 
| if (specificOnly && !(cspMatch instanceof WhitelistFilter)) | 
| { | 
| - cspMatch = defaultMatcher.matchesAny(details.url, typeMap.CSP, hostname, | 
| - thirdParty, null, specificOnly); | 
| + cspMatch = defaultMatcher.matchesAny(url, typeMap.CSP, hostname, | 
| + null, specificOnly); | 
| if (!cspMatch) | 
| return; | 
| } | 
| if (cspMatch instanceof WhitelistFilter) | 
| { | 
| - logRequest([details.tabId], { | 
| - url: details.url, type: "CSP", docDomain: hostname, | 
| - thirdParty, specificOnly | 
| - }, cspMatch); | 
| + logRequest( | 
| + [details.tabId], | 
| + {url: details.url, type: "CSP", docDomain: hostname, specificOnly}, | 
| + cspMatch | 
| + ); | 
| filterNotifier.emit("filter.hitCount", cspMatch, 0, 0, [details.tabId]); | 
| return; | 
| } | 
| - let {blocking} = defaultMatcher.search(details.url, typeMap.CSP, hostname, | 
| - thirdParty, null, specificOnly, | 
| + let {blocking} = defaultMatcher.search(url, typeMap.CSP, hostname, | 
| + null, specificOnly, | 
| "blocking"); | 
| 
Sebastian Noack
2019/02/05 05:23:17
Nit: The last argument can go on the above line no
 
Manish Jethani
2019/02/05 05:45:48
Done.
 | 
| for (cspMatch of blocking) | 
| { | 
| - logRequest([details.tabId], { | 
| - url: details.url, type: "CSP", docDomain: hostname, | 
| - thirdParty, specificOnly | 
| - }, cspMatch); | 
| + logRequest( | 
| + [details.tabId], | 
| + {url: details.url, type: "CSP", docDomain: hostname, specificOnly}, | 
| + cspMatch | 
| + ); | 
| filterNotifier.emit("filter.hitCount", cspMatch, 0, 0, [details.tabId]); | 
| details.responseHeaders.push({ | 
| name: "Content-Security-Policy", | 
| value: cspMatch.csp | 
| }); | 
| } |