Commit graph

428 commits

Author SHA1 Message Date
Paweł Forysiuk
b26df3af22 Remove unused kind_name variable in addons_uri_install 2010-11-10 00:34:31 +01:00
Paweł Forysiuk
2feb127e4b Reword userstyle/ script install message in infobar 2010-11-09 23:22:34 +01:00
Paweł Forysiuk
91390db88c Implement infobar for easy userscript/ style install 2010-11-07 23:58:26 +01:00
Paweł Forysiuk
96a276219a Handle multi-line -moz-document blocks 2010-11-05 23:27:57 +01:00
Christian Dywan
34a3c307b5 Properly omit quotes from -moz-document domain 2010-11-04 19:03:49 +01:00
Paweł Forysiuk
53a205be4d Handle single, double and absent quotes in -moz-document 2010-11-03 00:12:05 +01:00
Paweł Forysiuk
eae7ec4ac3 Recognize -moz-document domain in user stylesheets 2010-11-01 19:35:29 +01:00
Christian Dywan
ed6d44df5f Use function to access browser settings an panel 2010-11-01 16:47:32 +01:00
Christian Dywan
560ad66d48 Add 'Identify As' button to Statusbar Features 2010-10-31 21:24:34 +01:00
Christian Dywan
b86b5056f8 Remove External Applications extension 2010-10-24 21:06:28 +02:00
Christian Dywan
c78c982613 Mention Ctrl+Tab in description of History List
Otherwise people don't understand how to use it.
2010-10-22 21:50:20 +02:00
Christian Dywan
68c12e950e Slice allocations in addons, net, scrolled, transferbar 2010-10-21 21:09:01 +02:00
Christian Dywan
936758afdc Add translation comments to 'History' and 'Form History' 2010-10-21 21:09:00 +02:00
Christian Dywan
b25f27cd66 Add static keywords, fix #ifdefs and spurious lines 2010-10-20 23:48:36 +02:00
Paweł Forysiuk
30f3dc0461 Clean up redundant item lists from addons helpers 2010-10-20 23:47:14 +02:00
Christian Dywan
ce64fd3e25 Add item to clear Form History database 2010-10-17 23:11:50 +02:00
Christian Dywan
d73b471ec4 Implement sokoke_register_privacy_item facility
The new function allows registering callbacks which clear data,
with a name and label so they show up in the Clear Private Data
dialogue and the chosen items are saved.

The old enumeration still keeps history, trash and the flag
whether to clear when Midori quits.
2010-10-17 22:48:32 +02:00
Christian Dywan
52d7a43e28 Don't use "path" setting in web cache to create the folder 2010-10-14 22:20:21 +02:00
Christian Dywan
ab414bc251 Remove web cache path and size settings 2010-10-12 00:25:49 +02:00
Christian Dywan
e74f89f8c2 Remove 'filename' argument from sokoke_spawn_program 2010-10-10 13:27:06 +02:00
Christian Dywan
1e49e9f95c Don't use a custom stock icon for Cookie Manager
Due to the change of the stock icon names in GTK+ 2.22 the
stock item trick doesn't work anymore. Using the authentication
icon directly is good enough.
2010-10-05 21:43:34 +02:00
Christian Dywan
2cf3c2f5b0 Fix removal of tabs from Tab Panel treeview 2010-10-05 21:43:34 +02:00
Christian Dywan
5a0fc37d2f Don't use the deprecated GTK_IN_DESTRUCTION flag
As a workaround, the browser now sets its own flag.
2010-10-05 00:04:28 +02:00
Christian Dywan
195c5191ef Showing the (feed) panel needs to be a GtkWidget* 2010-09-12 00:59:24 +02:00
Christian Dywan
40dc38fd21 Implement and use KATZE_ARRAY_FOREACH_ITEM
Iterating an array by a GList is considerably faster than
continuously retrieving items, however it is also a lot
more complicated. So the new macro takes care of that and
uses a new semi-private function to avoid copying the list.

