Commit graph

41 commits

Author SHA1 Message Date
Alexander Butenko
12ed2da768 Refactor Adblock to use simpler checks with optional pattern matching
The style is only added once. Match checks are simpler so they can
be a lot faster. And slow pattern matching is optional, albeit
it currently is hardcoded in the source.
2009-12-18 21:21:56 +01:00
Christian Dywan
c94be155f5 Open the link in the adblock filter dialogue inside Midori 2009-12-05 01:28:58 +01:00
Alexander Butenko
27e28080b8 Do not free the SoupURI obtained from soup_message_get_uri 2009-12-01 22:35:28 +01:00
Alexander Butenko
a64a583c4a Don't free opt because it is inserted into the hash table as-is 2009-11-30 22:04:32 +01:00
Christian Dywan
183878db8c Omit Help in Adblock and Search Engines dialogues on Hildon 2009-11-29 14:09:28 +01:00
Alexander Butenko
ce1013e622 Support differences in rule syntax and refactor the URL parser
Apparently some lists use a different syntax than what is
recommended, so we take that into account.
2009-11-27 00:37:20 +01:00
Christian Dywan
e5cb4bb383 Be sure to define image in adblock, even if unused and move disconnect 2009-11-23 20:40:05 +01:00
Christian Dywan
f14b711901 Implement 'Edit' in adblock to activate the cell in the list 2009-11-21 02:35:15 +01:00
Alexander Butenko
2d514bfb6c Refactor adblock simplify parsing and to honor matching options
There is a known flaw in that URL rules may erroneously match domains.

The code path for WebKitGTK+ < 1.1.14 is now crashing.
2009-11-20 01:00:48 +01:00
Christian Dywan
5238431d84 Disable statusbar button showing adblock status
It doesn't work that well currently and it's not clear how it should
change, so we're disabling it for the moment.
2009-11-13 18:37:00 +01:00
Alexander Butenko
d86e03a34e Implement an adblock info icon showing blocked URIs in a tooltip 2009-10-19 23:31:41 +02:00
Alexander Butenko
02d6f806e2 Implement div, a, ul and per domain element adblock rules
element hiding is supported. And instead of creating a javascript
function for each rule, we generate one script for everything.

On my machine only 650 out of 4500 rules are skipped.
2009-10-19 23:16:05 +02:00
Christian Dywan
b7f90f1a51 Add entry for a filter list address and an explanation to the dialog 2009-10-14 23:23:45 +02:00
Christian Dywan
0d65588651 Support Adblock with earlier Webit versions
With WebKit < 1.1.14 we use libSoup directly.
2009-10-14 21:51:32 +02:00
Christian Dywan
6a590a3125 Implement tick marks to enable/ disable adblock filters 2009-10-14 03:35:40 +02:00
Christian Dywan
fa030cbaca Use the correct counter when storing adblock filters
This crash was tricky since 'length' looked correct while in fact
it is the number of items including invalid items, which can be
more than we store.
2009-10-14 03:17:23 +02:00
Christian Dywan
e97a198e98 Cache scriptcode generated by adblock instead of generating on load 2009-10-12 12:12:38 +02:00
Christian Dywan
94db485293 Initialize adblock unit tests with an empty pattern 2009-10-10 11:08:29 +02:00
Christian Dywan
223e9be7e3 Don't leak blockcss but free it before replacing it 2009-10-09 17:20:55 +02:00
Alexander Butenko
63b25561ff Re-use one hashtable instead of replacing it 2009-10-09 17:05:07 +02:00
Alexander Butenko
53b3c6aee3 Measure the performance of adblock parsing with a unit test 2009-10-03 23:57:12 +02:00
Alexander Butenko
c812efad2b Go back to the previous, faster pattern handling in adblock 2009-10-03 23:52:59 +02:00
Christian Dywan
7c2eb4de16 Fix a crash caused by freeing the adblock filters in the wrong way 2009-10-03 13:27:12 +02:00
Christian Dywan
2b493414d5 Correct memory handling leading to corruption in adblock 2009-10-03 02:03:49 +02:00
Alexander Butenko
a8a0ff625e Be sure to reload lists as they are added 2009-09-23 19:22:01 +02:00
Alexander Butenko
8ed02c1f88 Impove adblock regex, skip data: URIs and handle |http:// 2009-09-15 21:03:40 +02:00
Alexander Butenko
5f98925a02 Generate CSS rules from adblock element blocking lines 2009-09-14 18:26:35 +02:00
Christian Dywan
516547814c Mention why disabled extensions are not available 2009-09-14 18:26:35 +02:00
Christian Dywan
39e47ac3b7 Disable extensions that are unavailable on the system
Extensions can be unavailable on a particular platform or a system
lacking a build-time requirement. Let's handle this more cleanly
and reflect it in the Extensions panel.
2009-09-10 02:07:27 +02:00
Alexander Butenko
e59b291709 Implement Adblock with WebKit resource API 2009-09-10 02:00:06 +02:00
Enrico Tröger
d3237c46ca Skip adblock lines that are not handled 2009-08-09 15:21:02 +02:00
Christian Dywan
43e6542702 Implement MidoriBrowser::populate-tool-menu and adjust extensions
Extensions used to look for the menu and append items manually.
In order to show Tools in the Compact menu a proper signal
is needed.

Adblock, Shortcuts and Toolbar Editor are ported to the new API.
2009-07-25 03:05:52 +02:00
Alexander Butenko
121d348c64 Escape adblock filters properly and adjust the tests 2009-07-22 21:42:33 +02:00
Christian Dywan
d6f6a76755 Include unistd.h in adblock which declares close() 2009-07-18 15:14:26 +02:00
Christian Dywan
8cdbb32511 Implement unit tests in adblock 2009-07-18 03:05:40 +02:00
Christian Dywan
cc326885bc Implement adding and removing of adblock URIs 2009-07-17 22:05:20 +02:00
Christian Dywan
746b17e49e Make adblock filter URIs editable and save them when edited 2009-07-17 21:37:36 +02:00
Christian Dywan
0c5ce0e515 No need for a data function for adblock text columns 2009-07-17 18:03:50 +02:00
Christian Dywan
cac8646b7e Replace leading * or ? in adblock lines with .* or \? respectively 2009-07-16 14:36:35 +02:00
Alexander Butenko
c269bfc466 Use a hash table of URIs to track blocked advertisements 2009-07-16 14:17:20 +02:00
Christian Dywan
d90f3d7680 Initial implementation of an Advertisement blocker
The dialog isn't finished, you have to add URIs to the config
file by hand.
2009-05-19 21:01:09 +02:00