tReplace geopolicyrequested() with permissionrequested() - surf - customized build of surf, the suckless webkit browser
 (HTM) git clone git://src.adamsgaard.dk/surf
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 92d7ba7ed8cf4cb7ffa839596fca58032e2c4dd3
 (DIR) parent 42c6c90366b7ce7708b13037a6ba819b08fbb20e
 (HTM) 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:
         M surf.c                              |      26 +++++++++++++++-----------
       
       1 file changed, 15 insertions(+), 11 deletions(-)
       ---
 (DIR) diff --git a/surf.c b/surf.c
       t@@ -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);
       t@@ -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 *
       t@@ -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);