summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2020-10-24 15:34:12 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2020-10-24 16:52:49 -0700
commit71661b287297f328c2c5ad67e180a760f80850cb (patch)
treeda7913bc7a8ea53f571d6b8d0560c6240c585d5c /src
parent8b1ccf5e7bc734aa3d0de6e1906677699c7eb3b2 (diff)
downloademacs-71661b287297f328c2c5ad67e180a760f80850cb.tar.gz
Use WebKit sandboxing
* src/xwidget.c (Fmake_xwidget): Enable sandboxing if WebKit 2.26 or later. Do this early, as required for sandboxing (Bug#43071). Co-authored-by: Qiantan Hong <qhong@mit.edu> Copyright-paperwork-exempt: yes
Diffstat (limited to 'src')
-rw-r--r--src/xwidget.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/xwidget.c b/src/xwidget.c
index ea8987f5b3b..fb906d181ac 100644
--- a/src/xwidget.c
+++ b/src/xwidget.c
@@ -101,6 +101,13 @@ Returns the newly constructed xwidget, or nil if construction fails. */)
if (EQ (xw->type, Qwebkit))
{
block_input ();
+ WebKitWebContext *webkit_context = webkit_web_context_get_default ();
+
+# if WEBKIT_CHECK_VERSION (2, 26, 0)
+ if (!webkit_web_context_get_sandbox_enabled (webkit_context))
+ webkit_web_context_set_sandbox_enabled (webkit_context, TRUE);
+# endif
+
xw->widgetwindow_osr = gtk_offscreen_window_new ();
gtk_window_resize (GTK_WINDOW (xw->widgetwindow_osr), xw->width,
xw->height);
@@ -139,7 +146,7 @@ Returns the newly constructed xwidget, or nil if construction fails. */)
"load-changed",
G_CALLBACK (webkit_view_load_changed_cb), xw);
- g_signal_connect (G_OBJECT (webkit_web_context_get_default ()),
+ g_signal_connect (G_OBJECT (webkit_context),
"download-started",
G_CALLBACK (webkit_download_cb), xw);