aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNoƩ Lopez2024-01-19 23:40:53 +0100
committerEli Zaretskii2024-03-14 11:17:24 +0200
commitf6a27bc32d19727dfcbee65fb9894b53aec46c65 (patch)
tree63cfd181341aa4f9030d237b9bffff07b9970796 /src
parent013114664ef4923872ffad26a97f4d314c9a84bf (diff)
downloademacs-f6a27bc32d19727dfcbee65fb9894b53aec46c65.tar.gz
emacs-f6a27bc32d19727dfcbee65fb9894b53aec46c65.zip
Add user option to disable JavaScript in xwidget webview
* src/xwidget.c: Add the 'xwidget-webkit-disable-javascript' variable to disable JavaScript in WebKit sessions. (Bug#68604) * etc/NEWS: * doc/emacs/misc.texi (Embedded Webkit Widgets): Document the change.
Diffstat (limited to 'src')
-rw-r--r--src/xwidget.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/xwidget.c b/src/xwidget.c
index 58910459142..5b82ef6e840 100644
--- a/src/xwidget.c
+++ b/src/xwidget.c
@@ -22,7 +22,6 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
22#include "buffer.h" 22#include "buffer.h"
23#include "coding.h" 23#include "coding.h"
24#include "xwidget.h" 24#include "xwidget.h"
25
26#include "lisp.h" 25#include "lisp.h"
27#include "blockinput.h" 26#include "blockinput.h"
28#include "dispextern.h" 27#include "dispextern.h"
@@ -379,6 +378,7 @@ fails. */)
379 /* Enable the developer extras. */ 378 /* Enable the developer extras. */
380 settings = webkit_web_view_get_settings (WEBKIT_WEB_VIEW (xw->widget_osr)); 379 settings = webkit_web_view_get_settings (WEBKIT_WEB_VIEW (xw->widget_osr));
381 g_object_set (G_OBJECT (settings), "enable-developer-extras", TRUE, NULL); 380 g_object_set (G_OBJECT (settings), "enable-developer-extras", TRUE, NULL);
381 g_object_set (G_OBJECT (settings), "enable-javascript", !xwidget_webkit_disable_javascript, NULL);
382 } 382 }
383 383
384 gtk_widget_set_size_request (GTK_WIDGET (xw->widget_osr), xw->width, 384 gtk_widget_set_size_request (GTK_WIDGET (xw->widget_osr), xw->width,
@@ -3972,6 +3972,12 @@ syms_of_xwidget (void)
3972 doc: /* List of all xwidget views. */); 3972 doc: /* List of all xwidget views. */);
3973 Vxwidget_view_list = Qnil; 3973 Vxwidget_view_list = Qnil;
3974 3974
3975 DEFVAR_BOOL("xwidget-webkit-disable-javascript", xwidget_webkit_disable_javascript,
3976 doc: /* If non-nil, disables the execution of JavaScript in xwidget webkit sessions.
3977You must kill all xwidget-webkit buffers for this setting to take
3978effect after changing it. */);
3979 xwidget_webkit_disable_javascript = false;
3980
3975 Fprovide (intern ("xwidget-internal"), Qnil); 3981 Fprovide (intern ("xwidget-internal"), Qnil);
3976 3982
3977 id_to_xwidget_map = CALLN (Fmake_hash_table, QCtest, Qeq, 3983 id_to_xwidget_map = CALLN (Fmake_hash_table, QCtest, Qeq,