[libgepub/wip/hadess/disable-javascript: 1/4] widget: Disable a number of "Web" features




commit 2459dbfc701b16d2469fc4900f1b12d063699d50
Author: Bastien Nocera <hadess hadess net>
Date:   Wed Mar 31 12:28:40 2021 +0200

    widget: Disable a number of "Web" features
    
    Disable Javascript and Java when used in ePubs content.

 libgepub/gepub-widget.c | 10 ++++++++++
 1 file changed, 10 insertions(+)
---
diff --git a/libgepub/gepub-widget.c b/libgepub/gepub-widget.c
index d2559b9..be93c05 100644
--- a/libgepub/gepub-widget.c
+++ b/libgepub/gepub-widget.c
@@ -411,12 +411,22 @@ static void
 gepub_widget_constructed (GObject *object)
 {
     WebKitWebContext *ctx;
+    WebKitSettings *settings;
     GepubWidget *widget = GEPUB_WIDGET (object);
 
     G_OBJECT_CLASS (gepub_widget_parent_class)->constructed (object);
 
     ctx = webkit_web_view_get_context (WEBKIT_WEB_VIEW (widget));
     webkit_web_context_register_uri_scheme (ctx, "epub", resource_callback, widget, NULL);
+
+    settings = webkit_web_view_get_settings (WEBKIT_WEB_VIEW (widget));
+    g_object_set (G_OBJECT (settings),
+                  "enable-javascript-markup", FALSE,
+                  "enable-java", FALSE,
+                  "javascript-can-access-clipboard", FALSE,
+                  "javascript-can-open-windows-automatically", FALSE,
+                  NULL);
+
     g_signal_connect (widget, "load-changed", G_CALLBACK (docready_cb), NULL);
     g_signal_connect (widget, "size-allocate", G_CALLBACK (reload_length_cb), NULL);
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]