tMerge remote-tracking branch 'upstream/surf-webkit2' - surf - [fork] customized build of surf, the suckless webkit browser
 (HTM) git clone git://src.adamsgaard.dk/surf
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 49688b2d9602f3fed58116e7250a0fdd4260b422
 (DIR) parent f53bee74a35d34470af0beca8eea432e8c4b192a
 (HTM) Author: Anders Damsgaard <anders@adamsgaard.dk>
       Date:   Mon, 24 May 2021 06:21:07 +0200
       
       Merge remote-tracking branch 'upstream/surf-webkit2'
       
       Diffstat:
         M LICENSE                             |      13 +++++++++++--
         M Makefile                            |       2 +-
         M config.def.h                        |       9 ---------
         M config.mk                           |       2 +-
         M surf.1                              |      25 -------------------------
         M surf.c                              |      37 +++++--------------------------
       
       6 files changed, 18 insertions(+), 70 deletions(-)
       ---
 (DIR) diff --git a/LICENSE b/LICENSE
       t@@ -15,19 +15,28 @@ MIT/X Consortium License
        © 2013 Alexander Sedov <alex0player@gmail.com>
        © 2013 Nick White <git@njw.me.uk>
        © 2013 David Dufberg <david@dufberg.se>
       -© 2014-2017 Quentin Rameau <quinq@fifth.space>
       +© 2014-2021 Quentin Rameau <quinq@fifth.space>
        © 2014-2016 Markus Teich <markus.teich@stusta.mhn.de>
        © 2015 Jakukyo Friel <weakish@gmail.com>
        © 2015 Ben Woolley <tautolog@gmail.com>
        © 2015 Greg Reagle <greg.reagle@umbc.edu>
        © 2015 GhostAV <ghostav@riseup.net>
       -© 2015 Ivan Tham <pickfire@riseup.net>
       +© 2015-2017 Ivan Tham <pickfire@riseup.net>
        © 2015 Alexander Huemer <alexander.huemer@xx.vu>
        © 2015 Michael Stevens <mstevens@etla.org>
        © 2015 Felix Janda <felix.janda@posteo.de>
        © 2016 Charles Lehner <cel@celehner.com>
        © 2016 Dmitry Bogatov <KAction@gnu.org>
        © 2019-2021 Anders Damsgaard <anders@adamsgaard.dk>
       +© 2017 Hiltjo Posthuma <hiltjo@codemadness.org>
       +© 2017 ssd <ssd@mailless.org>
       +© 2017 Constantine Bytensky <kostya3@gmail.com>
       +© 2017 Eon S. Jeon <esjeon@hyunmu.am>
       +© 2017 Jochen Sprickerhof <git@jochen.sprickerhof.de>
       +© 2018 nzl <uruabi@gmail.com>
       +© 2018 Eddie Thieda <eddie.thieda@gmail.com>
       +© 2018 Leonardo Taccari <iamleot@gmail.com>
       +© 2019 efe <efe@efe.kim>
        
        Permission is hereby granted, free of charge, to any person obtaining a
        copy of this software and associated documentation files (the "Software"),
 (DIR) diff --git a/Makefile b/Makefile
       t@@ -47,7 +47,7 @@ dist: distclean
                mkdir -p surf-$(VERSION)
                cp -R LICENSE Makefile config.mk config.def.h README \
                    surf-open.sh arg.h TODO.md surf.png \
       -            surf.1 $(SRC) $(CSRC) $(WSRC) surf-$(VERSION)
       +            surf.1 common.h $(SRC) $(WSRC) surf-$(VERSION)
                tar -cf surf-$(VERSION).tar surf-$(VERSION)
                gzip surf-$(VERSION).tar
                rm -rf surf-$(VERSION)
 (DIR) diff --git a/config.def.h b/config.def.h
       t@@ -6,11 +6,6 @@ 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.
       t@@ -20,7 +15,6 @@ static char **plugindirs    = (char*[]){
         */
        static Parameter defconfig[ParameterLast] = {
                /* parameter                    Arg value       priority */
       -        [AcceleratedCanvas]   =       { { .i = 1 },     },
                [AccessMicrophone]    =       { { .i = 0 },     },
                [AccessWebcam]        =       { { .i = 0 },     },
                [Certificate]         =       { { .i = 0 },     },
       t@@ -41,7 +35,6 @@ static Parameter defconfig[ParameterLast] = {
                [KioskMode]           =       { { .i = 0 },     },
                [LoadImages]          =       { { .i = 1 },     },
                [MediaManualPlay]     =       { { .i = 1 },     },
       -        [Plugins]             =       { { .i = 1 },     },
                [PreferredLanguages]  =       { { .v = (char *[]){ NULL } }, },
                [RunInFullscreen]     =       { { .i = 0 },     },
                [ScrollBars]          =       { { .i = 1 },     },
       t@@ -59,7 +52,6 @@ static Parameter defconfig[ParameterLast] = {
        static UriParameters uriparams[] = {
                { "(://|\\.)suckless\\.org(/|$)", {
                  [JavaScript] = { { .i = 0 }, 1 },
       -          [Plugins]    = { { .i = 0 }, 1 },
                }, },
        };
        
       t@@ -182,7 +174,6 @@ static Key keys[] = {
                { MODKEY|GDK_SHIFT_MASK, GDK_KEY_g,      toggle,     { .i = Geolocation } },
                { MODKEY|GDK_SHIFT_MASK, GDK_KEY_s,      toggle,     { .i = JavaScript } },
                { MODKEY|GDK_SHIFT_MASK, GDK_KEY_i,      toggle,     { .i = LoadImages } },
       -        { MODKEY|GDK_SHIFT_MASK, GDK_KEY_v,      toggle,     { .i = Plugins } },
                { MODKEY|GDK_SHIFT_MASK, GDK_KEY_b,      toggle,     { .i = ScrollBars } },
                { MODKEY|GDK_SHIFT_MASK, GDK_KEY_t,      toggle,     { .i = StrictTLS } },
                { MODKEY|GDK_SHIFT_MASK, GDK_KEY_m,      toggle,     { .i = Style } },
 (DIR) diff --git a/config.mk b/config.mk
       t@@ -1,5 +1,5 @@
        # surf version
       -VERSION = 2.0
       +VERSION = 2.1
        
        # Customize below to fit your system
        
 (DIR) diff --git a/surf.1 b/surf.1
       t@@ -91,12 +91,6 @@ Disable the Web Inspector (Developer Tools).
        .B \-N
        Enable the Web Inspector (Developer Tools).
        .TP
       -.B \-p
       -Disable Plugins.
       -.TP
       -.B \-P
       -Enable Plugins.
       -.TP
        .B \-r scriptfile
        Specify the user
        .IR scriptfile .
       t@@ -243,10 +237,6 @@ Toggle script execution. This will reload the page.
        .B Ctrl\-Shift\-t
        Toggle strict TLS check. This will reload the page.
        .TP
       -.B Ctrl\-Shift\-v
       -Toggle the enabling of plugins on that surf instance. This will reload the
       -page.
       -.TP
        .B F11
        Toggle fullscreen mode.
        .SH INDICATORS OF OPERATION
       t@@ -277,9 +267,6 @@ images
        .B s S
        scripts
        .TP
       -.B v V
       -plugins
       -.TP
        .B m M
        styles
        .TP
       t@@ -321,22 +308,10 @@ If this variable is set and not empty upon startup, surf will use it as the http
        .SH SIGNALS
        Surf will reload the current page on
        .BR SIGHUP .
       -.SH PLUGINS
       -For using plugins in surf, first determine your running architecture. Then get
       -the appropriate plugin for that architecture and copy it to
       -.BR /usr/lib/browser-plugins
       -or
       -.BR /usr/lib64/browser-plugins.
       -Surf should load them automatically.
       -.BR
       -If you want to use a 32bit plugin on a 64bit system,
       -.BR nspluginwrapper(1)
       -will help you.
        .SH SEE ALSO
        .BR dmenu(1),
        .BR xprop(1),
        .BR tabbed(1),
       -.BR nspluginwrapper(1),
        .BR xdotool(1)
        .SH BUGS
        Please report them!
 (DIR) diff --git a/surf.c b/surf.c
       t@@ -55,7 +55,6 @@ enum {
        };
        
        typedef enum {
       -        AcceleratedCanvas,
                AccessMicrophone,
                AccessWebcam,
                CaretBrowsing,
       t@@ -76,7 +75,6 @@ typedef enum {
                KioskMode,
                LoadImages,
                MediaManualPlay,
       -        Plugins,
                PreferredLanguages,
                RunInFullscreen,
                ScrollBars,
       t@@ -246,7 +244,7 @@ static void clicknewwindow(Client *c, const Arg *a, WebKitHitTestResult *h);
        static void clickexternplayer(Client *c, const Arg *a, WebKitHitTestResult *h);
        
        static char winid[64];
       -static char togglestats[12];
       +static char togglestats[11];
        static char pagestats[2];
        static Atom atoms[AtomLast];
        static Window embed;
       t@@ -277,7 +275,6 @@ static ParamName loadtransient[] = {
        };
        
        static ParamName loadcommitted[] = {
       -        AcceleratedCanvas,
        //        AccessMicrophone,
        //        AccessWebcam,
                CaretBrowsing,
       t@@ -290,7 +287,6 @@ static ParamName loadcommitted[] = {
                Java,
        //        KioskMode,
                MediaManualPlay,
       -        Plugins,
                RunInFullscreen,
                ScrollBars,
                SiteQuirks,
       t@@ -676,12 +672,10 @@ gettogglestats(Client *c)
                togglestats[3] = curconfig[DiskCache].val.i ?       'D' : 'd';
                togglestats[4] = curconfig[LoadImages].val.i ?      'I' : 'i';
                togglestats[5] = curconfig[JavaScript].val.i ?      'S' : 's';
       -        togglestats[6] = curconfig[Plugins].val.i ?         'V' : 'v';
       -        togglestats[7] = curconfig[Style].val.i ?           'M' : 'm';
       -        togglestats[8] = curconfig[FrameFlattening].val.i ? 'F' : 'f';
       -        togglestats[9] = curconfig[Certificate].val.i ?     'X' : 'x';
       -        togglestats[10] = curconfig[StrictTLS].val.i ?      'T' : 't';
       -        togglestats[11] = '\0';
       +        togglestats[6] = curconfig[Style].val.i ?           'M' : 'm';
       +        togglestats[7] = curconfig[FrameFlattening].val.i ? 'F' : 'f';
       +        togglestats[8] = curconfig[Certificate].val.i ?     'X' : 'x';
       +        togglestats[9] = curconfig[StrictTLS].val.i ?       'T' : 't';
        }
        
        void
       t@@ -761,9 +755,6 @@ setparameter(Client *c, int refresh, ParamName p, const Arg *a)
                modparams[p] = curconfig[p].prio;
        
                switch (p) {
       -        case AcceleratedCanvas:
       -                webkit_settings_set_enable_accelerated_2d_canvas(s, a->i);
       -                break;
                case AccessMicrophone:
                        return; /* do nothing */
                case AccessWebcam:
       t@@ -829,9 +820,6 @@ setparameter(Client *c, int refresh, ParamName p, const Arg *a)
                case MediaManualPlay:
                        webkit_settings_set_media_playback_requires_user_gesture(s, a->i);
                        break;
       -        case Plugins:
       -                webkit_settings_set_enable_plugins(s, a->i);
       -                break;
                case PreferredLanguages:
                        return; /* do nothing */
                case RunInFullscreen:
       t@@ -1034,7 +1022,6 @@ newwindow(Client *c, const Arg *a, int noembed)
                cmd[i++] = curconfig[KioskMode].val.i ?       "-K" : "-k" ;
                cmd[i++] = curconfig[Style].val.i ?           "-M" : "-m" ;
                cmd[i++] = curconfig[Inspector].val.i ?       "-N" : "-n" ;
       -        cmd[i++] = curconfig[Plugins].val.i ?         "-P" : "-p" ;
                if (scriptfile && g_strcmp0(scriptfile, "")) {
                        cmd[i++] = "-r";
                        cmd[i++] = scriptfile;
       t@@ -1134,8 +1121,6 @@ newview(Client *c, WebKitWebView *rv)
                           "enable-html5-local-storage", curconfig[DiskCache].val.i,
                           "enable-java", curconfig[Java].val.i,
                           "enable-javascript", curconfig[JavaScript].val.i,
       -                   "enable-plugins", curconfig[Plugins].val.i,
       -                   "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,
       t@@ -1179,10 +1164,6 @@ 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 */
                        if (!curconfig[Ephemeral].val.i)
       t@@ -2204,14 +2185,6 @@ main(int argc, char *argv[])
                        defconfig[Inspector].val.i = 1;
                        defconfig[Inspector].prio = 2;
                        break;
       -        case 'p':
       -                defconfig[Plugins].val.i = 0;
       -                defconfig[Plugins].prio = 2;
       -                break;
       -        case 'P':
       -                defconfig[Plugins].val.i = 1;
       -                defconfig[Plugins].prio = 2;
       -                break;
                case 'r':
                        scriptfile = EARGF(usage());
                        break;