summaryrefslogtreecommitdiffstats
path: root/src/core/web_engine_context.h
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2019-10-31 11:28:09 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2019-12-19 14:05:40 +0100
commit79d4cf6e8eb569ec039c33e407fab787cc1a687f (patch)
treeb62d60ef2a8d1ed5662cdc38a68505ac018f1bf4 /src/core/web_engine_context.h
parent16651238b839b0e85c8a225657b6650c6005b176 (diff)
Enable Windows sandbox
Enable sandboxing on Windows. Enable heterogeneous sandbox symbol resolution and statically link the sandboxing code into the helper process. This means we have two copies of the sandboxing code, one statically linked in the executable and one in the shared library. Since they are not exported they don't conflict, but we need to take to initialize the right version in the helper process binary, and pass its sandbox interface to shared library using it. For sandbox debug output, we also need to initialize the second copy of the commandlineparser and logging system. Fixes: QTBUG-51170 Change-Id: I8f503c8d6b40674465f32772ef906817dad2b449 Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
Diffstat (limited to 'src/core/web_engine_context.h')
-rw-r--r--src/core/web_engine_context.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/core/web_engine_context.h b/src/core/web_engine_context.h
index 5892017c5..ac0536596 100644
--- a/src/core/web_engine_context.h
+++ b/src/core/web_engine_context.h
@@ -40,9 +40,12 @@
#ifndef WEB_ENGINE_CONTEXT_H
#define WEB_ENGINE_CONTEXT_H
+#include "qtwebenginecoreglobal_p.h"
+
#include "build_config_qt.h"
#include "base/memory/ref_counted.h"
#include "base/values.h"
+
#include <QVector>
namespace base {
@@ -75,6 +78,12 @@ class PrintJobManager;
}
#endif
+#ifdef Q_OS_WIN
+namespace sandbox {
+struct SandboxInterfaceInfo;
+}
+#endif
+
QT_FORWARD_DECLARE_CLASS(QObject)
namespace QtWebEngineCore {
@@ -86,6 +95,10 @@ class ProfileAdapter;
bool usingSoftwareDynamicGL();
+#ifdef Q_OS_WIN
+Q_WEBENGINECORE_PRIVATE_EXPORT sandbox::SandboxInterfaceInfo *staticSandboxInterfaceInfo(sandbox::SandboxInterfaceInfo *info = nullptr);
+#endif
+
typedef std::tuple<bool, QString, QString> ProxyAuthentication;
class WebEngineContext : public base::RefCounted<WebEngineContext> {