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.
This commit is contained in:
Raymond Hill 2019-03-14 11:24:13 -04:00
parent f411ab1feb
commit 875542c964
No known key found for this signature in database
GPG key ID: 25E1490B761470C2
2 changed files with 6 additions and 11 deletions

View file

@ -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);
}

View file

@ -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