From 86dbbc6d258b63fa664d0f539500f68283e1aade Mon Sep 17 00:00:00 2001 From: Ben Woolley Date: Tue, 24 Mar 2015 00:34:00 -0700 Subject: [PATCH 06/13] Hook for controlling navigation policy. --- surf.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/surf.c b/surf.c index 5ac1058..c91ac95 100644 --- a/surf.c +++ b/surf.c @@ -135,6 +135,9 @@ static WebKitWebView *createwindow(WebKitWebView *v, WebKitWebFrame *f, static gboolean decidedownload(WebKitWebView *v, WebKitWebFrame *f, WebKitNetworkRequest *r, gchar *m, WebKitWebPolicyDecision *p, Client *c); +static gboolean decidenavigation(WebKitWebView *v, WebKitWebFrame *f, + WebKitNetworkRequest *r, WebKitWebNavigationAction *n, + WebKitWebPolicyDecision *p, Client *c); static gboolean decidewindow(WebKitWebView *v, WebKitWebFrame *f, WebKitNetworkRequest *r, WebKitWebNavigationAction *n, WebKitWebPolicyDecision *p, Client *c); @@ -473,6 +476,13 @@ decidedownload(WebKitWebView *v, WebKitWebFrame *f, WebKitNetworkRequest *r, } static gboolean +decidenavigation(WebKitWebView *view, WebKitWebFrame *f, WebKitNetworkRequest *r, + WebKitWebNavigationAction *n, WebKitWebPolicyDecision *p, + Client *c) { + return FALSE; +} + +static gboolean decidewindow(WebKitWebView *view, WebKitWebFrame *f, WebKitNetworkRequest *r, WebKitWebNavigationAction *n, WebKitWebPolicyDecision *p, Client *c) { @@ -858,6 +868,9 @@ newclient(void) { "new-window-policy-decision-requested", G_CALLBACK(decidewindow), c); g_signal_connect(G_OBJECT(c->view), + "navigation-policy-decision-requested", + G_CALLBACK(decidenavigation), c); + g_signal_connect(G_OBJECT(c->view), "mime-type-policy-decision-requested", G_CALLBACK(decidedownload), c); g_signal_connect(G_OBJECT(c->view), -- 2.2.2