summaryrefslogtreecommitdiff
path: root/src/adblock/adblockrule.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add a primitive text machter as an AdBlockRule implementationsBenjamin Poulain2010-08-181-1/+5
| | | | | | | | About 30% of the filter of easylist are just simple text matching. This new AdBlockRule implementation detects the simple occurences of this to match the url directly. On Qt 4.7, this reduce the time spend in AdBlock by around 20%.
* Split AdBlock rule in two classes to move the implementation out of itBenjamin Poulain2010-08-181-75/+2
| | | | | | | | | | | | In order to make special matching rules, we need specialization of the implementation depending on the type of rule. The previous AdBlockRule was entierly based on regexp. The new one is only a factory to a AdBlockRuleImpl, and delegate everything to this implementation. This will allow faster specialization of the ad block rules in the future.
* Remove the method pattern() from AdBlockRuleBenjamin Poulain2010-08-181-6/+0
| | | | | The method pattern imply the rule is implemented with a regexp, which is what we should try to avoid in the future for performance reasons.
* Cleaning of the constructor of AdBlockRuleBenjamin Poulain2010-08-181-21/+15
| | | | | | | | | | | | | | | | | | | Basic cleaning and bug fixing of AdBlockRule. The options shoud be parsed before checking if the filter is a regexp, otherwhise a regexp with option will never match the rule. For example: -"/.*/$xmlhttprequest" is a valid regexp that would not be matched. -"/.*$xmlhttprequest/" is a valid regexp without options and the option should not have been parsed. The matching of the option should match the last index of "$", not the first, for the same reason as above. Use mid() to split the vector at once instead QString::mid() + QString::lef(). Clean the coding style to follow the conventions of KDE.
* AdBlock clean up, step 1Andrea Diamantini2010-05-141-36/+1
|
* Include Fixes, first bunchAndrea Diamantini2010-04-301-2/+0
|
* New rekonq_defines.hAndrea Diamantini2010-04-301-4/+0
| | | | Speed up compilation & linking on Win, Lin & Mac. Step 1
* A coding style roundAndrea Diamantini2010-04-301-36/+36
|
* Implemented automatic adblock update.Andrea Diamantini2010-03-131-0/+6
| | | | | | | | | | | | | | This (squashed) commit adds this new feature in rekonq, letting people to simply "forgot" adblock and let rekonq do everything for it I added: - a new (rekonq) adblock widget - an asyncronous method to update rules from the net every TOT days - a better AdBlockManager management. What it is actually missing is the adp protocol support to add new subscriptions to adblock. This will come the next week. For now this part seems stable and needs just testing :)
* Fix copyright for 0.4 beta releaseAndrea Diamantini2010-02-101-1/+1
|
* Save memory!Andrea Diamantini2010-01-211-6/+13
| | | | | | With this commit, we save (at least) 3 bytes for each AdBlockRule defined (and probably more than 3!). In my installation I have about 100 rules... :)
* Cleaning again (the morning after) the adblock thing.. :)Andrea Diamantini2010-01-141-52/+75
| | | | | Removed the "options" part. Will be rewritten in rekonq 0.5 together with the UI..
* Better AdBlocking things :)Andrea Diamantini2010-01-141-20/+0
|
* We have adblock! (and it works)Andrea Diamantini2009-11-301-0/+173
| | | | | | | | | | | I had a lot of problems implementing it because I started working on assuming 2 things: 1) konqueror implementation works (it's not true, I found a bug! To guess what, try loading current rekonq vs current konqueror against kde-apps.org) 2) Arora's implementation can be easily ported to kcm technology. Another wrong assumption, based on MVP implementation. Sorry for spamming master branch, guys.
* removed current bugged adblock implementation.Andrea Diamantini2009-11-281-173/+0
| | | | Sorry about that :(
* Forgot some files :)Andrea Diamantini2009-11-231-0/+173