surf

surf browser, a WebKit based browser
git clone git://git.suckless.org/surf
Log | Files | Refs | README | LICENSE

commit da5290a41aac4eabef83f6b88039f44d28b0ea00
parent c64c368d86a4319e43b7ff3d73a4afe0f4e8adf0
Author: Quentin Rameau <quinq@fifth.space>
Date:   Mon, 23 Nov 2015 22:12:00 +0100

Add support for loading Webkit extensions

Diffstat:
config.mk | 3++-
surf.c | 9+++++++++
2 files changed, 11 insertions(+), 1 deletion(-)

diff --git 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 @@ -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) {