summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--surf.c39
1 files changed, 37 insertions, 2 deletions
diff --git a/surf.c b/surf.c
index bc73c73..b3b4f91 100644
--- a/surf.c
+++ b/surf.c
@@ -80,7 +80,9 @@ static void drawindicator(Client *c);
static gboolean exposeindicator(GtkWidget *w, GdkEventExpose *e, Client *c);
static void find(Client *c, const Arg *arg);
static const char *getatom(Client *c, Atom a);
+static const char *getcookies(SoupURI *uri);
static char *geturi(Client *c);
+void gotheaders(SoupMessage *msg, gpointer user_data);
static gboolean initdownload(WebKitWebView *v, WebKitDownload *o, Client *c);
static void itemclick(GtkMenuItem *mi, Client *c);
static gboolean keypress(GtkWidget *w, GdkEventKey *ev, Client *c);
@@ -99,6 +101,7 @@ static void reload(Client *c, const Arg *arg);
static void resize(GtkWidget *w, GtkAllocation *a, Client *c);
static void scroll(Client *c, const Arg *arg);
static void setatom(Client *c, Atom a, const char *v);
+static void setcookie(SoupCookie *c);
static void setup(void);
static void sigchld(int unused);
static void source(Client *c, const Arg *arg);
@@ -301,6 +304,11 @@ find(Client *c, const Arg *arg) {
}
const char *
+getcookies(SoupURI *uri) {
+ return NULL;
+}
+
+const char *
getatom(Client *c, Atom a) {
static char buf[BUFSIZ];
Atom adummy;
@@ -328,6 +336,19 @@ geturi(Client *c) {
return uri;
}
+void
+gotheaders(SoupMessage *msg, gpointer v) {
+ SoupURI *uri;
+ GSList *l, *p;
+
+ uri = soup_message_get_uri(msg);
+ for(p = l = soup_cookies_from_response(msg); p;
+ p = g_slist_next(p)) {
+ setcookie((SoupCookie *)p->data);
+ }
+ soup_cookies_free(l);
+}
+
gboolean
initdownload(WebKitWebView *view, WebKitDownload *o, Client *c) {
const char *filename;
@@ -555,10 +576,17 @@ newclient(void) {
return c;
}
-static void newrequest(SoupSession *s, SoupMessage *msg, gpointer v) {
+void
+newrequest(SoupSession *s, SoupMessage *msg, gpointer v) {
SoupMessageHeaders *h = msg->request_headers;
+ SoupURI *uri;
+ const char *c;
soup_message_headers_remove(h, "Cookie");
+ uri = soup_message_get_uri(msg);
+ if((c = getcookies(uri))) {
+ soup_message_headers_append(h, "Cookie", c);
+ }
}
void
@@ -669,6 +697,11 @@ scroll(Client *c, const Arg *arg) {
}
void
+setcookie(SoupCookie *c) {
+
+}
+
+void
setatom(Client *c, Atom a, const char *v) {
XSync(dpy, False);
ignorexprop++;
@@ -706,6 +739,7 @@ setup(void) {
soup_session_remove_feature_by_type(s, soup_cookie_get_type());
soup_session_remove_feature_by_type(s, soup_cookie_jar_get_type());
g_signal_connect_after(G_OBJECT(s), "request-started", G_CALLBACK(newrequest), NULL);
+ g_signal_connect_after(G_OBJECT(s), "got-headers", G_CALLBACK(gotheaders), NULL);
/* proxy */
@@ -829,7 +863,8 @@ zoom(Client *c, const Arg *arg) {
}
}
-int main(int argc, char *argv[]) {
+int
+main(int argc, char *argv[]) {
int i;
Arg arg;
015-02-03surf: see hover URL without changing titleGravatar Greg Reagle 1-0/+10 2015-02-03Some cleanup in style.Gravatar Christoph Lohmann 1-2/+2 2015-01-26Describe the web page indicators too.Gravatar Christoph Lohmann 1-0/+1 2015-01-26It wasn't really clear what was meant with site indicators in the manpage.Gravatar Christoph Lohmann 1-0/+1 2015-01-26surf: documented indicators in man pageGravatar Greg Reagle 1-0/+50 2015-01-20fix stylesheet interna.Gravatar Markus Teich 1-19/+12 2015-01-20Only plumb some URI, when it's ASCII.Gravatar Christoph Lohmann 1-1/+10 2015-01-20Oh my blob!Gravatar Christoph Lohmann 1-0/+1 2015-01-19Data: is part of the browser too.Gravatar Christoph Lohmann 1-0/+1 2015-01-19file:// should be handled in surf too.Gravatar Christoph Lohmann 1-0/+1 2015-01-19Remove the debugging from the testing.Gravatar Christoph Lohmann 1-1/+0 2015-01-19Add some description for the plumb feature.Gravatar Christoph Lohmann 1-0/+3 2015-01-19Add plumbing functionality.Gravatar Christoph Lohmann 2-2/+28 2015-01-18Add a comment about how the styles are iterated.Gravatar Christoph Lohmann 1-0/+4 2015-01-18My CMD was too short. :OGravatar Christoph Lohmann 1-1/+1 2015-01-17Add the manpage changes for the disk cache support.Gravatar Christoph Lohmann 1-1/+7 2015-01-17Adding disk cache support for soup.Gravatar Christoph Lohmann 2-9/+40 2015-01-17Fix extra newline, and add -g where other switches are forwarded.Gravatar Ben Woolley 1-1/+3 2015-01-17Newer libc want _DEFAULT_SOURCE.Gravatar Christoph Lohmann 1-1/+1 2015-01-17Major styles update.Gravatar Christoph Lohmann 3-11/+84 2015-01-02Fix a typo in surf manual.Gravatar Jakukyo Friel 1-1/+1 2014-09-28Minor style change.Gravatar Christoph Lohmann 1-1/+1 2014-09-28Make »Copy image address« work.Gravatar Christoph Lohmann 1-3/+10 2014-08-07Mention xdotool in SEE ALSO too.Gravatar Christoph Lohmann 1-1/+2 2014-08-07Fix the manpage about xid.Gravatar Christoph Lohmann 1-1/+3 f1ecc4711d8fe447f5c0f2c1bd0feb8568&follow=1'>simpler lsxGravatar Connor Lane Smith 3-11/+6 2011-06-13new dmenu_runGravatar Connor Lane Smith 5-26/+15