diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2020-10-24 15:34:12 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2020-10-24 16:52:49 -0700 |
commit | 71661b287297f328c2c5ad67e180a760f80850cb (patch) | |
tree | da7913bc7a8ea53f571d6b8d0560c6240c585d5c /src | |
parent | 8b1ccf5e7bc734aa3d0de6e1906677699c7eb3b2 (diff) | |
download | emacs-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.c | 9 |
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); |