Commit graph

177 commits

Author SHA1 Message Date
Christian Dywan
9eefb25bb6 Refactor loading cached page icon into katze_load_cached_icon
The function is optimized for loading icons and independant from
a KatzeNet instance.
2009-11-17 23:22:08 +01:00
Christian Dywan
26b4aad139 Fix signature of signal disconnection in Mouse Gestures 2009-11-17 19:18:14 +01:00
Christian Dywan
fd7d778e0c Remove sokoke_widget_popup and replace all call sites 2009-11-15 18:21:59 +01:00
Christian Dywan
9bcfba8ddc Refactor Mouse Gestures into one file, similar to other extensions 2009-11-14 22:50:20 +01:00
Christian Dywan
ae3e7a804b Setup all existing tabs initially when activating Mouse Gestures 2009-11-13 22:42:58 +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
Christian Dywan
2fc6a2be89 NULL-check exception in sokoke_js_script_eval 2009-11-12 23:55:36 +01:00
Alexander Butenko
55e50e20b1 Check for duplicates before storing form fields 2009-11-12 23:10:37 +01:00
Alexander Butenko
1a52db823f Share the code updating the form history hashtable 2009-11-12 22:52:48 +01:00
Christian Dywan
339058f304 Re-implement support for post forms for WebKitGTK+ < 1.1.4 2009-11-12 22:15:46 +01:00
Alexander Butenko
57a58f39a4 Rework form history with policy decision and better error handling 2009-11-12 21:54:25 +01:00
Christian Dywan
cc810f374d Actually load from and store form history in the database 2009-11-08 14:39:46 +01:00
Christian Dywan
d41525b7fe Adjust an #ifdef in web cache possibly leading to compile warnings 2009-11-08 14:39:46 +01:00
Christian Dywan
24d0e4d999 Do not free form history key hashtable to avoid a crash for now 2009-11-08 14:39:45 +01:00
Christian Dywan
d0215c4032 Support keyboard hotkeys that GTK+ considers invalid
We re-implement the usual key handling by overriding the key press
handler, emulating the according steps but leaving out the
validation that normally rejects certain combinations.

Single key hotkeys work unless an entry is focussed, in which case
the entry receives the input, and Control+Tab works as well.

The shortcuts extension is adjusted to accept any hotkeys.
2009-11-04 14:31:16 +01:00
Christian Dywan
e982985976 Create a database to save to and load form history from 2009-11-02 21:03:20 +01:00
Christian Dywan
3efbc1b462 Leave setting up windows to the app, which is a lot faster
With a mature history setting up a browser window can be slow, but
if it's setup at creation time it is extremely fast.

The signal prototype of MidoriBrowser::new-window had to change,
all call sites were adjusted.
2009-10-31 04:29:15 +01:00
André Stösel
ee87663b35 Make the History List recognize tabs open before its activation 2009-10-28 20:36:34 +01:00
Alexander Butenko
b53bd5c2f4 Bail out of storing when processing multiple files to cache 2009-10-27 23:41:22 +01:00
André Stösel
e538a04666 Show icons and a snapshot of the active tab in the History List 2009-10-27 23:03:51 +01:00
Alexander Butenko
8ef3eeaa89 Set proper content types and work with temporary cache file fragments
With WebKit 1.1.11 and newer, we can sniff the content type which
is needed in some cases to load for instance Flash videos.

We are writing chunks into temporary files and commit completed
files to the cache, so that we don't end up serving partial files.

Old cache entries are removed before updating.

Length detection is improved.

File creation moved from got-chunk to got-headers.
2009-10-27 20:03:22 +01:00
Christian Dywan
f0e7b93964 Do not try to cache downloaded files 2009-10-27 02:04:38 +01:00
Christian Dywan
0eec63762f Plug two filename leaks in the web cache 2009-10-26 23:46:21 +01:00
Alexander Butenko
9c2c62d37c Implement Pragma, Cache-Control, ETag and Last-Modified in web cache
Offline mode is going to be handled separately and is not supported
right now.
2009-10-26 18:39:32 +01:00
André Stösel
3257002de3 Improve the description of the tab switcher/ history list 2009-10-26 00:18:08 +01:00
André Stösel
996a07da52 Add the Tab Switcher extension, showing a list of tabs while switching 2009-10-25 00:45:35 +02:00
Christian Dywan
e600574b5a Add a description to the page holder extension 2009-10-23 18:29:18 +02:00
Alexander Butenko
9deda8296b Disconnect signal handlers when disabling web cache 2009-10-23 18:15:28 +02:00
Christian Dywan
86685cc0c9 Check method before caching and limit extension length 2009-10-23 00:58:25 +02:00
Christian Dywan
6ff3e3a17d Make sure the cache folder is there initially 2009-10-22 02:52:40 +02:00
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