cookie persistance
authorThomas Menari <spaceinvader@chaotika.org>
Sun, 7 Jun 2009 19:25:22 +0000 (21:25 +0200)
committerSimon Rozet <simon@rozet.name>
Sun, 7 Jun 2009 19:27:09 +0000 (21:27 +0200)
* stored in ~/.surf-cookies
* $EDITOR editable

surf.c

diff --git a/surf.c b/surf.c
index 989cc51..74a2d55 100644 (file)
--- a/surf.c
+++ b/surf.c
@@ -26,6 +26,7 @@ typedef struct Client {
        gint progress;
        struct Client *next;
 } Client;
+SoupCookieJar *cookiejar;
 Client *clients = NULL;
 gboolean embed = FALSE;
 gboolean showxid = FALSE;
@@ -429,8 +430,10 @@ updatetitle(Client *c) {
 
 int main(int argc, char *argv[]) {
        gchar *uri = NULL, *file = NULL;
+        SoupSession *s;
        Client *c;
        int o;
+        const gchar *home, *filename;
 
        gtk_init(NULL, NULL);
        if (!g_thread_supported())
@@ -472,6 +475,14 @@ int main(int argc, char *argv[]) {
                goto argerr;
        if(!clients)
                newclient();
+
+        /* cookie persistance */
+        s = webkit_get_default_session();
+        home = g_get_home_dir();
+        filename = g_build_filename(home, ".surf-cookies", NULL);
+        cookiejar = soup_cookie_jar_text_new(filename, FALSE);
+        soup_session_add_feature(s, SOUP_SESSION_FEATURE(cookiejar));
+
        gtk_main();
        cleanup();
        return EXIT_SUCCESS;