From fa78a7800272e05e1548aaf91f8eed2353955367 Mon Sep 17 00:00:00 2001
From: Kai Koehne <kai.koehne@qt.io>
Date: Tue, 4 Apr 2017 16:58:52 +0200
Subject: [PATCH] Mark QtWebEngineProcess as compatible with Windows 10

This fixes ::GetVersionEx to report the actual Windows version,
instead of always reporting Windows 8. Note though that this
fixes only the renderer process - the manifest of the user process
is beyond our control.

Chromium currently uses the dynamic checks for Windows 10 to e.g.
enable advanced sandboxing for ppapi, and scroll performance
(see https://bugs.chromium.org/p/chromium/issues/detail?id=517183)

Change-Id: I72870f31eac2074748b2c11a2b6cab9a03e62527
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
---
 src/process/process.exe.manifest | 17 +++++++++++++++++
 src/process/process.pro          |  2 ++
 2 files changed, 19 insertions(+)
 create mode 100644 src/process/process.exe.manifest

diff --git a/src/process/process.exe.manifest b/src/process/process.exe.manifest
new file mode 100644
index 000000000..181a0e13e
--- /dev/null
+++ b/src/process/process.exe.manifest
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
+  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
+    <application>
+      <!-- Windows 10 -->
+      <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
+      <!-- Windows 8.1 -->
+      <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
+      <!-- Windows Vista -->
+      <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
+      <!-- Windows 7 -->
+      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
+      <!-- Windows 8 -->
+      <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
+    </application>
+  </compatibility>
+</assembly>
diff --git a/src/process/process.pro b/src/process/process.pro
index 5e2e734f4..f442439e8 100644
--- a/src/process/process.pro
+++ b/src/process/process.pro
@@ -12,6 +12,8 @@ SOURCES = main.cpp
 win32 {
     SOURCES += \
         support_win.cpp
+
+    msvc: QMAKE_LFLAGS += /MANIFESTINPUT:$$PWD/process.exe.manifest
 }
 
 load(qt_app)
-- 
GitLab