Fix partyness evaluation for cases of base domain-less hostnames

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/402
This commit is contained in:
Raymond Hill 2019-01-29 10:34:58 -05:00
parent f8b6d96ffd
commit 3195f554f7
No known key found for this signature in database
GPG Key ID: 25E1490B761470C2
2 changed files with 10 additions and 6 deletions

View File

@ -191,8 +191,11 @@
// The idea is to minimize the amout of work done to figure out whether
// the resource is 3rd-party to the document.
is3rdPartyToDoc: function() {
const docDomain = this.getDocDomain();
if ( this.domain !== undefined ) { return this.domain !== docDomain; }
let docDomain = this.getDocDomain();
if ( docDomain === '' ) { docDomain = this.docHostname; }
if ( this.domain !== undefined && this.domain !== '' ) {
return this.domain !== docDomain;
}
const hostname = this.getHostname();
if ( hostname.endsWith(docDomain) === false ) { return true; }
const i = hostname.length - docDomain.length;
@ -248,8 +251,11 @@
// The idea is to minimize the amout of work done to figure out whether
// the resource is 3rd-party to the top document.
is3rdPartyToTab: function() {
const tabDomain = this.getTabDomain();
if ( this.domain !== undefined ) { return this.domain !== tabDomain; }
let tabDomain = this.getTabDomain();
if ( tabDomain === '' ) { tabDomain = this.tabHostname; }
if ( this.domain !== undefined && this.domain !== '' ) {
return this.domain !== tabDomain;
}
const hostname = this.getHostname();
if ( hostname.endsWith(tabDomain) === false ) { return true; }
const i = hostname.length - tabDomain.length;

View File

@ -193,8 +193,6 @@ const LogEntry = function(details) {
this[prop] = details[prop];
}
}
// TODO: Shouldn't this be done in µBlock.filteringContext?
// Need to evaluate.
if ( this.tabDomain === '' ) {
this.tabDomain = this.tabHostname || '';
}