summaryrefslogtreecommitdiff
path: root/src/adblock/adblockmanager.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Use const'refMontel Laurent2013-10-011-8/+8
|
* Load the adblock settings in background.Paul Rohrbach2013-07-301-4/+18
| | | | | | | | | | | | | | | | | | | | | | | If you open rekonq and start typing immediately, there is a small lag (about half a second). This is caused by the AdBlockManager::loadSettings function reading the adblock rules. It is called with a one second delay to make the startup faster. With this patch, the function is called in a separate thread using QtConcurrent::run to eliminate the lag. To make this safe, the adblocker is enabled after the settings are loaded, which means, that the first site loaded could be partially with ads. But this is no change in behavior, as the adblocker in current master is disabled for a whole second. The only times this blocks now is in situations, where it is necessary that the settings are loaded (showSettings and addCustomRule), but I guess that no normal user will use those in under a second after startup :) REVIEW: 111712 REVIEWED-BY: adjam
* Adding domain-specific hiding support to the adblocker.Paul Rohrbach2013-07-301-31/+12
| | | | | | | | | | | The domain-specific rules are stored in a QMultiHash, where the key is the domain and the values are the rules for the specified domain. This causes redundancy, because on rule can be applied to more than one domain, but has a really fast look-up time. The code for the generic hiding has not changed and is just relocated. REVIEW: 111521 REVIEWED-BY: adjam
* AdBlock ImprovementAndrea Diamantini2013-02-241-1/+52
| | | | | | | | | Hiding rules support (at least the easy ones, the most ones, against hiding id && classes) :D To test it, take a look (in example) at the url: http://simple-adblock.com/faq/testing-your-adblocker/
* Delay 1 sec adblock settings load to boost startup performanceAndrea Diamantini2013-02-211-1/+3
|
* Triple check against stupid rules like "*" or "##"Andrea Diamantini2013-02-211-1/+8
| | | | CCBUG: 315002
* Add overwrite flag to file copy ad filters list to not bother usersAndrea Diamantini2013-02-211-1/+1
| | | | about
* Krazy fixes, second shot (normalize)Andrea Diamantini2012-12-281-1/+1
|
* - Code style check (codestyle script round)Andrea Diamantini2012-12-121-1/+1
| | | | | | | | | - restored CTRL + ENTER code - applied Vedant's patch about (thanks!!!) CCMAIL: vedant.kota@gmail.com REVIEW: 107662 REVIEWED-BY: Tirtha and me
* Clean up previous commit about adblock and fix enable/disable featureAndrea Diamantini2012-12-101-45/+8
|
* adblock workAndrea Diamantini2012-12-101-24/+40
| | | | | | | | readded an icon in the urlbar when adblock is active, BUT with different features: you can now disable adblock "per-site", in a similar way chromium does. cleaned up adblock manager code, removing some old no more used code fragments
* Restored Adblock moving hiding logic to the one used in kwebkitpartAndrea Diamantini2012-12-101-0/+403
| | | | | This will let everyone to save time reinventing the wheel and let us remove webpage from adblockmanager code, but just manage it via (Q)NAM.
* WARNING COMMIT --> FIRST REKONQ 2 IMPORTAndrea Diamantini2012-12-101-450/+0
| | | | Preparing repo to merge rekonq2 code...
* Faster html elements check and better address resolutionAndrea Diamantini2012-10-141-3/+2
| | | | | | | | | This "should" fix some strange adblock behaviour on image hiding. Needs testing Patch courtesy by "vic". Thanks :) PS: will be applied to rekonq2, too. BUG:305861
* Fix adblock hide behaviorAndrea Diamantini2012-07-061-1/+7
| | | | | | | NOTE: You'll find also some style & copyrights fixes here. Just reenable the git hooks scripts... BUG: 302050
* Cleans upAndrea Diamantini2012-06-121-1/+0
| | | | | | - set initial icon to have properly dimensions set - properly calculate needed icon's height - calm down some kDebug messages
* Kitchen sink clean upAndrea Diamantini2012-05-271-5/+5
| | | | | | - astyle - copyrights - (some) includes
* Clean up headers && fix compilation with (the upcoming) qt 4.8.2Andrea Diamantini2012-04-201-0/+2
|
* Let user change his mind enabling block/unblockAndrea Diamantini2012-03-131-0/+5
|
* Clean up adblock manager code and fix unblock featureAndrea Diamantini2012-03-131-43/+52
|
* check/update/load subscriptions well :)Andrea Diamantini2012-03-131-35/+52
|
* Add dialog allowing adblock to list blocked/hided elements and unblockAndrea Diamantini2012-03-131-4/+39
| | | | some of them
* Let rekonq block sparse images (this idea has been copied from Arora)Andrea Diamantini2012-03-131-0/+29
|
* Add adblock icon to inform users that some contents was hiddenAndrea Diamantini2012-03-131-0/+6
| | | | | | | | This is a patch by Andrea Di Menna, changed a bit to allow element blocked/hided listing (you'll see it in next commit) REVIEW:102761 REVIEWED-BY: adjam
* Update adblock dialogAndrea Diamantini2012-03-131-1/+6
|
* Move adblock manager to use multiple text files for rules andAndrea Diamantini2012-03-131-94/+70
| | | | | | separate adblock settings from rekonq ones. We now have 60 adblock rules list sites stored to be enabled "on click"
* Remove ability to manage abp schemes and add subscriptions on clickAndrea Diamantini2012-03-131-20/+2
|
* Krazy fixesAndrea Diamantini2012-02-161-1/+1
| | | | | - doublequote_chars - normalize
* Consider option && ~option as null rules when option is not implementedAndrea Diamantini2012-02-101-1/+1
| | | | BUG: 246801
* Krazy fixesAndrea Diamantini2012-01-191-1/+1
| | | | | | | - QL1S/QL1C - single-char QString efficiency - explicit ctors - normalized signals & slots
* Unifies macro styleJohannes Troscher2011-11-271-9/+9
| | | | | REVIEW: 103242 REVIEWED-BY: adjam
* Calm down kDebug messagesAndrea Diamantini2011-10-111-9/+4
|
* Get sure page is extant before searching for DOM elements thereAndrea Diamantini2011-09-161-0/+4
| | | | BUG: 282012
* Fix saving in adblock managementAndrea Diamantini2011-08-191-2/+4
| | | | | | | | | This original patch from fritz_van_tom has been modified by me to fix a couple of "obsoleted" things not removed in the previous changes. My fault for them (and for the need of this patch), sorry. REVIEW: 102362
* Tools Action MenuAndrea Diamantini2011-08-041-0/+15
| | | | | | | | | | | - Removed showDeveloperTools action - Moved adblock GUI to adblock part - renamed toolsMenu and developerMenu to reflect their real/new roles - Added UserAgent action to the tools menu REVIEW:102170 REVIEWED-BY: fritz_van_tom
* clean upAndrea Diamantini2011-07-251-27/+27
| | | | | | - QL1S - one stupid kDebug less - codingstyle
* Calm down kDebug messagesAndrea Diamantini2011-07-191-2/+0
|
* A round of the "new" astyle 2.01...Andrea Diamantini2011-07-171-38/+38
|
* Coding styleAndrea Diamantini2011-02-251-4/+6
|
* Finally found time to update copyrights... ;)Andrea Diamantini2011-02-241-1/+1
|
* AdBlock: adding a Null Rule to match all the unimplemented filters.Andrea Diamantini2011-02-241-0/+2
| | | | | | BUG:248045 BUG:253329 BUG:265909
* Calm down kDebug messagesAndrea Diamantini2011-02-161-1/+0
|
* This should improve adblock retrieving by NOT asking for SSL confirmationsAndrea Diamantini2010-09-011-0/+6
|
* Add support for domain option in the ad block moduleBenjamin Poulain2010-08-221-3/+3
| | | | | | | | | | | | | | | | | | Some ads were not filtered because they were incorrectly matched by the whitelist. This is because we ignore options, including the domain restrictions. For example, the white filter: @@||pagead2.googlesyndication.com/pagead/show_ads.js$domain=kde.org would match any page regardless of the domain restriction. So no ads from pagead2.googlesyndication.com were filtered. This patch adds support for "domain" options in the fallback rules (the other AdBlockRuleImpl rejects options). The domain of the frame making the request is now compared to the option to take the right decision. This patch requires Qt 4.7 with a recent QtWebKit 2.0.
* Skip the hiding rules specific to domainsBenjamin Poulain2010-08-191-0/+4
| | | | | | | The rules to hide elements for a specific domains were interpreted as regular RegExp rules, which grows the list of filter to test. Those rules are not working with the current implementation, we should just skip them for efficiency.
* Add a special matcher for ad block filters for host nameBenjamin Poulain2010-08-191-1/+23
| | | | | | | | | | Quite a few rules of ad block are just matching domains. Those are of the form: ||trolltech.com^$options This patch add a new class to deal with this kind of filter, AdBlockHostMatcher. Matching a host address is much faster (O(1)) than going through the entire list of rules.
* Improve the performance of AdBlockRuleTextMatchImplBenjamin Poulain2010-08-191-3/+7
| | | | | | | | | | Comparing unicode string without case sensitive is rather expensive because each codepoint must be converted, which is non trivial for unicode. This patch introduce a new argument of ::match() taking the encoded url in lowercase. This way, the conversion can be done only once for a lot of rules.
* Remove the method pattern() from AdBlockRuleBenjamin Poulain2010-08-181-2/+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 some kDebug callsAndrea Diamantini2010-05-221-3/+2
|
* Move adblock rules conf file to appdata, to maintain central config file tinyAndrea Diamantini2010-05-141-4/+4
|