Alexander Butenko
089315bcaa
Speedup adblock with blacklists and reorganize unit tests
...
1. Blacklist for pattern matching. 1 regexp has more than 1
signature. If the 1st match failed, there is no need to
match with the same regex a second time if the signature matched.
This gives us 20% speedup.
2. Cleanup for performance tests.
3. Tests reorganized. now we are checking pattern validation
plus performance timing. Simlifies testing.
4. Bump version to 0.5. The next patch will add option matching
so we will bump it to 1.0 once it is tested.
2010-01-10 22:52:06 +01:00
Alexander Butenko
22f347ca38
Increase filter line buffer, revise css block matching, use strchr
2010-01-03 23:37:44 +01:00
Christian Dywan
7383a647c9
Use mnemonic _o instead of _l for 'Block image'
2010-01-02 22:04:50 +01:00
Christian Dywan
cf9dec176c
Refactor adblock_reload_rules to handle filters versus only custom
2010-01-02 21:34:17 +01:00
Alexander Butenko
b0de3f35df
Block and hide images by domain and relative path
2010-01-02 21:15:58 +01:00
Alexander Butenko
20059d74b9
Hide images blocked with 'Block image' via element hiding
2010-01-02 04:11:44 +01:00
Alexander Butenko
5452c7c71d
Implement 'Block image' menuitem in adblock, adding URIs to custom list
...
For now it only has effect after reloading the page.
2010-01-02 03:47:56 +01:00
Enrico Tröger
9183f8e16d
Connect callbacks for gtk_widget_destroy where signature differs
...
Apparently dependent on architecture and compiler, mismatching
callback signatures can cause segmentation faults.
2009-12-29 23:49:10 +01:00
Enrico Tröger
d0a52ac09c
Use g_strndup as opposed to strndup in Adblock
2009-12-28 23:59:54 +01:00
Alexander Butenko
05601be635
Use id to avoid inserting adblock/ form history style more than once
2009-12-23 15:35:09 +01:00
Alexander Butenko
1c424106f1
Don't test file existence in adblock, katze_mkdir and check download status
...
It is enough to see if g_fopen fails, thus we don't need g_access
to test file existence additionally.
katze_mkdir_with_parents is optimized for existing folders.
We need to check the status, to see if file downloads are finished.
For Windows, we need to use g_strndup instead of strndup.
2009-12-22 00:07:39 +01:00
Alexander Butenko
045cc81b45
Use g_access instead of g_file_test consistently
2009-12-19 11:28:46 +01:00
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