diff options
author | Cedric Staub <cs.staub@cssx.ch> | 2010-02-17 12:20:03 +0100 |
---|---|---|
committer | Cedric Staub <cs.staub@cssx.ch> | 2010-02-17 12:20:03 +0100 |
commit | ecda3bd031607a9dc11819c7c3f8e41419618c37 (patch) | |
tree | ceb61f350f3a18fab4c00aee35ccb1c5c905e4db /src/callbacks.c | |
parent | 7bfb3b5b56e30b157cfb750657de104055fe6da3 (diff) |
Use SoupCookieJar to handle JavaScript cookies
Diffstat (limited to 'src/callbacks.c')
-rw-r--r-- | src/callbacks.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/callbacks.c b/src/callbacks.c index 9b90d3c..97ee52a 100644 --- a/src/callbacks.c +++ b/src/callbacks.c @@ -779,3 +779,20 @@ populate_popup_cb(WebKitWebView *v, GtkMenu *m, void *c) { } } +void +cookie_handler_cb(SoupCookieJar *jar, SoupCookie *old_cookie, SoupCookie *new_cookie, gpointer user_data) { + (void) jar; + (void) user_data; + (void) old_cookie; + char *scheme; + GString *s; + + if(new_cookie != NULL) { + scheme = (new_cookie->secure == TRUE) ? "https" : "http"; + + s = g_string_new(""); + g_string_printf(s, "PUT '%s' '%s' '%s' '%s=%s'", scheme, new_cookie->domain, new_cookie->path, new_cookie->name, new_cookie->value); + run_handler(uzbl.behave.cookie_handler, s->str); + g_string_free(s, TRUE); + } +} |