| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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%.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
| |
added cppcheck script
|
| |
|
| |
|
| |
|
|
|
|
| |
Speed up compilation & linking on Win, Lin & Mac. Step 1
|
| |
|
|
|
|
| |
key combinations just work :)
|
|
|
|
|
|
| |
The idea basically is: hide and set dimensione to ZERO to adblocked
elements. This seems cleaning page
WARNING: NEED TESTS!!!
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
This will let rekonq to automatically add abp subscriptions
from the adblockplus.org site (or wherever someone provides abp urls)
Anyway, consider that the raccomended way to manage adblock (by me and by
abp developers) is just adding the EasyList subscription.
rekonq just does it by default!!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 :)
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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... :)
|
|
|
|
|
|
|
|
| |
replaced with encoded chars"
Courtesy patch of Andrea Scarpino.
Thanks and Welcome!
CCMAIL:andrea@archlinux.org
|
|
|
|
|
| |
Removed the "options" part. Will be rewritten in rekonq 0.5
together with the UI..
|
| |
|
| |
|
| |
|
|
|
|
| |
This time I decided for speed..
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
adblock (KDE one) fix #1
|
|
|
|
| |
Sorry about that :(
|
|
|
|
|
| |
This will be useful (if someone is interested) in pushing our patches
directly on khtml filter engine.
|
| |
|
|
|
|
| |
But at least it's ads free!
|
|
|
|
| |
Now it's really time to go to bed :)
|
|
|
|
| |
First bits work, seems enough for this evening
|
| |
|
|
|