| Index: lib/filterClasses.js | 
| =================================================================== | 
| --- a/lib/filterClasses.js | 
| +++ b/lib/filterClasses.js | 
| @@ -767,16 +767,24 @@ | 
| this.sitekeySource = null; | 
| } | 
|  | 
| Object.defineProperty( | 
| this, "sitekeys", {value: sitekeys, enumerable: true} | 
| ); | 
| return this.sitekeys; | 
| }, | 
| +  /** | 
| +   * Tests whether the filter only has location. | 
| +   */ | 
| +  get isLocationOnly() | 
| +  { | 
| +    return this.contentType == RegExpFilter.prototype.contentType && | 
| +           this.thirdParty == null && !this.domains && !this.sitekeys; | 
| +  }, | 
|  | 
| /** | 
| * Tests whether the URL matches this filter | 
| * @param {string} location URL to be tested | 
| * @param {number} typeMask bitmask of content / request types to match | 
| * @param {string} [docDomain] domain name of the document that loads the URL | 
| * @param {boolean} [thirdParty] should be true if the URL is a third-party | 
| *                               request | 
| @@ -784,16 +792,20 @@ | 
| * @return {boolean} true in case of a match | 
| */ | 
| matches(location, typeMask, docDomain, thirdParty, sitekey) | 
| { | 
| return (this.contentType & typeMask) != 0 && | 
| (this.thirdParty == null || this.thirdParty == thirdParty) && | 
| this.isActiveOnDomain(docDomain, sitekey) && | 
| this.regexp.test(location); | 
| +  }, | 
| +  matchesLocation(location) | 
| +  { | 
| +    return this.regexp.test(location); | 
| } | 
| }); | 
|  | 
| /** | 
| * Yields the filter itself (required to optimize {@link Matcher}). | 
| * @yields {RegExpFilter} | 
| */ | 
| RegExpFilter.prototype[Symbol.iterator] = function*() | 
|  |