Commit graph

241 commits

Author SHA1 Message Date
Alexander Butenko c550d36649 Implement an 'Edit rule' dialogue when blocking images 2010-02-03 18:58:07 +01:00
Alexander Butenko 27653d6670 Only connect liststore after populating the model with filters
We don't want to reload the rules for each row.
2010-02-03 18:30:48 +01:00
Alexander Butenko de7818b7aa Don't cache local adblock filters, and remove disabled filter files 2010-02-03 18:26:44 +01:00
Alexander Butenko ce43fb3c03 Rebuild formhistory script on reload and do not leak the script
1. Don't leak the script in formhistory_window_object_cleared_cb ()
2. Disconnect add-tab signal in the right place
3. Rebuild the base javascript code on extension reload
2010-02-02 21:32:20 +01:00
Alexander Butenko 62dac745d6 Rebuild adblock js after download a new filter file 2010-02-02 21:26:05 +01:00
Alexander Butenko 7b42792caf Prevent styles with a "'" character from breaking adblock 2010-01-26 22:07:57 +01:00
Enrico Tröger 8f37e3802e Always expand rows when trying to restore the selection 2010-01-20 07:19:11 +01:00
Enrico Tröger 3af420622c Restore selection in cookie manager after deleting items 2010-01-19 06:53:48 +01:00
Alexander Butenko 97a5eb0df2 Read cache asynchronously, use GOutputStream, plug a leak
1. We are now reading from the cache asyncronously. Fixing UI freezes.

2. Cache writing switched to GOutputStream. One open/ close per file

3. Plugged a leak of cache headers in web_cache_message_rewrite ()

4. We don't need the URI in web_cache_mesage_got_headers_cb ()
2010-01-17 22:56:41 +01:00
Alexander Butenko 57865955dc Simpler element hiding and some adblock optimizations
1. Less hungry and simpler blocked element hider

2. We are now also adding a context menuitem for uris in
preparation for creating rules from the web inspector

3. Removed old hack for blocked element hider

4. Element hider javascript fixes

5. Unit test for small sized rules

6. Removed unneeded WebKitWebView casts
2010-01-17 20:04:17 +01:00
Enrico Tröger e6163a761f Only define adblock_prepare_urihider_js() if it is used 2010-01-15 07:07:00 +01:00
Alexander Butenko 9b01e48975 Tell the soup message it was finished to allow it to release memory 2010-01-14 02:23:00 +01:00
Alexander Butenko bb4c381b43 Use a script to hide images and frames that are blocked 2010-01-14 02:19:38 +01:00
Enrico Tröger 27567de620 Guard image with #define to prevent unused variable warnings 2010-01-14 02:01:30 +01:00
Alexander Butenko 4dae65d802 Speedup adblock by removing greedy regex if we have 1 or 2 signatures 2010-01-14 01:52:43 +01:00
Christian Dywan d536d90d33 Do not call xmlCleanupParser after parsing news feeds
This function is an aggressive means of releasing memory that may
leave libxml in an unusable state.
2010-01-13 06:52:42 +01:00
Alexander Butenko 2832704f7d Implement "autosuggest" in form history and bump the version
1. Honor non W3C but commonly used "autosuggest" attribute.

2. Bump version to 1.0. The plugin can be considered stable.
2010-01-10 22:57:17 +01:00
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
Enrico Tröger ca73b5fede Allow DND also for cookie items by using the value of the parent node 2010-01-08 00:16:56 +01:00
Enrico Tröger e67d87247a Align domains with and without leading dots equally 2010-01-08 00:16:56 +01:00
Enrico Tröger 170163cbab Implement cm_skip_leading_dot() to avoid code duplication 2010-01-08 00:16:56 +01:00
Enrico Tröger 973c82fdae Show some basic information in description box when domain is selected 2010-01-08 00:16:56 +01:00
Enrico Tröger d7aa05b9ec Implement cm_list_length() for faster list length computations
Since we only need to know whether the list of selected items
has 0, 1 or 2 or more items, it's enough to check for these 3 cases
2010-01-08 00:16:56 +01:00
Tsahee Zidenberg e126271ad8 Disconnect add-browser callback when deactivating Colourful Tabs 2010-01-07 00:02:12 +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
Christian Dywan fc7689f906 Move DNS prefetching into the core
The feature is going to be included with WebKitGTK+ and
having it in the core allows us to prefetch bookmarks as well.
2010-01-01 18:16:55 +01:00
Enrico Tröger 6fe8a5e9ec Allow selecting (and so deleting) multiple cookies at once 2009-12-30 23:52:20 +01:00
Enrico Tröger c91cc72505 Move code to delete selected item from button handler into separate function 2009-12-30 23:52:20 +01:00
Enrico Tröger b98064d0b6 Handle Delete key for the selected item in the Cookie Manager 2009-12-30 23:52:20 +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 33565cc2f3 Check whether the header file was created and mkdir the parent folder
When the web cache folder is deleted, the filenames passed to callbacks
may not be updated, so trying to write headers results in a crash.
We need to make sure we only write after opening the file properly.
2009-12-27 22:04:27 +01:00
Alexander Butenko 138e837457 Free the URI when the file was already cached 2009-12-26 15:20:57 +01:00
Alexander Butenko 06f5306d56 Fix a typo when using g_access in Web Cache 2009-12-23 23:39: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 9ab1040e5f Don't use titles for adblock styles, WebKit only loads one with a title 2009-12-22 01:05:54 +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 61266c26ec No need to g_access when checking cached file, fopen is enough 2009-12-21 23:48:51 +01:00
Alexander Butenko dc288dd3c3 Don't use g_access, use the return value of g_file_get_contents 2009-12-21 23:27:00 +01:00
Alexander Butenko 49d452a438 Eval form history script so it applies to the right frame
webkit_web_view_execute_script always works on the web view.
2009-12-19 20:22:23 +01:00
Alexander Butenko 9af30a1eda Optimize and clean-up form history
Switch from g_file_test() to g_access()

Initialize suggestions once the DOM is ready and only once

No need to handle WEBKIT_WEB_NAVIGATION_REASON_FORM_RESUBMITTED

[JS] Hide suggestions if search pattern was cleared

[JS] Human usable up/ down navigation in the suggestion window

Reusing a single suggestion window introduced a regression.
Suggestions were filling into the wrong editbox if there was more
than 1 on the page.

Some comments fixed and style clean-ups

Removed dead code
2009-12-19 11:28:46 +01:00
Alexander Butenko 045cc81b45 Use g_access instead of g_file_test consistently 2009-12-19 11:28:46 +01:00
Alexander Butenko 8c724eccd9 Use g_access in web cache, only SoupSession, pass filenames
Using g_access instead of g_file_test is a lot faster and avoids
big delays when accessing the disk.

Using only the SoupSession without resource-request-starting simplifies
the code. So offline mode is not an option for the moment.

Pass filenames directly to speed up lookups.
2009-12-18 21:21:56 +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
Alexander Butenko 82697f0afb Do not add the form history style more than once 2009-12-18 10:22:59 +01:00