Note that the macro can't be nested, which basically isn't
useful in practise anyway.
2010-09-12 00:59:24 +02:00
Christian Dywan
3b4ae37664 Always free uri of the web view after applying addons 2010-09-01 23:56:03 +02:00
Paweł Forysiuk
f7a6011d1b Provide a context menu for scripts and styles 2010-09-01 22:39:09 +02:00
Paweł Forysiuk
8448eabd26 Add button to open folder of scripts/ styles 2010-09-01 22:28:32 +02:00
Paweł Forysiuk
65338e5ab0 Remove button labels and separator from addon toolbar 2010-09-01 22:08:21 +02:00
Paweł Forysiuk
d7b68b9d94 Add button to open addon in text editor 2010-08-30 00:59:57 +02:00
Paweł Forysiuk
ce56f60ccd Show addon filename and/ or description in tooltip 2010-08-29 23:49:38 +02:00
Paweł Forysiuk
1640aedd44 Make addons delete confirmation dialog more readable 2010-08-29 23:49:38 +02:00
Paweł Forysiuk
dc90ad18e9 Provide gui dialog for adding addons to user directories 2010-08-28 02:14:29 +02:00
Paweł Forysiuk
eee7cbcff9 Add button for deleting user addons 2010-08-28 01:59:54 +02:00
Paweł Forysiuk
49d249e6e1 Show full path to addon in tooltips 2010-08-28 01:46:17 +02:00
Christian Dywan
5a86115a9a Rename 'Minimize Tabs' to 'Show Tab Icon Only' 2010-08-23 19:38:11 +02:00
Christian Dywan
99a9cfc34c Show the Feed Panel after adding a new news feed 2010-08-23 19:38:11 +02:00
Christian Dywan
233ff2602d Switch to Tab Panel after activating it for the first time 2010-08-23 19:38:11 +02:00
Paweł Forysiuk
ac1ba277e4 Clean up redundant user addons item list copies in helper functions 2010-08-22 03:08:46 +02:00
Paweł Forysiuk
8bea9b586d Fix mistype in addons monitoring to enable watching userscript dirs 2010-08-22 03:07:39 +02:00
Christian Dywan
94fbf158f6 Remove conditional guards for sqlite 2010-07-17 21:31:29 +02:00
Dale Whittaker
0fcc460312 Handle news feeds with empty date and update them correctly 2010-07-15 00:06:15 +02:00
Christian Dywan
c3e145f540 Localize Vala extensions and mark strings for translation
The -include switch is passed to the compiler to work around
Vala failing to include gi18n.h first. This works for
clang and gcc at least.
2010-07-04 10:53:21 +02:00
Alexander Butenko
a04bf24b5e Properly disconnect add-tab on destruction in adblock 2010-06-30 22:41:32 +02:00
André Stösel
07053d49a0 Re-implement History List extension in Vala 2010-06-30 22:27:52 +02:00
Alexander Butenko
e7e2181858 Escape special chars in formhistory array keys 2010-06-30 21:09:55 +02:00
Alexander Butenko
f759fe921a Improve duplicate skipping logic in form history extension 2010-06-30 21:09:55 +02:00
Alexander Butenko
3d972f11e4 Skip '+' sign in adblock rules 2010-06-30 21:09:55 +02:00
Alexander Butenko
0d5a18b69c Skip values from the inputboxes with disabled autocompletion 2010-06-30 21:09:55 +02:00
Alexander Butenko
896cc75f57 Don't inject autosuggest bits where we dont need it 2010-06-30 21:09:55 +02:00
Christian Dywan
a25553edba Add Statusbar Clock extension to POTFILES.in 2010-06-26 22:11:13 +02:00
MonkeyOfDoom
09af931756 Disconnect tabs_minimized_add_tab_cb when deactivating 2010-06-19 22:37:46 +02:00
Alexander Butenko
633b7ed294 Inline functions in adblock for 0.5 percent speedup 2010-06-19 16:22:16 +02:00
MonkeyOfDoom
89e72b73d3 Add extension 'Minimize new Tabs'
Once it is activated the extension will minimize all newly opened
tabs by default.
2010-06-19 00:32:05 +02:00
MonkeyOfDoom
8cbdd61c97 Add extension 'Copy Addresses of Tabs'
The extension adds a menu item to copy the addresses of all tabs
to the clipboard.
2010-06-19 00:30:46 +02:00
André Stösel
0aa24037bd Connect tab switcher to child web view key events
The parent view will do its best to forward the focus to the
child web view, so  the tab switcher should listen to it.
2010-06-01 22:16:47 +02:00
Christian Dywan
c571a6394f Don't pass around KatzeNet instances anymore
The KatzeNet is always a singleton, no need to pass it around.
2010-05-25 19:03:01 +02:00
Enrico Tröger
bab6124cff Guard debug variables in Adblock with G_ENABLE_DEBUG 2010-05-15 01:06:17 +02:00
Christian Dywan
25a08b36ee Move construction of ExternalApplications inside the class 2010-05-15 01:06:17 +02:00
Christian Dywan
9241afa0db Implement FTP support in External Applications
For the moment 'gftp' is hardcoded for ftp://.
2010-05-13 01:06:58 +02:00
Arno Renevier
7c0e58a835 Refactor userscripts and userstyles as an extension 2010-05-02 11:53:05 +02:00
Christian Dywan
6a5585254a Implement gesture button setting and default to right 2010-04-29 02:31:11 +02:00
Christian Dywan
43baf4706a Tweak mouse gestures to properly support right button
We need to be more considerate when to indicate that button
signals were 'handled' and we need to popup the context menu
if we override the default handler.
2010-04-29 02:22:12 +02:00
Christian Dywan
0533e67902 Implement External Applications extension 2010-04-28 23:48:47 +02:00
Christian Dywan
3aad0189c4 Remove incomplete Javascript extension 2010-04-27 23:54:38 +02:00
Christian Dywan
7a7f4c6a44 Provide midori.vapi for App, Browser, Extension and WebSettings
With this API description extensions can be written in Vala. Mind
it is not complete yet, missing interfaces can be added later.
2010-04-27 23:49:45 +02:00
Christian Dywan
ccb60bb8d4 Only pick up .vala files if Vala is available 2010-04-25 23:39:00 +02:00
Christian Dywan
7e5dd2db32 Minimal support for tests and extensions in Vala 2010-04-25 00:11:57 +02:00
Christian Dywan
779c582058 Guard WebKitDownload to WebKitGTK+ 1.1.2 2010-04-24 23:59:07 +02:00
Christian Dywan
efc5252048 Revise MIDORI_ADBLOCK so 1 is parsing and 2 is timing
Huge amounts of console output affect performance, so timing
should be taken separately.
2010-04-10 00:58:15 +02:00
Christian Dywan
63a5eeb0f0 Output adblock debug if variable MIDORI_ADBLOCK set
If Midori is compiled with full debug mode, and the environment
variable MIDORI_ADBLOCK is set, Adblock will output a lot of
debugging information.
This spares testers from editing code. grep is recommended.
2010-04-08 21:39:05 +02:00
Christian Dywan
95358acc82 Handle https:// URIs in Adblock properly
We mark URIs as 'disabled' by replacing the : with a -. This
fails if there is an https:// URI and we want to restore it.

