surf

surf browser, a WebKit2GTK based browser
Log | Files | Refs | README | LICENSE

commit 92d7ba7ed8cf4cb7ffa839596fca58032e2c4dd3
parent 42c6c90366b7ce7708b13037a6ba819b08fbb20e
Author: Quentin Rameau <quinq@fifth.space>
Date:   Wed, 18 Nov 2015 18:09:55 +0100

Replace geopolicyrequested() with permissionrequested()

The permission-request signal can now ask for than a geolocation
authorisation (though we only handle that for now).

Diffstat:
surf.c | 26+++++++++++++++-----------
1 file changed, 15 insertions(+), 11 deletions(-)

diff --git a/surf.c b/surf.c @@ -130,8 +130,8 @@ static void die(const char *errstr, ...); static void eval(Client *c, const Arg *arg); static void find(Client *c, const Arg *arg); static void fullscreen(Client *c, const Arg *arg); -static void geopolicyrequested(WebKitWebView *v, WebKitWebFrame *f, - WebKitGeolocationPolicyDecision *d, Client *c); +static gboolean permissionrequested(WebKitWebView *v, + WebKitPermissionRequest *r, Client *c); static const char *getatom(Client *c, int a); static void gettogglestat(Client *c); static void getpagestat(Client *c); @@ -527,14 +527,18 @@ fullscreen(Client *c, const Arg *arg) c->fullscreen = !c->fullscreen; } -void -geopolicyrequested(WebKitWebView *v, WebKitWebFrame *f, - WebKitGeolocationPolicyDecision *d, Client *c) +gboolean +permissionrequested(WebKitWebView *v, WebKitPermissionRequest *r, Client *c) { - if (allowgeolocation) - webkit_geolocation_policy_allow(d); - else - webkit_geolocation_policy_deny(d); + if (WEBKIT_IS_GEOLOCATION_PERMISSION_REQUEST(r)) { + if (allowgeolocation) + webkit_permission_request_allow(r); + else + webkit_permission_request_deny(r); + return TRUE; + } + + return FALSE; } const char * @@ -883,8 +887,8 @@ newview(Client *c, WebKitWebView *rv) "mouse-target-changed", G_CALLBACK(mousetargetchanged), c); g_signal_connect(G_OBJECT(v), - "geolocation-policy-decision-requested", - G_CALLBACK(geopolicyrequested), c); + "permission-request", + G_CALLBACK(permissionrequested), c); g_signal_connect(G_OBJECT(v), "create-web-view", G_CALLBACK(createwindow), c);