diff --git a/dist/changes-5.10.1 b/dist/changes-5.10.1
new file mode 100644
index 0000000000000000000000000000000000000000..86e9a9aef3cd298c2cd0c49c12c6e8f9561dfc45
--- /dev/null
+++ b/dist/changes-5.10.1
@@ -0,0 +1,66 @@
+Qt 5.10.1 is a bug-fix release. It maintains both forward and backward
+compatibility (source and binary) with Qt 5.10.0.
+
+For more details, refer to the online documentation included in this
+distribution. The documentation is also available online:
+
+http://doc.qt.io/qt-5/index.html
+
+The Qt version 5.10 series is binary compatible with the 5.9.x series.
+Applications compiled for 5.9 will continue to run with 5.10.
+
+Some of the changes listed in this file include issue tracking numbers
+corresponding to tasks in the Qt Bug Tracker:
+
+https://bugreports.qt.io/
+
+Each of these identifiers can be entered in the bug tracker to obtain more
+information about a particular change.
+
+This release contains all fixes included in the Qt 5.9.4 release.
+
+****************************************************************************
+*                            Qt 5.10.1 Changes                             *
+****************************************************************************
+
+Chromium
+--------
+
+   - Security fixes from Chromium up to version 64.0.3282.140.
+    * Including: CVE-2018-6031, CVE-2018-6033, CVE-2018-6034, CVE-2018-6036,
+      CVE-2018-6037, CVE-2018-6038, CVE-2018-6040, CVE-2018-6041,
+      CVE-2018-6042, CVE-2018-6047, CVE-2018-6048, CVE-2018-6050,
+      CVE-2018-6051, CVE-2018-6052, CVE-2018-6053 and CVE-2018-6054
+
+   - Mitigations for SPECTRE
+    * Disabled shared-buffers
+    * Added cryptographic noise to precision timers
+
+
+General
+-------
+
+ - [QTBUG-47945, QTBUG-65647] Fixed random crashes on exit
+ - [QTBUG-57206] Fixed regression in viewport handling in embedded mode
+ - [QTBUG-58400] Improved memory usage when printing
+ - [QTBUG-63867] Fixed <canvas> elements when compiled without OpenGL
+ - [QTBUG-63266, QTBUG-64436] Fixed that pointerType of Pointer Events was empty
+ - [QTBUG-63606] Improved runtime disabling and clearing of HTTP cache
+ - [QTBUG-64812] Fixed message bubble position in Hi-DPI mode
+ - [QTBUG-64869, QTBUG-65004] Added testing for 32-bit host compiler when
+                              crossbuilding to 32-bit platforms
+ - [QTBUG-65715] Fixed double margins when printing
+
+
+Linux
+-----
+
+ - [QTBUG-57761, QTBUG-63341] Fixed loading of libGLESv2 on some embedded
+                              platforms
+ - [QTBUG-65079] Added support for separate host and target pkg-config wrappers
+
+
+Windows
+-------
+
+ - [QTBUG-60705] Fixed issues with too large scrollbars on Hi-DPI monitors
diff --git a/examples/webengine/quicknanobrowser/ApplicationRoot.qml b/examples/webengine/quicknanobrowser/ApplicationRoot.qml
index 78defab802384daadccc347b32d9575c98b9da4b..014b556a1058cfb536c7a886d701ea11ec84bc41 100644
--- a/examples/webengine/quicknanobrowser/ApplicationRoot.qml
+++ b/examples/webengine/quicknanobrowser/ApplicationRoot.qml
@@ -55,7 +55,7 @@ QtObject {
     id: root
 
     property QtObject defaultProfile: WebEngineProfile {
-        storageName: "Default"
+        storageName: "Profile"
     }
 
     property QtObject otrProfile: WebEngineProfile {
diff --git a/src/core/browser_context_adapter.cpp b/src/core/browser_context_adapter.cpp
index 654482b0228f1ac42e0fbb60b8c101666f54a678..a86c66cc5a1d34f437abb9febf99ba8bb9a485fc 100644
--- a/src/core/browser_context_adapter.cpp
+++ b/src/core/browser_context_adapter.cpp
@@ -104,11 +104,11 @@ BrowserContextAdapter::BrowserContextAdapter(const QString &storageName)
 BrowserContextAdapter::~BrowserContextAdapter()
 {
     Q_ASSERT(!m_downloadManagerDelegate);
+    m_browserContext->ShutdownStoragePartitions();
 }
 
 void BrowserContextAdapter::shutdown()
 {
-    m_browserContext->ShutdownStoragePartitions();
     if (m_downloadManagerDelegate) {
         m_browserContext->GetDownloadManager(m_browserContext.data())->Shutdown();
         m_downloadManagerDelegate.reset();
diff --git a/src/core/config/linux.pri b/src/core/config/linux.pri
index f4a95a03c7c63dbaadacad4e3c29f8c9a0cdf3f1..f3103e7491a93d2b91acf7411e0b9aaea1ba8f5a 100644
--- a/src/core/config/linux.pri
+++ b/src/core/config/linux.pri
@@ -112,12 +112,12 @@ host_build {
         PKG_CONFIG_HOST = $$(GN_PKG_CONFIG_HOST)
         pkgConfigLibDir = $$(PKG_CONFIG_LIBDIR)
         pkgConfigSysrootDir = $$(PKG_CONFIG_SYSROOT_DIR)
-        isEmpty(PKG_CONFIG_HOST): PKG_CONFIG_HOST = $$QMAKE_PKG_CONFIG_HOST
-        cross_compile {
+        isEmpty(PKG_CONFIG_HOST): cross_compile {
             !isEmpty(pkgConfigLibDir)|!isEmpty(pkgConfigSysrootDir) {
                 PKG_CONFIG_HOST = $$pkgConfigHostExecutable()
             }
         }
+        isEmpty(PKG_CONFIG_HOST): PKG_CONFIG_HOST = $$QMAKE_PKG_CONFIG_HOST
         gn_args += host_pkg_config=\"$$PKG_CONFIG_HOST\"
     }
 
diff --git a/src/core/web_engine_context.cpp b/src/core/web_engine_context.cpp
index a10aef1150a6cc6608f55d29c05ee188818ba983..bdb61d0d32eb31a9d17cf280137dff3b2e9a379e 100644
--- a/src/core/web_engine_context.cpp
+++ b/src/core/web_engine_context.cpp
@@ -350,6 +350,9 @@ WebEngineContext::WebEngineContext()
     // The Mojo local-storage is currently pretty broken and saves in $$PWD/Local\ Storage
     parsedCommandLine->AppendSwitch(switches::kDisableMojoLocalStorage);
 
+    // Shared workers are not safe until Chromium 64
+    parsedCommandLine->AppendSwitch(switches::kDisableSharedWorkers);
+
 #if defined(Q_OS_MACOS)
     // Accelerated decoding currently does not work on macOS due to issues with OpenGL Rectangle
     // texture support. See QTBUG-60002.
diff --git a/tests/auto/widgets/qwebenginedownloads/BLACKLIST b/tests/auto/widgets/qwebenginedownloads/BLACKLIST
new file mode 100644
index 0000000000000000000000000000000000000000..f8a97e9e8784e3b22ee2c4dc2626f9a7604241ae
--- /dev/null
+++ b/tests/auto/widgets/qwebenginedownloads/BLACKLIST
@@ -0,0 +1,4 @@
+[downloadLink]
+*
+[downloadTwoLinks]
+*
diff --git a/tests/auto/widgets/qwebenginedownloads/tst_qwebenginedownloads.cpp b/tests/auto/widgets/qwebenginedownloads/tst_qwebenginedownloads.cpp
index 992254206e774c7aa2ac761fd653113fce9a334b..1d40d91eee3f6e5f0bd367ba30e4efab9edd0ed2 100644
--- a/tests/auto/widgets/qwebenginedownloads/tst_qwebenginedownloads.cpp
+++ b/tests/auto/widgets/qwebenginedownloads/tst_qwebenginedownloads.cpp
@@ -459,11 +459,16 @@ void tst_QWebEngineDownloads::downloadTwoLinks()
     std::unique_ptr<HttpReqRep> file1RR(results.takeFirst());
     QVERIFY(file1RR);
     QCOMPARE(file1RR->requestMethod(), QByteArrayLiteral("GET"));
-    QCOMPARE(file1RR->requestPath(), QByteArrayLiteral("/file1"));
     QTRY_COMPARE(requestSpy.count(), 4);
     std::unique_ptr<HttpReqRep> file2RR(results.takeFirst());
     QVERIFY(file2RR);
     QCOMPARE(file2RR->requestMethod(), QByteArrayLiteral("GET"));
+
+    // Handle one request overtaking the other
+    if (file1RR->requestPath() == QByteArrayLiteral("/file2"))
+        std::swap(file1RR, file2RR);
+
+    QCOMPARE(file1RR->requestPath(), QByteArrayLiteral("/file1"));
     QCOMPARE(file2RR->requestPath(), QByteArrayLiteral("/file2"));
 
     file1RR->setResponseHeader(QByteArrayLiteral("content-type"), QByteArrayLiteral("text/plain"));