commit da5290a41aac4eabef83f6b88039f44d28b0ea00
Author:     Quentin Rameau <quinq@fifth.space>
AuthorDate: Mon Nov 23 22:12:00 2015 +0100
Commit:     Quentin Rameau <quinq@fifth.space>
CommitDate: Thu Sep 22 10:21:31 2016 +0200

    Add support for loading Webkit extensions

diff --git a/config.mk b/config.mk
index e71316c..c0a9959 100644
--- a/config.mk
+++ b/config.mk
@@ -6,6 +6,7 @@ VERSION = 0.6
 # paths
 PREFIX = /usr/local
 MANPREFIX = ${PREFIX}/share/man
+LIBPREFIX = ${PREFIX}/lib/surf
 
 X11INC = /usr/X11R6/include
 X11LIB = /usr/X11R6/lib
@@ -18,7 +19,7 @@ INCS = -I. -I/usr/include -I${X11INC} ${GTKINC}
 LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 ${GTKLIB} -lgthread-2.0
 
 # flags
-CPPFLAGS = -DVERSION=\"${VERSION}\" -D_DEFAULT_SOURCE
+CPPFLAGS = -DVERSION=\"${VERSION}\" -DWEBEXTDIR=\"${LIBPREFIX}\" 
-D_DEFAULT_SOURCE
 CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS}
 LDFLAGS = -s ${LIBS}
 
diff --git a/surf.c b/surf.c
index 29b9ede..fb3ef81 100644
--- a/surf.c
+++ b/surf.c
@@ -175,6 +175,7 @@ static void cleanup(void);
 
 /* GTK/WebKit */
 static WebKitWebView *newview(Client *c, WebKitWebView *rv);
+static void initwebextensions(WebKitWebContext *wc, Client *c);
 static GtkWidget *createview(WebKitWebView *v, WebKitNavigationAction *a,
                              Client *c);
 static gboolean buttonreleased(GtkWidget *w, GdkEvent *e, Client *c);
@@ -980,6 +981,8 @@ newview(Client *c, WebKitWebView *rv)
 
                g_signal_connect(G_OBJECT(context), "download-started",
                                 G_CALLBACK(downloadstarted), c);
+               g_signal_connect(G_OBJECT(context), "initialize-web-extensions",
+                                G_CALLBACK(initwebextensions), c);
 
                v = g_object_new(WEBKIT_TYPE_WEB_VIEW,
                    "settings", settings,
@@ -1012,6 +1015,12 @@ newview(Client *c, WebKitWebView *rv)
        return v;
 }
 
+void
+initwebextensions(WebKitWebContext *wc, Client *c)
+{
+       webkit_web_context_set_web_extensions_directory(wc, WEBEXTDIR);
+}
+
 GtkWidget *
 createview(WebKitWebView *v, WebKitNavigationAction *a, Client *c)
 {

Reply via email to