| Index: lib/filterClasses.js | 
| =================================================================== | 
| --- a/lib/filterClasses.js | 
| +++ b/lib/filterClasses.js | 
| @@ -543,17 +543,20 @@ | 
| if (!domains) | 
| return true; | 
| // If the document has no host name, match only if the filter | 
| // isn't restricted to specific domains | 
| if (!docDomain) | 
| return domains.get(""); | 
| - docDomain = docDomain.replace(/\.+$/, "").toLowerCase(); | 
| + if (docDomain[docDomain.length - 1] == ".") | 
| + docDomain = docDomain.replace(/\.+$/, ""); | 
| + | 
| + docDomain = docDomain.toLowerCase(); | 
| while (true) | 
| { | 
| let isDomainIncluded = domains.get(docDomain); | 
| if (typeof isDomainIncluded != "undefined") | 
| return isDomainIncluded; | 
| let nextDot = docDomain.indexOf("."); | 
| @@ -571,17 +574,20 @@ | 
| */ | 
| isActiveOnlyOnDomain(docDomain) | 
| { | 
| let {domains} = this; | 
| if (!docDomain || !domains || domains.get("")) | 
| return false; | 
| - docDomain = docDomain.replace(/\.+$/, "").toLowerCase(); | 
| + if (docDomain[docDomain.length - 1] == ".") | 
| + docDomain = docDomain.replace(/\.+$/, ""); | 
| + | 
| + docDomain = docDomain.toLowerCase(); | 
| for (let [domain, isIncluded] of domains) | 
| { | 
| if (isIncluded && domain != docDomain) | 
| { | 
| if (domain.length <= docDomain.length) | 
| return false; |