Hi y'all,

This patch introduces JavaScriptMarkup option to make sites JS-clean
without compromizing user/browser running JS for useful things.

>From f2e4f6847698feda4eadcd30dd89c30af56a4d2d Mon Sep 17 00:00:00 2001
From: Artyom Bologov <g...@aartaka.me>
Date: Sun, 20 Apr 2025 17:54:34 +0400
Subject: [PATCH] Introduce JavaScriptMarkup option (limit site JS w/o user JS)

---
 surf.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/surf.c b/surf.c
index 660e7cf..efbcc15 100644
--- a/surf.c
+++ b/surf.c
@@ -68,6 +68,7 @@ typedef enum {
 	HideBackground,
 	Inspector,
 	JavaScript,
+	JavaScriptMarkup,
 	KioskMode,
 	LoadImages,
 	MediaManualPlay,
@@ -835,6 +836,9 @@ setparameter(Client *c, int refresh, ParamName p, const Arg *a)
 	case JavaScript:
 		webkit_settings_set_enable_javascript(c->settings, a->i);
 		break;
+	case JavaScriptMarkup:
+		webkit_settings_set_enable_javascript_markup(c->settings, a->i);
+		break;
 	case KioskMode:
 		return; /* do nothing */
 	case LoadImages:
@@ -1151,6 +1155,7 @@ newview(Client *c, WebKitWebView *rv)
 		   "enable-html5-database", curconfig[DiskCache].val.i,
 		   "enable-html5-local-storage", curconfig[DiskCache].val.i,
 		   "enable-javascript", curconfig[JavaScript].val.i,
+		   "enable-javascript-markup", curconfig[JavaScriptMarkup].val.i,
 		   "enable-site-specific-quirks", curconfig[SiteQuirks].val.i,
 		   "enable-smooth-scrolling", curconfig[SmoothScrolling].val.i,
 		   "enable-webgl", curconfig[WebGL].val.i,
-- 
2.48.1

Thanks,
-- 
Artyom Bologov
https://aartaka.me

Reply via email to