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