| Index: lib/filterClasses.js | 
| diff --git a/lib/filterClasses.js b/lib/filterClasses.js | 
| index 1932a6895b6b4d15897d2a104d416be74e2bd80a..bfee06f62020a707b57869a2e22184544311ffc0 100644 | 
| --- a/lib/filterClasses.js | 
| +++ b/lib/filterClasses.js | 
| @@ -478,6 +478,16 @@ ActiveFilter.prototype = | 
| }, | 
|  | 
| /** | 
| +   * Checks whether this filter is generic or specific | 
| +   * @return {Boolean} true if filter is generic, otherwise false | 
| +   */ | 
| +  isGeneric: function() /**Boolean*/ | 
| +  { | 
| +    return (!(this.sitekeys && this.sitekeys.length) && | 
| +            (!this.domains || this.domains[""])); | 
| +  }, | 
| + | 
| +  /** | 
| * See Filter.serialize() | 
| */ | 
| serialize: function(buffer) | 
| @@ -754,11 +764,18 @@ RegExpFilter.typeMap = { | 
| BACKGROUND: 4,    // Backwards compat, same as IMAGE | 
|  | 
| POPUP: 0x10000000, | 
| -  ELEMHIDE: 0x40000000 | 
| +  GENERICBLOCK: 0x20000000, | 
| +  ELEMHIDE: 0x40000000, | 
| +  GENERICHIDE: 0x80000000 | 
| }; | 
|  | 
| -// DOCUMENT, ELEMHIDE, POPUP options shouldn't be there by default | 
| -RegExpFilter.prototype.contentType &= ~(RegExpFilter.typeMap.DOCUMENT | RegExpFilter.typeMap.ELEMHIDE | RegExpFilter.typeMap.POPUP); | 
| +// DOCUMENT, ELEMHIDE, POPUP, GENERICHIDE and GENERICBLOCK options shouldn't | 
| +// be there by default | 
| +RegExpFilter.prototype.contentType &= ~(RegExpFilter.typeMap.DOCUMENT | | 
| +                                        RegExpFilter.typeMap.ELEMHIDE | | 
| +                                        RegExpFilter.typeMap.POPUP | | 
| +                                        RegExpFilter.typeMap.GENERICHIDE | | 
| +                                        RegExpFilter.typeMap.GENERICBLOCK); | 
|  | 
| /** | 
| * Class for blocking filters | 
|  |