Regexp will be parsed into parts that can be used with
QString::contains for quick match. If url contains all parts,
real QRegExp matching is applied.
This speedup affects rules that are internally converted into
regexp, not AdBlock's regexp rules (but those rules are very rarely used
in subscriptions, so there's no need to optimise them)
Even empty QRegExp can occupy a lot of space in memory, which can
grow into a big number with tens of thousands AdBlock rules.
QRegExp is now allocated with new, and only when really needed.
- ||domain.com^ and anything| rules are now using string matching
- edited updating EasyList to download more rules
* only 50 rules are slow now (use regexp) in EasyList
- checking Referer of network request to determine
if it is third party request or not
* matching is performed on second-level domains
(there is minor issue with it in Qt < 4.8)
- improved performance with not using regexps when not necessary
- added support for element hiding even with domain restrictions
- almost all types of rules are supported now
* exceptions are only some special cases when rule has
unssuported options (part of rule after $ character)
* those rules are ignored