From 875542c964ad783b4998533eeaa029968a5c6a5f Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Thu, 14 Mar 2019 11:24:13 -0400 Subject: [PATCH] Code review of fix for https://github.com/uBlockOrigin/uBlock-issues/issues/459 Relocate workaround to the code responsible to compute filtering context, such that the workaround will also be applied in other code paths, for example also for webRequest.onHeadersReceived. --- src/js/filtering-context.js | 6 ++++++ src/js/traffic.js | 11 ----------- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/src/js/filtering-context.js b/src/js/filtering-context.js index 437afdd60..54b091e04 100644 --- a/src/js/filtering-context.js +++ b/src/js/filtering-context.js @@ -53,6 +53,9 @@ this.tabId = tabContext.tabId; return this; }, + // https://github.com/uBlockOrigin/uBlock-issues/issues/459 + // In case of a request for frame and if ever no context is specified, + // assume the origin of the context is the same as the request itself. fromWebrequestDetails: function(details) { const tabId = details.tabId; if ( tabId > 0 && details.type === 'main_frame' ) { @@ -85,6 +88,9 @@ const normalURL = µBlock.normalizePageURL(0, details.documentUrl); this.setTabOriginFromURL(normalURL); this.setDocOriginFromURL(normalURL); + } else if ( this.type === 'sub_frame' ) { + const origin = this.originFromURI(this.url); + this.setDocOrigin(origin).setTabOrigin(origin); } else { this.setDocOrigin(this.tabOrigin); } diff --git a/src/js/traffic.js b/src/js/traffic.js index 62db4f315..0ddd3dfc9 100644 --- a/src/js/traffic.js +++ b/src/js/traffic.js @@ -283,17 +283,6 @@ const onBeforeBehindTheSceneRequest = function(fctxt) { let result = 0; - // https://github.com/uBlockOrigin/uBlock-issues/issues/459 - // In case of a request for frame and if ever no context is specified, - // assume the origin of the context is the same as the request itself. - if ( - fctxt.type === 'sub_frame' && - fctxt.getDocHostname() === 'behind-the-scene' - - ) { - fctxt.setDocOriginFromURL(fctxt.url).setTabOriginFromURL(fctxt.url); - } - // https://github.com/uBlockOrigin/uBlock-issues/issues/339 // Need to also test against `-scheme` since tabOrigin is normalized. // Not especially elegant but for now this accomplishes the purpose of