about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEon S. Jeon <esjeon@hyunmu.am>2017-09-30 00:34:35 +0900
committerQuentin Rameau <quinq@fifth.space>2018-02-23 13:39:35 +0100
commit7817d0ec83b16dad6ad4f68039a58c371dbca38e (patch)
tree3eb7738977db5ed216f9aa8e70c992ac6588ca2c
parentDisable media autoplay by default (diff)
downloadsurf-7817d0ec83b16dad6ad4f68039a58c371dbca38e.tar.gz
surf-7817d0ec83b16dad6ad4f68039a58c371dbca38e.tar.bz2
surf-7817d0ec83b16dad6ad4f68039a58c371dbca38e.zip
Add support for WebGL
Allows enabling and disabling WebGL support built into WebKit.
The feature is turned off by default.
-rw-r--r--config.def.h1
-rw-r--r--surf.c5
2 files changed, 6 insertions, 0 deletions
diff --git a/config.def.h b/config.def.h
index 2e735bf..6748f8a 100644
--- a/config.def.h
+++ b/config.def.h
@@ -46,6 +46,7 @@ static Parameter defconfig[ParameterLast] = {
 	[SpellLanguages]      =       { { .v = ((char *[]){ "en_US", NULL }) }, },
 	[StrictTLS]           =       { { .i = 1 },     },
 	[Style]               =       { { .i = 1 },     },
+	[WebGL]               =       { { .i = 0 },     },
 	[ZoomLevel]           =       { { .f = 1.0 },   },
 };
 
diff --git a/surf.c b/surf.c
index 0f8b9c9..95b09be 100644
--- a/surf.c
+++ b/surf.c
@@ -79,6 +79,7 @@ typedef enum {
 	SpellLanguages,
 	StrictTLS,
 	Style,
+	WebGL,
 	ZoomLevel,
 	ParameterLast
 } ParamName;
@@ -820,6 +821,9 @@ setparameter(Client *c, int refresh, ParamName p, const Arg *a)
 			setstyle(c, getstyle(geturi(c)));
 		refresh = 0;
 		break;
+	case WebGL:
+		webkit_settings_set_enable_webgl(s, a->i);
+		break;
 	case ZoomLevel:
 		webkit_web_view_set_zoom_level(c->view, a->f);
 		return; /* do not update */
@@ -1079,6 +1083,7 @@ newview(Client *c, WebKitWebView *rv)
 		   "enable-accelerated-2d-canvas", curconfig[AcceleratedCanvas].val.i,
 		   "enable-site-specific-quirks", curconfig[SiteQuirks].val.i,
 		   "enable-smooth-scrolling", curconfig[SmoothScrolling].val.i,
+		   "enable-webgl", curconfig[WebGL].val.i,
 		   "media-playback-requires-user-gesture", curconfig[MediaManualPlay].val.i,
 		   NULL);
 /* For more interesting settings, have a look at