Hi y'all,

Based on discussion with Hiltjo (CC), here's a second iteration of PDF
support patch. Now making PDF support configurable (yet on by default
for better experience.)

>From 9bd68d63ab56ee3a719de3e9d1ddc53082e54429 Mon Sep 17 00:00:00 2001
From: Artyom Bologov <m...@aartaka.me>
Date: Sun, 15 Sep 2024 09:17:46 +0400
Subject: [surf] [patch] Configurable toggle for WebKit PDF viewer

---
 config.def.h | 1 +
 surf.c       | 3 +++
 2 files changed, 4 insertions(+)

diff --git a/config.def.h b/config.def.h
index c5370b9..b2d1635 100644
--- a/config.def.h
+++ b/config.def.h
@@ -46,6 +46,7 @@ static Parameter defconfig[ParameterLast] = {
 	[Style]               =       { { .i = 1 },     },
 	[WebGL]               =       { { .i = 0 },     },
 	[ZoomLevel]           =       { { .f = 1.0 },   },
+	[PDF]                 =       { { .i = 1 },     },
 };
 
 static UriParameters uriparams[] = {
diff --git a/surf.c b/surf.c
index 18d65d7..d84f938 100644
--- a/surf.c
+++ b/surf.c
@@ -83,6 +83,7 @@ typedef enum {
 	Style,
 	WebGL,
 	ZoomLevel,
+        PDF,
 	ParameterLast
 } ParamName;
 
@@ -1701,6 +1702,8 @@ decideresource(WebKitPolicyDecision *d, Client *c)
 	    && !g_str_has_prefix(uri, "webkit://")
 	    && !g_str_has_prefix(uri, "data:")
 	    && !g_str_has_prefix(uri, "blob:")
+	    && !(g_str_has_prefix(uri, "webkit-pdfjs-viewer://")
+		 && curconfig[PDF].val.i)
 	    && strlen(uri) > 0) {
 		for (i = 0; i < strlen(uri); i++) {
 			if (!g_ascii_isprint(uri[i])) {
-- 
2.45.2

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

Reply via email to