| Index: lib/filterClasses.js | 
| =================================================================== | 
| --- a/lib/filterClasses.js | 
| +++ b/lib/filterClasses.js | 
| @@ -381,23 +381,16 @@ | 
| /** | 
| * Separator character used in domainSource property, must be | 
| * overridden by subclasses | 
| * @type {string} | 
| */ | 
| domainSeparator: null, | 
|  | 
| /** | 
| -   * Determines whether the trailing dot in domain names isn't important and | 
| -   * should be ignored, must be overridden by subclasses. | 
| -   * @type {boolean} | 
| -   */ | 
| -  ignoreTrailingDot: true, | 
| - | 
| -  /** | 
| * Determines whether domainSource is already upper-case, | 
| * can be overridden by subclasses. | 
| * @type {boolean} | 
| */ | 
| domainSourceIsUpperCase: false, | 
|  | 
| /** | 
| * Map containing domains that this filter should match on/not match | 
| @@ -421,28 +414,24 @@ | 
| { | 
| // RegExpFilter already have uppercase domains | 
| source = source.toUpperCase(); | 
| } | 
| let list = source.split(this.domainSeparator); | 
| if (list.length == 1 && list[0][0] != "~") | 
| { | 
| // Fast track for the common one-domain scenario | 
| -        if (this.ignoreTrailingDot) | 
| -          list[0] = list[0].replace(/\.+$/, ""); | 
| domains = new Map([["", false], [list[0], true]]); | 
| } | 
| else | 
| { | 
| let hasIncludes = false; | 
| for (let i = 0; i < list.length; i++) | 
| { | 
| let domain = list[i]; | 
| -          if (this.ignoreTrailingDot) | 
| -            domain = domain.replace(/\.+$/, ""); | 
| if (domain == "") | 
| continue; | 
|  | 
| let include; | 
| if (domain[0] == "~") | 
| { | 
| include = false; | 
| domain = domain.substr(1); | 
| @@ -496,19 +485,17 @@ | 
| if (!this.domains) | 
| return true; | 
|  | 
| // If the document has no host name, match only if the filter | 
| // isn't restricted to specific domains | 
| if (!docDomain) | 
| return this.domains.get(""); | 
|  | 
| -    if (this.ignoreTrailingDot) | 
| -      docDomain = docDomain.replace(/\.+$/, ""); | 
| -    docDomain = docDomain.toUpperCase(); | 
| +    docDomain = docDomain.replace(/\.+$/, "").toUpperCase(); | 
|  | 
| while (true) | 
| { | 
| let isDomainIncluded = this.domains.get(docDomain); | 
| if (typeof isDomainIncluded != "undefined") | 
| return isDomainIncluded; | 
|  | 
| let nextDot = docDomain.indexOf("."); | 
| @@ -524,19 +511,17 @@ | 
| * @param {string} docDomain | 
| * @return {boolean} | 
| */ | 
| isActiveOnlyOnDomain(docDomain) | 
| { | 
| if (!docDomain || !this.domains || this.domains.get("")) | 
| return false; | 
|  | 
| -    if (this.ignoreTrailingDot) | 
| -      docDomain = docDomain.replace(/\.+$/, ""); | 
| -    docDomain = docDomain.toUpperCase(); | 
| +    docDomain = docDomain.replace(/\.+$/, "").toUpperCase(); | 
|  | 
| for (let [domain, isIncluded] of this.domains) | 
| { | 
| if (isIncluded && domain != docDomain) | 
| { | 
| if (domain.length <= docDomain.length) | 
| return false; | 
|  | 
| @@ -1010,21 +995,16 @@ | 
|  | 
| ElemHideBase.prototype = extend(ActiveFilter, { | 
| /** | 
| * @see ActiveFilter.domainSeparator | 
| */ | 
| domainSeparator: ",", | 
|  | 
| /** | 
| -   * @see ActiveFilter.ignoreTrailingDot | 
| -   */ | 
| -  ignoreTrailingDot: false, | 
| - | 
| -  /** | 
| * Host names or domains the filter should be restricted to (can be null for | 
| * no restriction) | 
| * @type {?string} | 
| */ | 
| selectorDomains: null, | 
| /** | 
| * CSS selector for the HTML elements that should be hidden | 
| * @type {string} | 
|  |