diff --git a/configure.pri b/configure.pri index 4ce40351aedf075997e7f0979d0c1c6035694f6f..25475574303fc8aa0010aceedc7b7b84654a7548 100644 --- a/configure.pri +++ b/configure.pri @@ -286,3 +286,11 @@ defineTest(qtConfReport_macosToolchainVersion) { contains(arg, "deploymentTarget"): report_message = "$$QMAKE_MACOSX_DEPLOYMENT_TARGET" !isEmpty(report_message): qtConfReportPadded($$1, $$report_message) } + +defineTest(qtConfTest_isWindowsHostCompiler64) { + win_host_arch = $$(VSCMD_ARG_HOST_ARCH) + isEmpty(win_host_arch): return(true) + contains(win_host_arch,"x64"): return(true) + qtLog("Required 64-bit cross-building or native toolchain was not detected.") + return(false) +} diff --git a/mkspecs/features/configure.prf b/mkspecs/features/configure.prf index 21c2f8c015235e8cacf2933393431689165fa806..0721bdd2c0b8db1865e32d062bbd69e66bed56b9 100644 --- a/mkspecs/features/configure.prf +++ b/mkspecs/features/configure.prf @@ -37,6 +37,11 @@ defineTest(runConfigure) { return(false) } + win32:!qtConfig(webengine-win-compiler64) { + skipBuild("Required 64-bit cross-building or native toolchain could not be found.") + return(false) + } + !qtConfig(webengine-gperf) { skipBuild("Required gperf could not be found.") return(false) diff --git a/src/core/configure.json b/src/core/configure.json index e546cf899d4da1473374c56a393736067054622e..000faf686fc48493be3e6cf61fe7a35759abe10d 100644 --- a/src/core/configure.json +++ b/src/core/configure.json @@ -310,6 +310,10 @@ "webengine-sanitizer": { "label" : "sanitizer support", "type": "isSanitizerSupported" + }, + "webengine-win-compiler64": { + "label": "64bit compiler", + "type": "isWindowsHostCompiler64" } }, @@ -629,6 +633,12 @@ "autoDetect": "config.unix", "condition": "libs.webengine-poppler-cpp", "output": [ "privateFeature" ] + }, + "webengine-win-compiler64": { + "label": "64bit compiler", + "condition": "config.win32 && tests.webengine-win-compiler64", + "type": "isWindowsHostCompiler64", + "output": [ "privateFeature" ] } }, @@ -662,6 +672,11 @@ "type": "warning", "condition": "config.unix && !features.webengine-host-pkg-config", "message": "host pkg-config not found" + }, + { + "type": "warning", + "condition": "config.win32 && !features.webengine-win-compiler64", + "message": "64-bit cross-building or native toolchain is required to build QtWebEngine." } ], diff --git a/src/webengine/api/qquickwebengineprofile.cpp b/src/webengine/api/qquickwebengineprofile.cpp index f536695ef07fb8c661e8b8a9cdd3d6d687262034..ed2600e493723d1c2c35fb4ebb582a6b05ad66f8 100644 --- a/src/webengine/api/qquickwebengineprofile.cpp +++ b/src/webengine/api/qquickwebengineprofile.cpp @@ -69,11 +69,18 @@ ASSERT_ENUMS_MATCH(QQuickWebEngineDownloadItem::MimeHtmlSaveFormat, QtWebEngineC \inmodule QtWebEngine - A web engine profile contains properties and functionality shared by a group of web engine - pages. - - Information about visited links is stored together with persistent cookies and other persistent - data in a storage described by the persistentStoragePath property. + A web engine profile contains settings, scripts, persistent cookie policy, and the list of + visited links shared by all web engine pages that belong to the profile. + + Information about visited links is stored together with persistent cookies + and other persistent data in a storage determined by the storageName + property. Persistent data is stored in a subdirectory determined by the + persistentStoragePath property and the cache in a subdirectory determined by + the cachePath property. The httpCacheType property describes the type of the + cache: \e in-memory or \e on-disk. If only the storageName property is set, + the other values are generated automatically based on it. If you specify + any of the values manually, you should do it before creating any pages that + belong to the profile. Profiles can be used to isolate pages from each other. A typical use case is a dedicated \e {off-the-record profile} for a \e {private browsing} mode. An off-the-record profile forces @@ -310,8 +317,23 @@ void QQuickWebEngineProfilePrivate::userScripts_clear(QQmlListProperty<QQuickWeb \brief Contains settings, scripts, and visited links common to multiple web engine views. WebEngineProfile contains settings, scripts, and the list of visited links shared by all - views that belong to the profile. As such, profiles can be used to isolate views - from each other. A typical use case is a dedicated profile for a 'private browsing' mode. + views that belong to the profile. + + Information about visited links is stored together with persistent cookies + and other persistent data in a storage determined by the storageName + property. Persistent data is stored in a subdirectory determined by the + persistentStoragePath property and the cache in a subdirectory determined by + the cachePath property. The httpCacheType property describes the type of the + cache: \e in-memory or \e on-disk. If only the storageName property is set, + the other values are generated automatically based on it. If you specify + any of the values manually, you should do it before creating any pages that + belong to the profile. + + Profiles can be used to isolate pages from each other. A typical use case is + a dedicated \e {off-the-record profile} for a \e {private browsing} mode. An + off-the-record profile forces cookies, the HTTP cache, and other normally + persistent data to be stored only in memory. The offTheRecord property holds + whether a profile is off-the-record. Each web engine view has an associated profile. Views that do not have a specific profile set share a common default one. diff --git a/src/webengine/doc/src/qtwebengine-platform-notes.qdoc b/src/webengine/doc/src/qtwebengine-platform-notes.qdoc index 6c8703fe4811f9417a85606fef29302595b6cf79..59429ec5a4dc7c065c48d3deb342a20904633a4c 100644 --- a/src/webengine/doc/src/qtwebengine-platform-notes.qdoc +++ b/src/webengine/doc/src/qtwebengine-platform-notes.qdoc @@ -71,6 +71,12 @@ On Windows, Visual Studio 2017 and Windows 10 SDK are required. + Qt WebEngine can only be built on 64-bit Windows, with a x64-bit toolchain. + For building Qt WebEngine for x86 applications, you need to configure + and compile Qt with the Visual Studio 2017 x64 to x86 cross-compile + toolchain. This toolchain can be set up on the command line by running + \c{vcvarsall.bat amd64_x86}. + \section2 Linux On Linux, Clang or GCC version 5 or later is required. diff --git a/src/webenginewidgets/api/qwebengineprofile.cpp b/src/webenginewidgets/api/qwebengineprofile.cpp index b2fe49da3e6fc1a166dad66bc497c1ec4b57d7e1..537cf41fd4756cde4fbe93845ffb83b7a26617b3 100644 --- a/src/webenginewidgets/api/qwebengineprofile.cpp +++ b/src/webenginewidgets/api/qwebengineprofile.cpp @@ -77,7 +77,14 @@ using QtWebEngineCore::ProfileAdapter; to a common QWebEngineScriptCollection instance. Information about visited links is stored together with persistent cookies and other persistent - data in a storage returned by persistentStoragePath(). The cache can be cleared of links by + data in a storage returned by storageName(). Persistent data is stored in a subdirectory set by + calling setPersistentStoragePath(), and the cache is located in a subdirectory set by calling + setCachePath(). The cache type can be set to \e in-memory or \e on-disk by calling + setHttpCacheType(). If only the storage name is set, the subdirectories are created and named + automatically. If you set any of the values manually, you should do it before creating any + pages that belong to the profile. + + The cache can be cleared of links by calling clearVisitedLinks() or clearAllVisitedLinks(). PersistentCookiesPolicy describes whether session and persistent cookies are saved to and restored from memory or disk.