Introduction
Introduction Statistics Contact Development Disclaimer Help
tremoved persistent cookies, replaced deprecated eventlisteners - surf - custom…
git clone git://src.adamsgaard.dk/surf
Log
Files
Refs
README
LICENSE
---
commit 4f7fdd1dfa6ed0c76a6858421aa1f5c56957a27a
parent 94601622a1494f9f7ffb514f662cd118c5c86dc1
Author: Enno Boland (tox) <[email protected]>
Date: Mon, 8 Mar 2010 09:24:55 +0100
removed persistent cookies, replaced deprecated eventlisteners
Diffstat:
M surf.c | 87 ++++++++---------------------…
1 file changed, 21 insertions(+), 66 deletions(-)
---
diff --git a/surf.c b/surf.c
t@@ -56,7 +56,6 @@ typedef struct {
static Display *dpy;
static Atom uriprop, findprop;
-static SoupCookieJar *cookies;
static SoupSession *session;
static Client *clients = NULL;
static GdkNativeWindow embed = 0;
t@@ -64,10 +63,8 @@ static gboolean showxid = FALSE;
static int ignorexprop = 0;
static char winid[64];
static char *progname;
-static gboolean lockcookie = FALSE;
static char *buildpath(const char *path);
-static void changecookie(SoupCookieJar *jar, SoupCookie *o, SoupCookie *n, gpo…
static void cleanup(void);
static void clipboard(Client *c, const Arg *arg);
static void context(WebKitWebView *v, GtkMenu *m, Client *c);
t@@ -88,8 +85,7 @@ static gboolean initdownload(WebKitWebView *v, WebKitDownloa…
static void itemclick(GtkMenuItem *mi, Client *c);
static gboolean keypress(GtkWidget *w, GdkEventKey *ev, Client *c);
static void linkhover(WebKitWebView *v, const char* t, const char* l, Client *…
-static void loadcommit(WebKitWebView *v, WebKitWebFrame *f, Client *c);
-static void loadstart(WebKitWebView *v, WebKitWebFrame *f, Client *c);
+static void loadstatuschange(WebKitWebView *view, GParamSpec *pspec, Client *c…
static void loaduri(Client *c, const Arg *arg);
static void navigate(Client *c, const Arg *arg);
static Client *newclient(void);
t@@ -97,9 +93,8 @@ static void newwindow(Client *c, const Arg *arg);
static void pasteuri(GtkClipboard *clipboard, const char *text, gpointer d);
static void print(Client *c, const Arg *arg);
static GdkFilterReturn processx(GdkXEvent *xevent, GdkEvent *event, gpointer d…
-static void progresschange(WebKitWebView *v, gint p, Client *c);
+static void progresschange(WebKitWebView *view, GParamSpec *pspec, Client *c);
static void reload(Client *c, const Arg *arg);
-static void reloadcookies();
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);
t@@ -141,27 +136,6 @@ buildpath(const char *path) {
}
void
-changecookie(SoupCookieJar *j, SoupCookie *oc, SoupCookie *c, gpointer p) {
- SoupDate *e;
- SoupCookieJar *jar;
-
- if(lockcookie)
- return;
- if(c && c->expires == NULL) {
- e = soup_date_new_from_time_t(time(NULL) + sessiontime);
- c = soup_cookie_copy(c);
- soup_cookie_set_expires(c, e);
- }
-
- jar = soup_cookie_jar_text_new(cookiefile, FALSE);
- if(c)
- soup_cookie_jar_add_cookie(jar, soup_cookie_copy(c));
- else
- soup_cookie_jar_delete_cookie(jar, oc);
- g_object_unref(jar);
-}
-
-void
cleanup(void) {
while(clients)
destroyclient(clients);
t@@ -420,15 +394,19 @@ linkhover(WebKitWebView *v, const char* t, const char* l…
}
void
-loadcommit(WebKitWebView *view, WebKitWebFrame *f, Client *c) {
- setatom(c, uriprop, geturi(c));
-}
-
-void
-loadstart(WebKitWebView *view, WebKitWebFrame *f, Client *c) {
- c->progress = 0;
- update(c);
- reloadcookies();
+loadstatuschange(WebKitWebView *view, GParamSpec *pspec, Client *c) {
+ switch(webkit_web_view_get_load_status (c->view)) {
+ case WEBKIT_LOAD_COMMITTED:
+ setatom(c, uriprop, geturi(c));
+ break;
+ case WEBKIT_LOAD_FINISHED:
+ c->progress = 0;
+ update(c);
+ break;
+ case WEBKIT_LOAD_PROVISIONAL:
+ case WEBKIT_LOAD_FIRST_VISUALLY_NON_EMPTY_LAYOUT:
+ break;
+ }
}
void
t@@ -516,9 +494,6 @@ newclient(void) {
/* Webview */
c->view = WEBKIT_WEB_VIEW(webkit_web_view_new());
g_signal_connect(G_OBJECT(c->view), "title-changed", G_CALLBACK(titlec…
- g_signal_connect(G_OBJECT(c->view), "load-progress-changed", G_CALLBAC…
- g_signal_connect(G_OBJECT(c->view), "load-committed", G_CALLBACK(loadc…
- g_signal_connect(G_OBJECT(c->view), "load-started", G_CALLBACK(loadsta…
g_signal_connect(G_OBJECT(c->view), "hovering-over-link", G_CALLBACK(l…
g_signal_connect(G_OBJECT(c->view), "create-web-view", G_CALLBACK(crea…
g_signal_connect(G_OBJECT(c->view), "new-window-policy-decision-reques…
t@@ -526,6 +501,8 @@ newclient(void) {
g_signal_connect(G_OBJECT(c->view), "download-requested", G_CALLBACK(i…
g_signal_connect(G_OBJECT(c->view), "window-object-cleared", G_CALLBAC…
g_signal_connect(G_OBJECT(c->view), "populate-popup", G_CALLBACK(conte…
+ g_signal_connect(G_OBJECT(c->view), "notify::load-status", G_CALLBACK(…
+ g_signal_connect(G_OBJECT(c->view), "notify::progress", G_CALLBACK(pro…
/* Indicator */
c->indicator = gtk_drawing_area_new();
t@@ -636,8 +613,8 @@ processx(GdkXEvent *e, GdkEvent *event, gpointer d) {
}
void
-progresschange(WebKitWebView *v, gint p, Client *c) {
- c->progress = p;
+progresschange(WebKitWebView *view, GParamSpec *pspec, Client *c) {
+ c->progress = webkit_web_view_get_progress(c->view);;
update(c);
}
t@@ -651,23 +628,6 @@ reload(Client *c, const Arg *arg) {
}
void
-reloadcookies() {
- SoupCookieJar *jar;
- GSList *l, *e;
-
- lockcookie = TRUE;
- for(l = e = soup_cookie_jar_all_cookies(cookies); e; e = e->next)
- soup_cookie_jar_delete_cookie(cookies, (SoupCookie *)e->data);
- soup_cookies_free(l);
- jar = soup_cookie_jar_text_new(cookiefile, TRUE);
- for(l = e = soup_cookie_jar_all_cookies(jar); e; e = e->next)
- soup_cookie_jar_add_cookie(cookies, (SoupCookie *)e->data);
- g_slist_free(l);
- lockcookie = FALSE;
- g_object_unref(jar);
-}
-
-void
resize(GtkWidget *w, GtkAllocation *a, Client *c) {
double zoom;
t@@ -726,21 +686,16 @@ setup(void) {
scriptfile = buildpath(scriptfile);
stylefile = buildpath(stylefile);
- /* cookie persistance */
- s = webkit_get_default_session();
- cookies = soup_cookie_jar_new();
- soup_session_add_feature(s, SOUP_SESSION_FEATURE(cookies));
- g_signal_connect(cookies, "changed", G_CALLBACK(changecookie), NULL);
+ /* proxy */
if((proxy = getenv("http_proxy")) && strcmp(proxy, "")) {
new_proxy = g_strrstr(proxy, "http://") ? g_strdup(proxy) :
- g_strdup_printf("http://%s", proxy);
+ g_strdup_printf("http://%s", proxy);
puri = soup_uri_new(new_proxy);
g_object_set(G_OBJECT(s), "proxy-uri", puri, NULL);
soup_uri_free(puri);
g_free(new_proxy);
}
- reloadcookies();
}
void
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.