Add support for WebGL
authorEon S. Jeon <esjeon@hyunmu.am>
Fri, 29 Sep 2017 15:34:35 +0000 (00:34 +0900)
committerQuentin Rameau <quinq@fifth.space>
Fri, 23 Feb 2018 12:39:35 +0000 (13:39 +0100)
Allows enabling and disabling WebGL support built into WebKit.
The feature is turned off by default.

config.def.h
surf.c

index 2e735bf..6748f8a 100644 (file)
@@ -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 (file)
--- 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