commit 6850365d7c91e6cf873ac722c705c55905de143a
parent 8d5e2b3a40a86d463d666cbf61906cf22febde34
Author: Quentin Rameau <quinq@fifth.space>
Date:   Mon,  4 Mar 2019 11:43:25 +0100
Add support for configuring plugins directories
Diffstat:
3 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/config.def.h b/config.def.h
@@ -6,6 +6,11 @@ static char *styledir       = "~/.surf/styles/";
 static char *certdir        = "~/.surf/certificates/";
 static char *cachedir       = "~/.surf/cache/";
 static char *cookiefile     = "~/.surf/cookies.txt";
+static char **plugindirs    = (char*[]){
+	"~/.surf/plugins/",
+	LIBPREFIX "/mozilla/plugins/",
+	NULL
+};
 
 /* Webkit default features */
 /* Highest priority value will be used.
diff --git a/config.mk b/config.mk
@@ -22,8 +22,9 @@ INCS = $(X11INC) $(GTKINC)
 LIBS = $(X11LIB) $(GTKLIB) -lgthread-2.0
 
 # flags
-CPPFLAGS = -DVERSION=\"$(VERSION)\" -DWEBEXTDIR=\"$(LIBDIR)\" \
-           -D_DEFAULT_SOURCE -DGCR_API_SUBJECT_TO_CHANGE
+CPPFLAGS = -DVERSION=\"$(VERSION)\" -DGCR_API_SUBJECT_TO_CHANGE \
+           -DLIBPREFIX=\"$(LIBPREFIX)\" -DWEBEXTDIR=\"$(LIBDIR)\" \
+           -D_DEFAULT_SOURCE
 SURFCFLAGS = -fPIC $(INCS) $(CPPFLAGS)
 WEBEXTCFLAGS = -fPIC $(WEBEXTINC)
 
diff --git a/surf.c b/surf.c
@@ -1161,6 +1161,10 @@ newview(Client *c, WebKitWebView *rv)
 		webkit_web_context_set_cache_model(context,
 		    curconfig[DiskCache].val.i ? WEBKIT_CACHE_MODEL_WEB_BROWSER :
 		    WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER);
+		/* plugins directories */
+		for (; *plugindirs; ++plugindirs)
+			webkit_web_context_set_additional_plugins_directory(
+			    context, *plugindirs);
 
 		/* Currently only works with text file to be compatible with curl */
 		webkit_cookie_manager_set_persistent_storage(cookiemanager,