From 79d4cf6e8eb569ec039c33e407fab787cc1a687f Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Thu, 31 Oct 2019 11:28:09 +0100 Subject: 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 --- src/process/process.pro | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src/process/process.pro') diff --git a/src/process/process.pro b/src/process/process.pro index 0bdc9dd93..ecde20d04 100644 --- a/src/process/process.pro +++ b/src/process/process.pro @@ -9,7 +9,28 @@ INCLUDEPATH += ../core SOURCES = main.cpp +# On windows we need to statically link to the windows sandbox code win32 { + # The Chromium headers we include are not clean + CONFIG -= warnings_are_errors + + # Look for linking information produced by GN + linking_pri = $$OUT_PWD/../core/$$getConfigDir()/qtwebengine_sandbox_win.pri + + !include($$linking_pri) { + error("Could not find the linking information that gn should have generated.") + } + isEmpty(NINJA_OBJECTS): error("//sandbox/win:sandbox linking changed, update process.pro") + isEmpty(NINJA_ARCHIVES): error("//sandbox/win:sandbox linking changed, update process.pro") + + LIBS_PRIVATE += $$NINJA_LIB_DIRS $$NINJA_LIBS $$NINJA_ARCHIVES $$NINJA_OBJECTS + QMAKE_LFLAGS += $$NINJA_LFLAGS + POST_TARGETDEPS += $$eval($$NINJA_TARGETDEPS) + + CHROMIUM_SRC_DIR = $$QTWEBENGINE_ROOT/$$getChromiumSrcDir() + INCLUDEPATH += $$CHROMIUM_SRC_DIR \ + $$OUT_PWD/../core/$$getConfigDir()/gen + SOURCES += \ support_win.cpp -- cgit v1.2.3