For clarity, the macros ADBLOCK_FILTER_SET and
ADBLOCK_FILTER_IS_SET are introduced to handle the details.
2010-04-06 02:41:29 +02:00
Arno Renevier
dc90c7f093 Use midori_view_get_web_view in extensions 2010-03-31 00:18:42 +02:00
Dale Whittaker
9607f2107e Take text from each feed element for tree and web view 2010-03-27 14:22:31 +01:00
Dale Whittaker
3f8b34853d Update year in Copyright headers 2010-03-25 23:06:38 +01:00
Dale Whittaker
181d62dc01 Don't skip CDATA section nodes in feeds 2010-03-25 23:01:46 +01:00
Dale Whittaker
a8c055bdbc Ignore navigation for clicks in news feeds 2010-03-23 20:27:00 +01:00
Christian Dywan
6496dd5403 Update tab panel colours in icon callback
Since Colorful Tabs now updates colors in the icon callback,
we also need to update in the icon callback.
2010-03-22 22:34:03 +01:00
Arno Renevier
9b9440d49e Use a 60 second timeout if format has no seconds 2010-03-22 21:52:06 +01:00
Samuel Creshal
3cbce9896b Implement page icon based tab colors
Colorful Tabs now uses the icon of a page as the basis for the
tab color, if it has one, otherwise falls back to the previous
address based hash.
The forground color is also adjusted for dark colored tabs.
2010-03-19 21:10:22 +01:00
Arno Renevier
0d27d6f17d Implement Status Clock extension 2010-03-19 20:50:34 +01:00
Samuel Creshal
8f23dcfd33 Disconnect tab callback when disabling Colorful Tabs 2010-03-04 02:08:49 +01:00
Peter de Ridder
6ad713c6d5 Look for the formhistory javascript dynamically 2010-02-16 00:59:42 +01:00
Peter de Ridder
b993cdc553 Add win32 specific linker flags for Midori extensions 2010-02-16 00:59:42 +01:00
Christian Dywan
c21807bc4a Use g_unlink for G_FILE_CREATE_REPLACE_DESTINATION with Glib < 2.20 2010-02-12 02:19:54 +01:00
Christian Dywan
8414836c76 Remove conditionals to disable Toolbar Editor on Hildon 2010-02-06 17:37:15 +01:00
Christian Dywan
458252d053 Localize 'Block image' and 'Block link' menuitems in adblock 2010-02-06 17:32:09 +01:00
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
Christian Dywan
af4d68b6b0 Sort shortcuts in the shortcut editor by name 2009-12-07 23:47:26 +01:00
Christian Dywan
0b81c7323d Store shortcuts statically to avoid flipping None values 2009-12-05 01:28:58 +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
Alexander Butenko
b8e0143bdc Take soup status message into account in finish callback of web cache 2009-11-23 20:42:22 +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
Christian Dywan
0211fc6f9b Use tab label colours in the tab panel, even if they are colourful
Tabs in the panel look a little more like tabs now. And as a side
effect, colours from the Colourful Tabs extension will be used.
2009-11-20 03:37:43 +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
277d957816 Remove redundant option from the Colourful tabs extension 2009-11-19 01:34:36 +01:00