Introduction
Introduction Statistics Contact Development Disclaimer Help
Exit more gracefully on web process crash. - surf - surf browser, a WebKit base…
git clone git://git.suckless.org/surf
Log
Files
Refs
README
LICENSE
---
commit c60523a702fbc77899457243f1a85e4990adfb97
parent befe481a9b970cf2bc90ca671e1df1d1082ac41e
Author: Quentin Rameau <[email protected]>
Date: Fri, 16 Mar 2018 12:44:04 +0100
Exit more gracefully on web process crash.
Diffstat:
M surf.c | 14 ++++++++++++++
1 file changed, 14 insertions(+), 0 deletions(-)
---
diff --git a/surf.c b/surf.c
@@ -206,6 +206,9 @@ static void downloadstarted(WebKitWebContext *wc, WebKitDow…
Client *c);
static void responsereceived(WebKitDownload *d, GParamSpec *ps, Client *c);
static void download(Client *c, WebKitURIResponse *r);
+static void webprocessterminated(WebKitWebView *v,
+ WebKitWebProcessTerminationReason r,
+ Client *c);
static void closeview(WebKitWebView *v, Client *c);
static void destroywin(GtkWidget* w, Client *c);
@@ -1187,6 +1190,8 @@ newview(Client *c, WebKitWebView *rv)
G_CALLBACK(permissionrequested), c);
g_signal_connect(G_OBJECT(v), "ready-to-show",
G_CALLBACK(showview), c);
+ g_signal_connect(G_OBJECT(v), "web-process-terminated",
+ G_CALLBACK(webprocessterminated), c);
return v;
}
@@ -1692,6 +1697,15 @@ download(Client *c, WebKitURIResponse *r)
}
void
+webprocessterminated(WebKitWebView *v, WebKitWebProcessTerminationReason r,
+ Client *c)
+{
+ fprintf(stderr, "web process terminated: %s\n",
+ r == WEBKIT_WEB_PROCESS_CRASHED ? "crashed" : "no memory");
+ closeview(v, c);
+}
+
+void
closeview(WebKitWebView *v, Client *c)
{
gtk_widget_destroy(c->win);
You are viewing proxied material from suckless.org. 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.