Christian Dywan
9040d43632
Refactor web cache to circumvent libsoup when needed
...
At this point libsoup is dependent on a functional network adapter,
which may not be available if no network connection is there or
the connection is faulty. So *if* we have a requested page in the
cache, we load it before libsoup comes into play.
Depending on the WebKitGTK+ version, loading from cache uses an
"alternate" URI so that we don't end up having cache filenames
in the location entry.
Generation of cache filenames is fixed to never include special
characters such as slashes or question marks.
Only non-empty files are actually stored to the cache folder.
2009-10-22 02:20:27 +02:00
Christian Dywan
6b0f38e51a
Install autosuggestcontrol.js/.css into res like the other files
2009-10-22 02:20:26 +02:00
Christian Dywan
3dfaac3458
Revise loading data from the cache instead of the network
2009-10-20 21:39:05 +02:00
Christian Dywan
10b6cbb50a
Don't check the status code when storing in the cache
2009-10-20 17:30:07 +02:00
Christian Dywan
ea6ae9b9e6
Store cached files in subfolders
2009-10-20 17:28:42 +02:00
Christian Dywan
da65b5d0c1
Implement a primitive web cache extension (unstable)
...
Incoming files are cached and saved to disk, as well as looked up
when files are requested. Only images are considered at the moment
and there is no epxiration handling or updating at all. Plus
it crashes in certain cases.
2009-10-20 16:04:58 +02: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
Alexander Butenko
5f30199df5
Add unit test for prefetching that tests which URIs to prefetch
2009-10-14 00:56:17 +02:00
Christian Dywan
8636d3b9c6
Bail out of DNS prefetch if the host is NULL
2009-10-13 13:25:29 +02:00
Alexander Butenko
e4f163447c
Don't prefetch IP addresses and bail out if the soup URI is invalid
2009-10-13 02:37:52 +02:00
Alexander Butenko
ad04c92e30
Initialize hosts for prefetching with an empty string
2009-10-12 23:06:04 +02:00
Christian Dywan
9702fbf5e4
Check the length of form fields to save only once
2009-10-12 23:06:04 +02:00
Enrico Tröger
2fc3116f77
Only fetch form values when the message is accumulative
2009-10-12 23:06:04 +02:00
Christian Dywan
c3217c6365
Pass HILDON library (if used) when building extensions
2009-10-12 13:01:17 +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
2718e47ca0
Add a DNS prefetching extension which fetches hovered links
2009-10-09 17:13:24 +02:00
Alexander Butenko
63b25561ff
Re-use one hashtable instead of replacing it
2009-10-09 17:05:07 +02:00
Christian Dywan
0706bdbbe7
Don't leak form suggestions and don't return from the loop
2009-10-07 23:04:30 +02:00
Alexander Butenko
37e2c84b2b
Install formhistory resources, don't fill in passwords
...
Reading post data is there but nothing is written to disk yet.
2009-10-07 22:30:16 +02:00
Alexander Butenko
50c159e9bb
Initial code for the form history extension
2009-10-06 20:35:56 +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
Christian Dywan
0e0ce115f9
Update tab panel selection when tabs are switched, opened or closed
...
A convenince function tab_panel_get_iter_for_view is introduced
to make finding the right iter easier.
2009-09-29 20:50:04 +02:00
Alexander Butenko
a8a0ff625e
Be sure to reload lists as they are added
2009-09-23 19:22:01 +02:00
Christian Dywan
c4808e1701
Setup mouse gestures properly without a restart
2009-09-16 21:52:14 +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
Christian Dywan
b77fdd45cf
Support minimizing in tab panel, improve treeview updating
...
We now differentiate minimized views by inserting a toolitem in the toolbar
instead of a row in the tree model. This needed quite a bit of refactoring
including notifications of icon and title, which we use to update the
tree model as well now. Models are also per-browser now.
2009-08-18 20:49:41 +02:00
Dale Whittaker
359be5e24b
Revert usage of KatzeItem meta data in the feed panel for now
2009-08-17 20:51:35 +02:00
Christian Dywan
04dc7fe855
Pass news feed icon clicks to the feed panel
...
The secondary-icon-released signal of the location action returns
a boolean now so a callback can indicate that it handled it. So
if the feed panel is active, it adds feeds to the panel and
suppresses the default action.
A possible crash when disabling the panel and clicking the icon
afterwards is fixed by adding a missing signal disconnection.
2009-08-17 02:15:21 +02:00
Dale Whittaker
883007c05d
Catch another case of feed markup not being converted to text
2009-08-16 23:33:21 +02:00
Dale Whittaker
f48f47f372
Be sure to handle feed panel elements as HTML rather than text
...
While we are at it, use the new metadata API of KatzeItem.
2009-08-14 23:33:10 +02:00
Enrico Tröger
d3237c46ca
Skip adblock lines that are not handled
2009-08-09 15:21:02 +02:00
Christian Dywan
a905219267
Show close icons in the tab panel, if enabled
2009-07-28 01:25:46 +02:00
Christian Dywan
2f3204f61a
Manually setup the tab panel tooltip
2009-07-27 23:41:36 +02:00
Christian Dywan
d0d0b3bba7
Ellipsize titles and show tooltips in the tab panel
2009-07-27 03:40:38 +02:00
Christian Dywan
a32bd1e39a
Don't indent tab panel rows, we don't have expanders
2009-07-26 21:49:42 +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
Daniel P. Fore
4103dc48ea
Improve the wording of a few English strings and use colons
2009-07-22 23:53:29 +02:00
Alexander Butenko
121d348c64
Escape adblock filters properly and adjust the tests
2009-07-22 21:42:33 +02:00
Christian Dywan
e241273ad5
Disable building of adblock again, it's still not ready
2009-07-19 18:59:30 +02:00
Enrico Tröger
54192725c0
Don't repopulate the toolbar when opening the toolbar editor
2009-07-18 15:19:54 +02:00
Enrico Tröger
b7b741a146
Show icons in the toolbar editor
2009-07-18 15:17:41 +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
Enrico Tröger
349c9d2080
Apply changes in the toolbar editor instantly
2009-07-17 23:02:55 +02:00
Enrico Tröger
e0541d92ea
Use constants to address tree model columns
2009-07-17 23:00:39 +02:00
Enrico Tröger
6e97bf2da6
Display item labels instead of raw names in the toolbar editor
2009-07-17 22:59:25 +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
4135b1ffe8
Use katze_strip_mnemonics in Shortcuts
2009-07-17 21:30:40 +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
c7a456dffd
Re-enable building the adblock extension
2009-07-16 14:04:00 +02:00
Enrico Tröger
4df46b1266
Add a Toolbar Editor extension
2009-07-10 16:40:35 +01:00
Christian Dywan
c1fe050cd3
Insert tabs in the Tab Panel the same order as the notebook
2009-06-29 21:55:05 +02:00
Christian Dywan
e1d385d3ab
Use the new public tab menu in the Tab Panel extension
2009-06-27 23:53:33 +02:00
Christian Dywan
1d8a7728a6
Use URI instead of the view itself to open tabs in new windows
2009-06-23 00:10:12 +02:00
Christian Dywan
7b36d4dd58
Close tabs in the Tab Panel with a middle click
2009-06-23 00:04:07 +02:00
Christian Dywan
f66e86a4fb
Switch tabs in the Tab Panel with a single left click
2009-06-22 23:58:25 +02:00
Christian Dywan
e3c5aa9277
Use show-tabs in Tab Panel to hide the ordinary tabs
2009-06-22 23:51:24 +02:00
Christian Dywan
7860357ed2
Remove views from the tab panel as they are removed from the browser
2009-06-22 23:13:23 +02:00
Christian Dywan
75e3dae39a
Implement a tree view of open tabs in the Tab Panel
2009-06-21 19:30:51 +02:00
Christian Dywan
1937a7785c
Enable building of the Tab Panel again
2009-06-20 23:46:49 +02:00
Christian Dywan
f38fb44048
Hide the default tab labels when Tab Panel is active
2009-06-20 23:31:57 +02:00
Christian Dywan
1e28cd3b14
Refactor Tab Panel into a single file
2009-06-20 23:28:02 +02:00
Christian Dywan
42ab4b3848
Render unset shortcuts as "None" instead if "Deactivated"
2009-06-20 20:36:16 +02:00
Christian Dywan
7a6686ef71
Strip underscores from action labels in shortcuts extension
2009-06-20 20:30:03 +02:00
Christian Dywan
d7d06b9acd
Use midori_browser_get_for_widget in Colourful Tabs
2009-06-18 23:55:16 +02:00
Christian Dywan
565ea61ba6
Add Shortcuts extension to edit keyboard shortcuts
2009-06-11 15:42:54 +02:00
Christian Dywan
4e19617fdc
Use MDATADIR, import os and don't use waf_config_files
2009-06-09 02:02:43 +02:00
Christian Dywan
f643ed1ddd
Don't bother to counter browser and also unref the array
2009-06-07 01:31:49 +02:00
Christian Dywan
d39e5590f9
Replace a few tabbed lines with space indentation
2009-06-07 01:26:12 +02:00
Michael Opitz
891d89e3fd
Propagate button press event explicitly from the view
...
Apparently the button events tend to be stuck and not properly
propagated, so we resort to emitting the signal ourselves.
2009-06-07 00:48:19 +02:00
Enrico Tröger
246fc03151
Use only one GtkTreeStore for all browsers to improve performance
...
Split the code a bit more and use one GtkTreeStore for all
CookieManagerPage instances so we save some cycles when updating
the store when cookies have changed.
2009-06-06 23:40:08 +02:00
Christian Dywan
6296ce147d
Show icons/ labels in statusbar features according to toolbar style
2009-06-01 02:46:10 +02:00
Christian Dywan
7275ea3a6a
Disable adblock, it's incomplete and not ready for release
2009-05-28 23:16:13 +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
Jérôme Geulfucci
c9550d36e3
Adjust the Mouse Gestures coding style
2009-05-19 19:13:03 +02:00
Enrico Tröger
e1268d3dea
Split the CookieManager extension into separate files
2009-05-19 19:04:25 +02:00
Enrico Tröger
e211c6884a
Remove possibly remaining timers when closing browser windows
2009-05-18 02:47:56 +02:00
Dale Whittaker
20d03e43aa
Improve handling of feeds with missing data
...
Previously the description was used in the treeview if the title
was not present, however this is not possible in some cases, as
it may contain markup.
The the RSS code is changed so now if there is no title, the
description is used as the title, but with the html stripped from
it. We also have to consider that some description elements may
simply contain an html tag (and therefore no text). In that
case the URI is used as the title.
2009-05-12 01:52:30 +02:00
Dale Whittaker
ec44108653
Improve title and URI display in the feed panel
...
We strip HTML from "title" elements when required now. And we
always try to show at least the URI for feeds in the WebKit view.
And we fallback to using the URI in the treeview if the title/
description is empty.
2009-05-09 14:08:06 +02:00
Enrico Tröger
dfef979499
Automatically reset the filter after deleting all matching cookies
...
Also fix wording in the confirmation dialog.
2009-05-03 10:14:55 +02:00
Dale Whittaker
c0df53a169
Fix item movement callback in feed panel
2009-04-30 19:00:27 +02:00
Christian Dywan
b7e852fe09
Localize 'Last updated' display of feeds and quote URIs
2009-04-29 23:46:41 +02:00
Christian Dywan
9e5477815a
Wrap XML element names in error messages in quotes
2009-04-29 17:42:36 +02:00
Christian Dywan
be803ad765
Add a description to Statusbar Features and localize it
2009-04-28 23:57:56 +02:00
Dale Whittaker
3150e4e9db
Allow horizontal scrollbars in the feed panel
2009-04-28 23:44:04 +02:00
Dale Whittaker
522b3ac678
Prevent attempts to add duplicate feeds
2009-04-28 23:31:37 +02:00
Dale Whittaker
129f7d8f77
Display feed URLs and show an icon instead of error dialogues
2009-04-27 20:58:30 +02:00
Enrico Tröger
c4037afadc
Fix the Delete All dialog icon when the Cooke Manager is detached
2009-04-25 18:32:28 +02:00
Dale Whittaker
7419d17fb6
Initial version of the Feed Panel extension
2009-04-25 18:15:08 +02:00
Christian Dywan
e58550f0c0
Make pageholder properly detachable
2009-04-25 16:29:46 +02:00
Christian Dywan
90d9e85167
Refer to 'Netscape plugins' instead of 'plugins'
...
A remarkable amount of people have problems telling 'plugins'
and 'extensions' apart, due to their different meaning in
different applications. So make it clearer.
2009-04-25 16:13:23 +02:00
Christian Dywan
023abc9c72
Fix toggling of Colourful Tabs
2009-04-22 23:54:55 +02:00
Christian Dywan
dd4818bf3e
Fix a crasher when re-enabling the Mouse Gestures extension
2009-04-22 23:54:07 +02:00
Enrico Tröger
8aaa4d7c19
Properly handle closed browsers and correctly disconnect signals
2009-04-17 03:45:30 +02:00
Christian Dywan
f50239676c
Don't built the Tab Panel, it is not currently useful
2009-04-17 03:36:43 +02:00
Christian Dywan
ad82a73ab8
Show only image buttons in Statusbar Features in statusbar
2009-04-17 03:16:37 +02:00
Christian Dywan
592e55c59b
Use progress and icon GtkEntry features with GTK+ 2.16
2009-04-11 07:05:28 +02:00
Enrico Tröger
7f85c28b92
Make it clear that Delete All only deletes visible cookies
...
Delete All deletes either all cookies or only the visible cookies
included in the filter if a filter is set.
2009-04-07 22:16:15 +02:00
Enrico Tröger
e993486594
Make the cookie filter less restricitve
...
Search case-insensitively and include domain names in the search
2009-04-07 22:07:17 +02:00
Enrico Tröger
e90f5a16c8
Apply a previously set filter when refreshing cookie list
2009-04-07 22:04:54 +02:00
Enrico Tröger
3be7113946
Increase padding in the cookie manager and adjust the markup
2009-04-07 22:02:19 +02:00
Enrico Tröger
bff4f9ddfe
Fix a leaked reference in the page holder
2009-04-07 21:59:04 +02:00
Christian Dywan
eed273b35e
Fix memory leaks in a number of places
2009-04-05 23:46:15 +02:00
Enrico Tröger
ad8558ab4c
Implement stock items for Tab Panel and plugin panel
2009-04-05 00:13:09 +02:00
Enrico Tröger
42a59b4eee
Implement filter entry in the Cookie Manager
2009-03-31 23:41:23 +02:00
Enrico Tröger
fe53c0b703
Print the cookie expiration date in the user's locale.
2009-03-30 23:14:09 +02:00
Christian Dywan
ed2a35d70b
Don't expressly use libkatze in extensions to avoid -fPIC problem
2009-03-30 00:14:43 +02:00
Enrico Tröger
79c683a804
Minor improvements of the Cookie Manager extension.
...
Don't keep the tooltips in the tree store, instead query them on
demand. This should result in less memory usage and a little
better performance.
Add missing "expires" information to the cookie information label.
Enable Menu/ Shift-F10 keys for the treeview.
Minor cleanup.
2009-03-28 23:37:43 +01:00
Enrico Tröger
f7c5ab216b
Add cookie manager to existing browsers and fill the tree at once
2009-03-26 22:27:06 +01:00
Christian Dywan
ff6a4b4197
Check the host as well before computing a tab color
2009-03-26 16:19:52 +01:00
Christian Dywan
8ff4ff5909
Use the new midori_extension_get_app in extensions
2009-03-25 02:12:12 +01:00
Enrico Tröger
3df21e947f
Add pageholder to existing browsers and not only new ones
2009-03-25 00:43:03 +01:00
Enrico Tröger
fa1085246f
Add 'Cookie manager' extension
2009-03-24 23:05:47 +01:00
Christian Dywan
637388a8de
Do not try to compute a tab colour unless it's a proper URI
2009-03-23 19:27:35 +01:00
Christian Dywan
ffccd0c18c
Add 'Colorful tabs' extension
2009-03-20 02:34:27 +01:00
Christian Dywan
823f8dbc3f
Handle activation and deactivation of Statusbar Features properly
2009-02-28 01:43:20 +01:00
Christian Dywan
2be81621d8
Make Mouse Gestures extension translatable
2009-01-31 04:13:25 +01:00
Christian Dywan
1829780e62
Adapt extension and test build scripts, test files are picked up dynamically now
2009-01-23 21:36:04 +01:00
Matthias Kruk
3350872069
Implement Mouse Gestures extension
2009-01-21 00:42:46 +01:00
Christian Dywan
92fd37ad61
Remove panel pages implicitly as viewables are destroyed
...
For this to work smoothly, from now on the browser destroys the
panel eary, as it does with the tabs, and the panel in turn
destroys its pages early.
2009-01-20 22:17:04 +01:00
Christian Dywan
e1701be96d
Implement 'deactivate' in Statusbar Features extension
2009-01-06 02:26:19 +01:00
Christian Dywan
ee9e8d77e5
Update Waf to 1.5.1 and update build scripts accordingly
2009-01-04 21:38:06 +01:00
Christian Dywan
a4e6720fd7
Localization string improvements
2008-11-30 02:08:28 +01:00
Christian Dywan
11d67dc326
Reimplement the page holder as an extension
2008-11-25 23:53:54 +01:00
Christian Dywan
d00ff95058
Provide MidoriPane interface for use with MidoriPanel
2008-11-24 01:41:45 +01:00
Christian Dywan
f2e6e3579a
Pack items in a normal box and not homogeneous
2008-11-23 01:51:30 +01:00
Christian Dywan
02b2d027c9
Localize Statusbar Features
2008-11-23 01:45:53 +01:00
Christian Dywan
72f39b0f82
Change extension API to split initialization and activation
...
We want to be able to keep extensions in a state where
they don't actually do anything but merely provide
context information. Therefore don't pass the MidoriApp.
As soon as we want to use extensions, we activate them.
Extensions are now saved in an array in MidoriApp.
2008-11-20 01:22:25 +01:00
Christian Dywan
9158e33567
Add two example extensions
2008-11-18 02:08:50 +01:00
Christian Dywan
3cd50f419b
Introduce a C extension interface
2008-11-18 02:07:53 +01:00