summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2016-08-16 22:07:23 +0200
committerLiang Qi <liang.qi@qt.io>2016-08-16 22:07:33 +0200
commitac41ad48cacac91e428181f7ededb0896ee64c40 (patch)
tree44b4afb881fd0b7aa29b0a9da22dddf8e91a4be2
parent6534b09073791398bad99863821740e986915bff (diff)
parent6e4d1a0cf21ee18d6584042cd9bea3a7d1d24a56 (diff)
Merge remote-tracking branch 'origin/5.7' into dev
-rw-r--r--src/core/delegated_frame_node.cpp2
-rw-r--r--src/webengine/api/qquickwebenginecertificateerror.cpp47
-rw-r--r--src/webengine/api/qquickwebenginecontextmenudata.cpp16
-rw-r--r--src/webengine/api/qquickwebenginedownloaditem.cpp22
-rw-r--r--src/webengine/api/qquickwebengineloadrequest.cpp7
-rw-r--r--src/webengine/api/qquickwebengineprofile.cpp14
-rw-r--r--src/webengine/api/qquickwebenginescript.cpp12
-rw-r--r--src/webengine/api/qquickwebengineview.cpp20
-rw-r--r--src/webengine/doc/src/qtwebengine-deploying.qdoc131
-rw-r--r--src/webengine/doc/src/qtwebengine-overview.qdoc25
-rw-r--r--src/webengine/doc/src/qtwebengine-platform-notes.qdoc13
-rw-r--r--src/webengine/doc/src/qtwebengine-qmlmodule.qdoc1
-rw-r--r--src/webengine/doc/src/webengineview.qdoc390
-rw-r--r--src/webengine/render_widget_host_view_qt_delegate_quick.cpp2
-rw-r--r--tests/auto/widgets/qwebenginepage/BLACKLIST2
-rw-r--r--tools/qmake/config.tests/libcap/libcap.cpp36
-rw-r--r--tools/qmake/config.tests/libcap/libcap.pro3
-rw-r--r--tools/qmake/mkspecs/features/configure.prf2
-rw-r--r--tools/qmake/mkspecs/features/functions.prf4
19 files changed, 428 insertions, 321 deletions
diff --git a/src/core/delegated_frame_node.cpp b/src/core/delegated_frame_node.cpp
index 0c2b3cdea..dd0fd877e 100644
--- a/src/core/delegated_frame_node.cpp
+++ b/src/core/delegated_frame_node.cpp
@@ -798,7 +798,7 @@ void DelegatedFrameNode::pullTexture(DelegatedFrameNode *frameNode, MailboxTextu
if (syncToken.HasData())
mailboxManager->PullTextureUpdates(syncToken);
texture->fetchTexture(mailboxManager);
- if (!!gfx::GLContext::GetCurrent()) {
+ if (!!gfx::GLContext::GetCurrent() && gfx::GLFence::IsSupported()) {
// Create a fence on the Chromium GPU-thread and context
gfx::GLFence *fence = gfx::GLFence::Create();
// But transfer it to something generic since we need to read it using Qt's OpenGL.
diff --git a/src/webengine/api/qquickwebenginecertificateerror.cpp b/src/webengine/api/qquickwebenginecertificateerror.cpp
index cf8b8bbbc..51a942abe 100644
--- a/src/webengine/api/qquickwebenginecertificateerror.cpp
+++ b/src/webengine/api/qquickwebenginecertificateerror.cpp
@@ -163,21 +163,38 @@ QUrl QQuickWebEngineCertificateError::url() const
The type of the error.
- \value SslPinnedKeyNotInCertificateChain The certificate did not match the built-in public keys
- pinned for the host name.
- \value CertificateCommonNameInvalid The certificate's common name did not match the host name.
- \value CertificateDateInvalid The certificate is not valid at the current date and time.
- \value CertificateAuthorityInvalid The certificate is not signed by a trusted authority.
- \value CertificateContainsErrors The certificate contains errors.
- \value CertificateNoRevocationMechanism The certificate has no mechanism for determining if it has been revoked.
- \value CertificateUnableToCheckRevocation Revocation information for the certificate is not available.
- \value CertificateRevoked The certificate has been revoked.
- \value CertificateInvalid The certificate is invalid.
- \value CertificateWeakSignatureAlgorithm The certificate is signed using a weak signature algorithm.
- \value CertificateNonUniqueName The host name specified in the certificate is not unique.
- \value CertificateWeakKey The certificate contains a weak key.
- \value CertificateNameConstraintViolation The certificate claimed DNS names that are in violation of name constraints.
- \value CertificateValidityTooLong The certificate has a validity period that is too long
+ \value WebEngineCertificateError.SslPinnedKeyNotInCertificateChain
+ The certificate did not match the built-in public keys pinned for
+ the host name.
+ \value WebEngineCertificateError.CertificateCommonNameInvalid
+ The certificate's common name did not match the host name.
+ \value WebEngineCertificateError.CertificateDateInvalid
+ The certificate is not valid at the current date and time.
+ \value WebEngineCertificateError.CertificateAuthorityInvalid
+ The certificate is not signed by a trusted authority.
+ \value WebEngineCertificateError.CertificateContainsErrors
+ The certificate contains errors.
+ \value WebEngineCertificateError.CertificateNoRevocationMechanism
+ The certificate has no mechanism for determining if it has been
+ revoked.
+ \value WebEngineCertificateError.CertificateUnableToCheckRevocation
+ Revocation information for the certificate is not available.
+ \value WebEngineCertificateError.CertificateRevoked
+ The certificate has been revoked.
+ \value WebEngineCertificateError.CertificateInvalid
+ The certificate is invalid.
+ \value WebEngineCertificateError.CertificateWeakSignatureAlgorithm
+ The certificate is signed using a weak signature algorithm.
+ \value WebEngineCertificateError.CertificateNonUniqueName
+ The host name specified in the certificate is not unique.
+ \value WebEngineCertificateError.CertificateWeakKey
+ The certificate contains a weak key.
+ \value WebEngineCertificateError.CertificateNameConstraintViolation
+ The certificate claimed DNS names that are in violation of name
+ constraints.
+ \value WebEngineCertificateError.CertificateValidityTooLong
+ The certificate has a validity period that is too long.
+ (Added in 5.7)
*/
QQuickWebEngineCertificateError::Error QQuickWebEngineCertificateError::error() const
{
diff --git a/src/webengine/api/qquickwebenginecontextmenudata.cpp b/src/webengine/api/qquickwebenginecontextmenudata.cpp
index 269d655a2..36315aebb 100644
--- a/src/webengine/api/qquickwebenginecontextmenudata.cpp
+++ b/src/webengine/api/qquickwebenginecontextmenudata.cpp
@@ -135,23 +135,23 @@ QUrl QQuickWebEngineContextMenuData::mediaUrl() const
}
/*!
- \qmlproperty MediaType WebEngineContextMenuData::mediaType
+ \qmlproperty enumeration WebEngineContextMenuData::mediaType
Returns the type of the media element or \c MediaTypeNone if the context is not a media element.
- \value MediaTypeNone
+ \value WebEngineContextMenuData.MediaTypeNone
The context is not a media element.
- \value MediaTypeImage
+ \value WebEngineContextMenuData.MediaTypeImage
The context is an image element
- \value MediaTypeVideo
+ \value WebEngineContextMenuData.MediaTypeVideo
The context is a video element
- \value MediaTypeAudio
+ \value WebEngineContextMenuData.MediaTypeAudio
The context is an audio element
- \value MediaTypeCanvas
+ \value WebEngineContextMenuData.MediaTypeCanvas
The context is a canvas element
- \value MediaTypeFile
+ \value WebEngineContextMenuData.MediaTypeFile
The context is a file
- \value MediaTypePlugin
+ \value WebEngineContextMenuData.MediaTypePlugin
The context is a plugin
*/
diff --git a/src/webengine/api/qquickwebenginedownloaditem.cpp b/src/webengine/api/qquickwebenginedownloaditem.cpp
index c0bca8977..f38af3923 100644
--- a/src/webengine/api/qquickwebenginedownloaditem.cpp
+++ b/src/webengine/api/qquickwebenginedownloaditem.cpp
@@ -179,13 +179,13 @@ quint32 QQuickWebEngineDownloadItem::id() const
Describes the state of the download:
- \value DownloadRequested
+ \value WebEngineDownloadItem.DownloadRequested
Download has been requested, but it has not been accepted yet.
- \value DownloadInProgress
+ \value WebEngineDownloadItem.DownloadInProgress
Download is in progress.
- \value DownloadCompleted
+ \value WebEngineDownloadItem.DownloadCompleted
Download completed successfully.
- \value DownloadInterrupted
+ \value WebEngineDownloadItem.DownloadInterrupted
Download has been interrupted (by the server or because of lost connectivity).
*/
@@ -273,12 +273,16 @@ void QQuickWebEngineDownloadItem::setPath(QString path)
Describes the format that is used to save a web page.
- \value UnknownSaveFormat This is not a request for downloading a complete web page.
- \value SingleHtmlSaveFormat The page is saved as a single HTML page. Resources such as images
- are not saved.
- \value CompleteHtmlSaveFormat The page is saved as a complete HTML page, for example a directory
+ \value WebEngineDownloadItem.UnknownSaveFormat
+ This is not a request for downloading a complete web page.
+ \value WebEngineDownloadItem.SingleHtmlSaveFormat
+ The page is saved as a single HTML page. Resources such as images
+ are not saved.
+ \value WebEngineDownloadItem.CompleteHtmlSaveFormat
+ The page is saved as a complete HTML page, for example a directory
containing the single HTML page and the resources.
- \value MimeHtmlSaveFormat The page is saved as a complete web page in the MIME HTML format.
+ \value WebEngineDownloadItem.MimeHtmlSaveFormat
+ The page is saved as a complete web page in the MIME HTML format.
*/
QQuickWebEngineDownloadItem::SavePageFormat QQuickWebEngineDownloadItem::savePageFormat() const
diff --git a/src/webengine/api/qquickwebengineloadrequest.cpp b/src/webengine/api/qquickwebengineloadrequest.cpp
index 74043c302..47ec17c16 100644
--- a/src/webengine/api/qquickwebengineloadrequest.cpp
+++ b/src/webengine/api/qquickwebengineloadrequest.cpp
@@ -97,9 +97,10 @@ QUrl QQuickWebEngineLoadRequest::url() const
This enumeration represents the load status of a web page load request:
- \value WebEngineView::LoadStartedStatus Page is currently loading.
- \value WebEngineView::LoadSucceededStatus Page has been loaded with success.
- \value WebEngineView::LoadFailedStatus Page could not be loaded.
+ \value WebEngineLoadRequest.LoadStartedStatus Page is currently loading.
+ \value WebEngineLoadRequest.LoadSucceededStatus
+ Page has been loaded with success.
+ \value WebEngineLoadRequest.LoadFailedStatus Page could not be loaded.
\sa WebEngineView::loadingChanged
*/
diff --git a/src/webengine/api/qquickwebengineprofile.cpp b/src/webengine/api/qquickwebengineprofile.cpp
index e4141c575..6633ee23b 100644
--- a/src/webengine/api/qquickwebengineprofile.cpp
+++ b/src/webengine/api/qquickwebengineprofile.cpp
@@ -467,13 +467,13 @@ void QQuickWebEngineProfile::setHttpUserAgent(const QString &userAgent)
This enumeration describes the type of the HTTP cache:
- \value MemoryHttpCache
+ \value WebEngineProfile.MemoryHttpCache
Uses an in-memory cache. This is the only setting possible if offTheRecord is set or
no persistentStoragePath is available.
- \value DiskHttpCache
+ \value WebEngineProfile.DiskHttpCache
Uses a disk cache. This is the default value.
- \value NoCache
- Disables caching.
+ \value WebEngineProfile.NoCache
+ Disables caching. (Added in 5.7)
*/
/*!
@@ -504,13 +504,13 @@ void QQuickWebEngineProfile::setHttpCacheType(QQuickWebEngineProfile::HttpCacheT
This enumeration describes the policy of cookie persistency:
- \value NoPersistentCookies
+ \value WebEngineProfile.NoPersistentCookies
Both session and persistent cookies are stored in memory. This is the only setting
possible if offTheRecord is set or no persistentStoragePath is available.
- \value AllowPersistentCookies
+ \value WebEngineProfile.AllowPersistentCookies
Cookies marked persistent are saved to and restored from disk, whereas session cookies
are only stored to disk for crash recovery. This is the default setting.
- \value ForcePersistentCookies
+ \value WebEngineProfile.ForcePersistentCookies
Both session and persistent cookies are saved to and restored from disk.
*/
diff --git a/src/webengine/api/qquickwebenginescript.cpp b/src/webengine/api/qquickwebenginescript.cpp
index 8802a40f6..a1c903df3 100644
--- a/src/webengine/api/qquickwebenginescript.cpp
+++ b/src/webengine/api/qquickwebenginescript.cpp
@@ -159,13 +159,13 @@ ASSERT_ENUMS_MATCH(QQuickWebEngineScript::DocumentCreation, UserScript::Document
The point in the loading process at which the script will be executed.
The default value is \c Deferred.
- \value DocumentCreation
+ \value WebEngineScript.DocumentCreation
The script will be executed as soon as the document is created. This is not suitable for
any DOM operation.
- \value DocumentReady
+ \value WebEngineScript.DocumentReady
The script will run as soon as the DOM is ready. This is equivalent to the
\c DOMContentLoaded event firing in JavaScript.
- \value Deferred
+ \value WebEngineScript.Deferred
The script will run when the page load finishes, or 500 ms after the document is ready,
whichever comes first.
*/
@@ -180,13 +180,13 @@ QQuickWebEngineScript::InjectionPoint QQuickWebEngineScript::injectionPoint() co
The world ID defining which isolated world the script is executed in.
- \value MainWorld
+ \value WebEngineScript.MainWorld
The world used by the page's web contents. It can be useful in order to expose custom
functionality to web contents in certain scenarios.
- \value ApplicationWorld
+ \value WebEngineScript.ApplicationWorld
The default isolated world used for application level functionality implemented in
JavaScript.
- \value UserWorld
+ \value WebEngineScript.UserWorld
The first isolated world to be used by scripts set by users if the application is not
making use of more worlds. As a rule of thumb, if that functionality is exposed to the
application users, each individual script should probably get its own isolated world.
diff --git a/src/webengine/api/qquickwebengineview.cpp b/src/webengine/api/qquickwebengineview.cpp
index 02484548b..a331716ee 100644
--- a/src/webengine/api/qquickwebengineview.cpp
+++ b/src/webengine/api/qquickwebengineview.cpp
@@ -1052,14 +1052,6 @@ void QQuickWebEngineView::setTestSupport(QQuickWebEngineTestSupport *testSupport
#endif
-/*!
- * \qmlproperty bool WebEngineView::activeFocusOnPress
- * \since QtWebEngine 1.2
- *
- * This property specifies whether the view should gain active focus when pressed.
- * The default value is true.
- *
- */
bool QQuickWebEngineView::activeFocusOnPress() const
{
Q_D(const QQuickWebEngineView);
@@ -1222,18 +1214,6 @@ qreal QQuickWebEngineView::zoomFactor() const
return d->adapter->currentZoomFactor();
}
-/*!
- \qmlproperty bool WebEngineView::backgroundColor
- \since QtWebEngine 1.2
-
- Sets this property to change the color of the WebEngineView's background,
- behing the document's body. You can set it to "transparent" or to a translucent
- color to see through the document, or you can set this color to match your
- web content in an hybrid app to prevent the white flashes that may appear
- during loading.
-
- The default value is white.
-*/
QColor QQuickWebEngineView::backgroundColor() const
{
Q_D(const QQuickWebEngineView);
diff --git a/src/webengine/doc/src/qtwebengine-deploying.qdoc b/src/webengine/doc/src/qtwebengine-deploying.qdoc
index 4aa57c0df..b6b91f2e9 100644
--- a/src/webengine/doc/src/qtwebengine-deploying.qdoc
+++ b/src/webengine/doc/src/qtwebengine-deploying.qdoc
@@ -29,16 +29,123 @@
\page qtwebengine-deploying.html
\title Deploying Qt WebEngine Applications
- Qt WebEngine takes advantage of the multi process model that the Chromium
- project offers. The multi process model requires the QtWebEngineProcess
- executable to be deployed alongside your application. To do this, we
- recommend the use of Qt's cross-platform deployment tools.
-
- Alternatively, if you are carrying out manual deployment, you will find the
- QtWebEngineProcess executable in the libexec directory of your Qt
- installation. On Windows, QtWebEngineProcess.exe is located in the bin
- directory of your Qt application.
-
- For more information on deploying Qt applications, please see
- \l {Deploying Qt Applications}.
+ The way to package and deploy applications varies between operating systems.
+ For Windows and macOS, \l{The Windows Deployment Tool}{windeployqt} and
+ \l{Deploying Applications on OS X}{macdeployqt} automate the steps to
+ generate a stand-alone application package.
+
+ When manually deploying applications that depend on Qt WebEngine, all the
+ files that are required to run the application have to be included:
+ libraries, QML imports, plugins, and translations.
+
+ For more information, see \l {Deploying Qt Applications}.
+
+ \section1 Target Platforms
+
+ Qt WebEngine does try to support all \l{Supported Platforms} of Qt. However,
+ due to different requirements of Chromium this is not always possible. Known
+ limitations are:
+
+ \list
+ \li Qt WebEngine currently supports only Windows, Linux, and macOS.
+
+ \li On Windows, Qt WebEngine only supports Windows Vista or newer as
+ target platform. Due to use of newer API in Chromium, Windows XP is
+ not supported. WinRT is not supported, either.
+ \endlist
+
+ \section1 Deploying Applications Manually
+
+ When manually deploying applications that depend on Qt WebEngine, the
+ following files might have to be deployed:
+
+ \list
+ \li Libraries
+ \li QML imports
+ \li Qt WebEngine process
+ \li Resources
+ \li Translations
+ \li Audio and video codecs
+ \endlist
+
+ \section2 Deploying Libraries
+
+ The following libraries must be deployed with applications that depend on
+ Qt WebEngine:
+
+ \list
+ \li QtWebEngineCore library
+ \li QtWebEngineWidgets or QtWebEngine libraries, depending on
+ application type
+ \endlist
+
+ \section2 Deploying QML Imports
+
+ If Qt Quick integration is used in the application, the QtWebEngine import
+ directory needs to be deployed.
+
+ \section2 Deploying Qt WebEngine Processes
+
+ Qt WebEngine takes advantage of the multi-process model that the Chromium
+ project offers. The multi-process model requires that the Qt WebEngine
+ Process executable be deployed alongside your application.
+
+ The WebEngine process is executed for each QWebEngineView or WebEngineView
+ instance. For example, a browser application
+ with two tabs open should have two separate instances of the process
+ running. This is a common approach used by most modern web engines to
+ provide a stable browsing experience.
+
+ At runtime, Qt WebEngine looks for the \c QtWebEngineProcess executable in
+ the directory that
+ QLibraryInfo::location(QLibraryInfo::LibraryExecutablesPath) returns.
+ For Qt installations, this is \c QTDIR/libexec (Linux) or \c QTDIR\bin
+ (Windows). The path can be changed by defining a \c qt.conf file, for
+ example. Alternatively, an executable path can be set as a value of the
+ \c QTWEBENGINEPROCESS_PATH environment variable. On macOS, Qt WebEngine
+ looks for the executable in \c .app/Helpers/QtWebEngineProcess.
+
+ \section2 Deploying Resources
+
+ Qt WebEngine requires the following resource files:
+
+ \list
+ \li \c qtwebengine_resources.pak contains the resources needed by
+ Chromium.
+ \li \c qtwebengine_devtools_resources.pak contains tools for remote
+ debugging.
+ \li \c qtwebengine_resources_100p.pak contains images suitable for low
+ resolution displays.
+ \li \c qtwebengine_resources_200p.pak contains images suitable for high
+ DPI displays.
+ \li \c icudtl.dat provides support for International Components for
+ Unicode (ICU). It is the Chromium version of ICU, which is not
+ needed if Qt WebEngine was configured to use the system ICU.
+ \endlist
+
+ Resources are searched from the following locations:
+
+ \list
+ \li On Linux and Windows: the \c resources directory in the directory
+ specified by QLibraryInfo::location(QLibraryInfo::DataPath)
+ \li On macOS: \c .app/Content/Resources
+ \endlist
+
+ \section2 Translations
+
+ Locale data (such as \c en-US.pak) is searched form the following locations:
+
+ \list
+ \li On macOS: \c .app/Content/Resources
+ \li On Linux and Windows: \c qtwebengine_locales directory in the
+ directory specified by
+ QLibraryInfo::location(QLibraryInfo::TranslationsPath)
+ \endlist
+
+ \section2 Deploying Audio and Video Codecs
+
+ To support HTML5 video, you must additionally deploy
+ \c ffmpegsumo.dll (WebM codec plugin) into the \c qtwebengine directory
+ under the application install path or under the path that the
+ \c PluginsPath variable was set to in \c qt.conf.
*/
diff --git a/src/webengine/doc/src/qtwebengine-overview.qdoc b/src/webengine/doc/src/qtwebengine-overview.qdoc
index f34b4514b..6b5ccaa14 100644
--- a/src/webengine/doc/src/qtwebengine-overview.qdoc
+++ b/src/webengine/doc/src/qtwebengine-overview.qdoc
@@ -203,6 +203,31 @@
If a proxy requires authentication, QWebEnginePage::proxyAuthenticationRequired is emitted.
For Qt Quick, a dialog is shown.
+ \section1 High DPI Support
+
+ To support High DPI devices, it is recommended that the application attribute
+ Qt::AA_EnableHighDpiScaling is set to enable automatic scaling based on the
+ pixel density of the monitor. In Qt WebEngine applications, the scaling
+ affects the default zooming factor and scrollbar size.
+
+ For example:
+
+ \code
+ int main(int argc, char *argv[])
+ {
+ QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
+ QApplication app(argc, argv);
+ // ...
+ }
+ \endcode
+
+ Qt WebEngine bundles images for normal and high-dpi resolutions into
+ \e qtwebengine_resources_100p.pak and \e qtwebengine_resources_200p.pak
+ files. Depending on the target resolutions, one or both of these files need
+ to be deployed.
+
+ For more information, see \l{High DPI Displays}.
+
\section1 Using WebEngine Core
Qt WebEngine Core provides an API shared by Qt WebEngine and Qt WebEngine Widgets for handling
diff --git a/src/webengine/doc/src/qtwebengine-platform-notes.qdoc b/src/webengine/doc/src/qtwebengine-platform-notes.qdoc
index b66e7874d..9a59f1f1f 100644
--- a/src/webengine/doc/src/qtwebengine-platform-notes.qdoc
+++ b/src/webengine/doc/src/qtwebengine-platform-notes.qdoc
@@ -31,19 +31,6 @@
\brief Contains information about issues that are specific to the Qt WebEngine module.
- \section1 Target Platforms
-
- Qt WebEngine does try to support all \l{Supported Platforms} of Qt. However, due to
- different requirements of Chromium this is not always possible. Known limitations are:
-
- \list
- \li Qt WebEngine currently supports only Windows, Linux, and OS X.
-
- \li On Windows, Qt WebEngine only supports Windows Vista or newer as target platform.
- Due to use of newer API in Chromium, Windows XP is not supported. WinRT is
- not supported, either.
- \endlist
-
\section1 Building Qt WebEngine from Source
Static builds are not supported.
diff --git a/src/webengine/doc/src/qtwebengine-qmlmodule.qdoc b/src/webengine/doc/src/qtwebengine-qmlmodule.qdoc
index 9d22d3f36..c67851a2a 100644
--- a/src/webengine/doc/src/qtwebengine-qmlmodule.qdoc
+++ b/src/webengine/doc/src/qtwebengine-qmlmodule.qdoc
@@ -28,6 +28,7 @@
\title Qt WebEngine QML Types
\brief Provides QML types for rendering web content within a QML application
\ingroup qtwebengine-modules
+ \ingroup qmlmodules
The QML types can be imported into your application using the following import statements in
your .qml file:
diff --git a/src/webengine/doc/src/webengineview.qdoc b/src/webengine/doc/src/webengineview.qdoc
index 938545d79..d2c239341 100644
--- a/src/webengine/doc/src/webengineview.qdoc
+++ b/src/webengine/doc/src/webengineview.qdoc
@@ -646,18 +646,18 @@
Describes various high-level error types:
- \value WebEngineView::NoErrorDomain
- \value WebEngineView::InternalErrorDomain
+ \value WebEngineView.NoErrorDomain
+ \value WebEngineView.InternalErrorDomain
Content fails to be interpreted by Qt WebEngine.
- \value WebEngineView::ConnectionErrorDomain
+ \value WebEngineView.ConnectionErrorDomain
Error results from faulty network connection.
- \value WebEngineView::CertificateErrorDomain
+ \value WebEngineView.CertificateErrorDomain
Error related to the SSL/TLS certficate.
- \value WebEngineView::HttpErrorDomain
+ \value WebEngineView.HttpErrorDomain
Error related to the HTTP connection.
- \value WebEngineView::FtpErrorDomain
+ \value WebEngineView.FtpErrorDomain
Error related to the FTP connection.
- \value WebEngineView::DnsErrorDomain
+ \value WebEngineView.DnsErrorDomain
Error related to the DNS connection.
*/
@@ -666,11 +666,11 @@
Indicates the severity of a JavaScript console message:
- \value InfoMessageLevel
+ \value WebEngineView.InfoMessageLevel
Message is purely informative and can safely be ignored.
- \value WarningMessageLevel
+ \value WebEngineView.WarningMessageLevel
Message indicates there might be a problem that may need attention.
- \value ErrorMessageLevel
+ \value WebEngineView.ErrorMessageLevel
Message indicates there has been an error.
*/
@@ -679,11 +679,11 @@
Reflects a page's load status:
- \value LoadStartedStatus
+ \value WebEngineView.LoadStartedStatus
Page is currently loading.
- \value LoadSucceededStatus
+ \value WebEngineView.LoadSucceededStatus
Page has successfully loaded, and is not currently loading.
- \value LoadFailedStatus
+ \value WebEngineView.LoadFailedStatus
Page has failed to load, and is not currently loading.
*/
@@ -692,16 +692,16 @@
Describes how to open a new view:
- \value WebEngineView::NewViewInWindow
+ \value WebEngineView.NewViewInWindow
In a separate Window.
- \value WebEngineView::NewViewInTab
+ \value WebEngineView.NewViewInTab
In a tab of the same window.
- \value WebEngineView::NewViewInDialog
+ \value WebEngineView.NewViewInDialog
In a Window without a tab bar, toolbar, or URL bar.
- \value WebEngineView::NewViewInBackgroundTab
+ \value WebEngineView.NewViewInBackgroundTab
In a tab of the same window, without hiding the currently visible web engine view.
- \sa WebEngineNewViewRequest::destination
+ \sa {WebEngineNewViewRequest::destination}{WebEngineNewViewRequest.destination}
*/
/*!
@@ -710,8 +710,10 @@
Describes the options available to the findText() function. The options
can be OR-ed together from the following list:
- \value FindBackward Searches backwards instead of forwards.
- \value FindCaseSensitively By default findText() works case insensitive. Specifying
+ \value WebEngineView.FindBackward
+ Searches backwards instead of forwards.
+ \value WebEngineView.FindFlags FindCaseSensitively
+ By default findText() works case insensitive. Specifying
this option changes the behavior to a case sensitive find operation.
\sa findText()
@@ -723,13 +725,13 @@
Describes the status with which the render process terminated:
- \value NormalTerminationStatus
+ \value WebEngineView.NormalTerminationStatus
The render process terminated normally.
- \value AbnormalTerminationStatus
+ \value WebEngineView.AbnormalTerminationStatus
The render process terminated with a non-zero exit status.
- \value CrashedTerminationStatus
+ \value WebEngineView.CrashedTerminationStatus
The render process crashed, for example because of a segmentation fault.
- \value KilledTerminationStatus
+ \value WebEngineView.KilledTerminationStatus
The render process was killed, for example by \c SIGKILL or task manager kill.
*/
@@ -739,68 +741,68 @@
Describes the types of action that can be performed on a web page:
- \value NoWebAction
+ \value WebEngineView.NoWebAction
No action is triggered.
- \value Back
+ \value WebEngineView.Back
Navigate back in the history of navigated links.
- \value Forward
+ \value WebEngineView.Forward
Navigate forward in the history of navigated links.
- \value Stop
+ \value WebEngineView.Stop
Stop loading the current page.
- \value Reload
+ \value WebEngineView.Reload
Reload the current page.
- \value ReloadAndBypassCache
+ \value WebEngineView.ReloadAndBypassCache
Reload the current page, but do not use any local cache.
- \value Cut
+ \value WebEngineView.Cut
Cut the content currently selected into the clipboard.
- \value Copy
+ \value WebEngineView.Copy
Copy the content currently selected into the clipboard.
- \value Paste
+ \value WebEngineView.Paste
Paste content from the clipboard.
- \value Undo
+ \value WebEngineView.Undo
Undo the last editing action.
- \value Redo
+ \value WebEngineView.Redo
Redo the last editing action.
- \value SelectAll
+ \value WebEngineView.SelectAll
Select all content.
- \value PasteAndMatchStyle
+ \value WebEngineView.PasteAndMatchStyle
Paste content from the clipboard with current style.
- \value OpenLinkInThisWindow
+ \value WebEngineView.OpenLinkInThisWindow
Open the current link in the current window. (Added in Qt 5.6)
- \value OpenLinkInNewWindow
+ \value WebEngineView.OpenLinkInNewWindow
Open the current link in a new window. (Added in Qt 5.6)
- \value OpenLinkInNewTab
+ \value WebEngineView.OpenLinkInNewTab
Open the current link in a new tab. (Added in Qt 5.6)
- \value CopyLinkToClipboard
+ \value WebEngineView.CopyLinkToClipboard
Copy the current link to the clipboard. (Added in Qt 5.6)
- \value CopyImageToClipboard
+ \value WebEngineView.CopyImageToClipboard
Copy the clicked image to the clipboard. (Added in Qt 5.6)
- \value CopyImageUrlToClipboard
+ \value WebEngineView.CopyImageUrlToClipboard
Copy the clicked image's URL to the clipboard. (Added in Qt 5.6)
- \value CopyMediaUrlToClipboard
+ \value WebEngineView.CopyMediaUrlToClipboard
Copy the hovered audio or video's URL to the clipboard. (Added in Qt 5.6)
- \value ToggleMediaControls
+ \value WebEngineView.ToggleMediaControls
Toggle between showing and hiding the controls for the hovered audio or video element.
(Added in Qt 5.6)
- \value ToggleMediaLoop
+ \value WebEngineView.ToggleMediaLoop
Toggle whether the hovered audio or video should loop on completetion or not.
(Added in Qt 5.6)
- \value ToggleMediaPlayPause
+ \value WebEngineView.ToggleMediaPlayPause
Toggle the play/pause state of the hovered audio or video element. (Added in Qt 5.6)
- \value ToggleMediaMute
+ \value WebEngineView.ToggleMediaMute
Mute or unmute the hovered audio or video element. (Added in Qt 5.6)
- \value DownloadLinkToDisk
+ \value WebEngineView.DownloadLinkToDisk
Download the current link to the disk. To implement download
actions, connect to the QWebEngineProfile::downloadRequested signal.
(Added in Qt 5.6)
- \value DownloadImageToDisk
+ \value WebEngineView.DownloadImageToDisk
Download the highlighted image to the disk. (Added in Qt 5.6)
- \value DownloadMediaToDisk
+ \value WebEngineView.DownloadMediaToDisk
Download the hovered audio or video to the disk. (Added in Qt 5.6)
- \value InspectElement
+ \value WebEngineView.InspectElement
Trigger any attached Web Inspector to inspect the highlighed element.
(Added in Qt 5.6)
- \value ExitFullScreen
+ \value WebEngineView.ExitFullScreen
Exit the fullscreen mode. (Added in Qt 5.6)
\value SavePage
Save the current web page to disk. (Added in Qt 5.7)
@@ -814,13 +816,13 @@
Describes the platform feature access categories that the user may be asked to grant or deny
access to:
- \value Geolocation
+ \value WebEngineView.Geolocation
Location hardware or service.
- \value MediaAudioCapture
+ \value WebEngineView.MediaAudioCapture
Audio capture devices, such as microphones.
- \value MediaVideoCapture
+ \value WebEngineView.MediaVideoCapture
Video devices, such as cameras.
- \value MediaAudioVideoCapture
+ \value WebEngineView.MediaAudioVideoCapture
Both audio and video capture devices.
\sa featurePermissionRequested(), grantFeaturePermission()
@@ -838,131 +840,131 @@
The defined sizes are:
- \value A0 841 x 1189 mm
- \value A1 594 x 841 mm
- \value A2 420 x 594 mm
- \value A3 297 x 420 mm
- \value A4 210 x 297 mm, 8.26 x 11.69 inches
- \value A5 148 x 210 mm
- \value A6 105 x 148 mm
- \value A7 74 x 105 mm
- \value A8 52 x 74 mm
- \value A9 37 x 52 mm
- \value B0 1000 x 1414 mm
- \value B1 707 x 1000 mm
- \value B2 500 x 707 mm
- \value B3 353 x 500 mm
- \value B4 250 x 353 mm
- \value B5 176 x 250 mm, 6.93 x 9.84 inches
- \value B6 125 x 176 mm
- \value B7 88 x 125 mm
- \value B8 62 x 88 mm
- \value B9 44 x 62 mm
- \value B10 31 x 44 mm
- \value C5E 163 x 229 mm
- \value Comm10E 105 x 241 mm, U.S. Common 10 Envelope
- \value DLE 110 x 220 mm
- \value Executive 7.5 x 10 inches, 190.5 x 254 mm
- \value Folio 210 x 330 mm
- \value Ledger 431.8 x 279.4 mm
- \value Legal 8.5 x 14 inches, 215.9 x 355.6 mm
- \value Letter 8.5 x 11 inches, 215.9 x 279.4 mm
- \value Tabloid 279.4 x 431.8 mm
- \value Custom Unknown, or a user defined size.
- \value A10
- \value A3Extra
- \value A4Extra
- \value A4Plus
- \value A4Small
- \value A5Extra
- \value B5Extra
- \value JisB0
- \value JisB1
- \value JisB2
- \value JisB3
- \value JisB4
- \value JisB5
- \value JisB6
- \value JisB7
- \value JisB8
- \value JisB9
- \value JisB10
- \value AnsiA = \c Letter
- \value AnsiB = \c Ledger
- \value AnsiC
- \value AnsiD
- \value AnsiE
- \value LegalExtra
- \value LetterExtra
- \value LetterPlus
- \value LetterSmall
- \value TabloidExtra
- \value ArchA
- \value ArchB
- \value ArchC
- \value ArchD
- \value ArchE
- \value Imperial7x9
- \value Imperial8x10
- \value Imperial9x11
- \value Imperial9x12
- \value Imperial10x11
- \value Imperial10x13
- \value Imperial10x14
- \value Imperial12x11
- \value Imperial15x11
- \value ExecutiveStandard
- \value Note
- \value Quarto
- \value Statement
- \value SuperA
- \value SuperB
- \value Postcard
- \value DoublePostcard
- \value Prc16K
- \value Prc32K
- \value Prc32KBig
- \value FanFoldUS
- \value FanFoldGerman
- \value FanFoldGermanLegal
- \value EnvelopeB4
- \value EnvelopeB5
- \value EnvelopeB6
- \value EnvelopeC0
- \value EnvelopeC1
- \value EnvelopeC2
- \value EnvelopeC3
- \value EnvelopeC4
- \value EnvelopeC5 = \c C5E
- \value EnvelopeC6
- \value EnvelopeC65
- \value EnvelopeC7
- \value EnvelopeDL = \c DLE
- \value Envelope9
- \value Envelope10 = \c Comm10E
- \value Envelope11
- \value Envelope12
- \value Envelope14
- \value EnvelopeMonarch
- \value EnvelopePersonal
- \value EnvelopeChou3
- \value EnvelopeChou4
- \value EnvelopeInvite
- \value EnvelopeItalian
- \value EnvelopeKaku2
- \value EnvelopeKaku3
- \value EnvelopePrc1
- \value EnvelopePrc2
- \value EnvelopePrc3
- \value EnvelopePrc4
- \value EnvelopePrc5
- \value EnvelopePrc6
- \value EnvelopePrc7
- \value EnvelopePrc8
- \value EnvelopePrc9
- \value EnvelopePrc10
- \value EnvelopeYou4
- \value LastPageSize = \c EnvelopeYou4
+ \value WebEngineView.A0 841 x 1189 mm
+ \value WebEngineView.A1 594 x 841 mm
+ \value WebEngineView.A2 420 x 594 mm
+ \value WebEngineView.A3 297 x 420 mm
+ \value WebEngineView.A4 210 x 297 mm, 8.26 x 11.69 inches
+ \value WebEngineView.A5 148 x 210 mm
+ \value WebEngineView.A6 105 x 148 mm
+ \value WebEngineView.A7 74 x 105 mm
+ \value WebEngineView.A8 52 x 74 mm
+ \value WebEngineView.A9 37 x 52 mm
+ \value WebEngineView.B0 1000 x 1414 mm
+ \value WebEngineView.B1 707 x 1000 mm
+ \value WebEngineView.B2 500 x 707 mm
+ \value WebEngineView.B3 353 x 500 mm
+ \value WebEngineView.B4 250 x 353 mm
+ \value WebEngineView.B5 176 x 250 mm, 6.93 x 9.84 inches
+ \value WebEngineView.B6 125 x 176 mm
+ \value WebEngineView.B7 88 x 125 mm
+ \value WebEngineView.B8 62 x 88 mm
+ \value WebEngineView.B9 44 x 62 mm
+ \value WebEngineView.B10 31 x 44 mm
+ \value WebEngineView.C5E 163 x 229 mm
+ \value WebEngineView.Comm10E 105 x 241 mm, U.S. Common 10 Envelope
+ \value WebEngineView.DLE 110 x 220 mm
+ \value WebEngineView.Executive 7.5 x 10 inches, 190.5 x 254 mm
+ \value WebEngineView.Folio 210 x 330 mm
+ \value WebEngineView.Ledger 431.8 x 279.4 mm
+ \value WebEngineView.Legal 8.5 x 14 inches, 215.9 x 355.6 mm
+ \value WebEngineView.Letter 8.5 x 11 inches, 215.9 x 279.4 mm
+ \value WebEngineView.Tabloid 279.4 x 431.8 mm
+ \value WebEngineView.Custom Unknown, or a user defined size.
+ \value WebEngineView.A10
+ \value WebEngineView.A3Extra
+ \value WebEngineView.A4Extra
+ \value WebEngineView.A4Plus
+ \value WebEngineView.A4Small
+ \value WebEngineView.A5Extra
+ \value WebEngineView.B5Extra
+ \value WebEngineView.JisB0
+ \value WebEngineView.JisB1
+ \value WebEngineView.JisB2
+ \value WebEngineView.JisB3
+ \value WebEngineView.JisB4
+ \value WebEngineView.JisB5
+ \value WebEngineView.JisB6
+ \value WebEngineView.JisB7
+ \value WebEngineView.JisB8
+ \value WebEngineView.JisB9
+ \value WebEngineView.JisB10
+ \value WebEngineView.AnsiA = \c Letter
+ \value WebEngineView.AnsiB = \c Ledger
+ \value WebEngineView.AnsiC
+ \value WebEngineView.AnsiD
+ \value WebEngineView.AnsiE
+ \value WebEngineView.LegalExtra
+ \value WebEngineView.LetterExtra
+ \value WebEngineView.LetterPlus
+ \value WebEngineView.LetterSmall
+ \value WebEngineView.TabloidExtra
+ \value WebEngineView.ArchA
+ \value WebEngineView.ArchB
+ \value WebEngineView.ArchC
+ \value WebEngineView.ArchD
+ \value WebEngineView.ArchE
+ \value WebEngineView.Imperial7x9
+ \value WebEngineView.Imperial8x10
+ \value WebEngineView.Imperial9x11
+ \value WebEngineView.Imperial9x12
+ \value WebEngineView.Imperial10x11
+ \value WebEngineView.Imperial10x13
+ \value WebEngineView.Imperial10x14
+ \value WebEngineView.Imperial12x11
+ \value WebEngineView.Imperial15x11
+ \value WebEngineView.ExecutiveStandard
+ \value WebEngineView.Note
+ \value WebEngineView.Quarto
+ \value WebEngineView.Statement
+ \value WebEngineView.SuperA
+ \value WebEngineView.SuperB
+ \value WebEngineView.Postcard
+ \value WebEngineView.DoublePostcard
+ \value WebEngineView.Prc16K
+ \value WebEngineView.Prc32K
+ \value WebEngineView.Prc32KBig
+ \value WebEngineView.FanFoldUS
+ \value WebEngineView.FanFoldGerman
+ \value WebEngineView.FanFoldGermanLegal
+ \value WebEngineView.EnvelopeB4
+ \value WebEngineView.EnvelopeB5
+ \value WebEngineView.EnvelopeB6
+ \value WebEngineView.EnvelopeC0
+ \value WebEngineView.EnvelopeC1
+ \value WebEngineView.EnvelopeC2
+ \value WebEngineView.EnvelopeC3
+ \value WebEngineView.EnvelopeC4
+ \value WebEngineView.EnvelopeC5 = \c C5E
+ \value WebEngineView.EnvelopeC6
+ \value WebEngineView.EnvelopeC65
+ \value WebEngineView.EnvelopeC7
+ \value WebEngineView.EnvelopeDL = \c DLE
+ \value WebEngineView.Envelope9
+ \value WebEngineView.Envelope10 = \c Comm10E
+ \value WebEngineView.Envelope11
+ \value WebEngineView.Envelope12
+ \value WebEngineView.Envelope14
+ \value WebEngineView.EnvelopeMonarch
+ \value WebEngineView.EnvelopePersonal
+ \value WebEngineView.EnvelopeChou3
+ \value WebEngineView.EnvelopeChou4
+ \value WebEngineView.EnvelopeInvite
+ \value WebEngineView.EnvelopeItalian
+ \value WebEngineView.EnvelopeKaku2
+ \value WebEngineView.EnvelopeKaku3
+ \value WebEngineView.EnvelopePrc1
+ \value WebEngineView.EnvelopePrc2
+ \value WebEngineView.EnvelopePrc3
+ \value WebEngineView.EnvelopePrc4
+ \value WebEngineView.EnvelopePrc5
+ \value WebEngineView.EnvelopePrc6
+ \value WebEngineView.EnvelopePrc7
+ \value WebEngineView.EnvelopePrc8
+ \value WebEngineView.EnvelopePrc9
+ \value WebEngineView.EnvelopePrc10
+ \value WebEngineView.EnvelopeYou4
+ \value WebEngineView.LastPageSize = \c EnvelopeYou4
\omitvalue NPageSize
\omitvalue NPaperSize
@@ -976,16 +978,36 @@
Describes the orientation of a PDF document that gets created from the WebEngineView's contents.
The enumeration values are mapped from and must match QPageLayout::Orientation.
- \value Portrait
+ \value WebEngineView.Portrait
The document will be created using portrait orientation.
- \value Landscape
+ \value WebEngineView.Landscape
The document will be created using landscape orientation.
\sa WebEngineView::printToPdf()
*/
/*!
+ \qmlproperty bool WebEngineView::activeFocusOnPress
+ \since QtWebEngine 1.2
+
+ Specifies whether the view should gain active focus when pressed.
+ The default value is \c true.
+*/
+
+/*!
+ \qmlproperty bool WebEngineView::backgroundColor
+ \since QtWebEngine 1.2
+
+ Changes the color of the WebEngineView's background, behind the document's
+ body. Can be set to \c "transparent" or to a translucent color to see
+ through the document or to match the web content in a hybrid app to prevent
+ the white flashes that may appear during loading.
+
+ The default value is white.
+*/
+
+/*!
\qmltype WebEngineFullScreenRequest
\instantiates QQuickWebEngineFullScreenRequest
\inqmlmodule QtWebEngine
diff --git a/src/webengine/render_widget_host_view_qt_delegate_quick.cpp b/src/webengine/render_widget_host_view_qt_delegate_quick.cpp
index c04e20a5e..c17c6da06 100644
--- a/src/webengine/render_widget_host_view_qt_delegate_quick.cpp
+++ b/src/webengine/render_widget_host_view_qt_delegate_quick.cpp
@@ -136,7 +136,7 @@ void RenderWidgetHostViewQtDelegateQuick::setKeyboardFocus()
bool RenderWidgetHostViewQtDelegateQuick::hasKeyboardFocus()
{
- return hasFocus();
+ return hasActiveFocus();
}
void RenderWidgetHostViewQtDelegateQuick::lockMouse()
diff --git a/tests/auto/widgets/qwebenginepage/BLACKLIST b/tests/auto/widgets/qwebenginepage/BLACKLIST
index 9900a7345..b1e09777c 100644
--- a/tests/auto/widgets/qwebenginepage/BLACKLIST
+++ b/tests/auto/widgets/qwebenginepage/BLACKLIST
@@ -8,4 +8,4 @@
osx
[getUserMediaRequest]
-windows
+*
diff --git a/tools/qmake/config.tests/libcap/libcap.cpp b/tools/qmake/config.tests/libcap/libcap.cpp
deleted file mode 100644
index 59313970a..000000000
--- a/tools/qmake/config.tests/libcap/libcap.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtWebEngine module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <sys/capability.h>
-
-int main(int, char **)
-{
- cap_t cap = cap_get_proc();
- const char *text = cap_to_text(cap, 0);
- return 0;
-}
diff --git a/tools/qmake/config.tests/libcap/libcap.pro b/tools/qmake/config.tests/libcap/libcap.pro
deleted file mode 100644
index 2c688f809..000000000
--- a/tools/qmake/config.tests/libcap/libcap.pro
+++ /dev/null
@@ -1,3 +0,0 @@
-linux: SOURCES += libcap.cpp
-LIBS += -lcap
-CONFIG -= qt
diff --git a/tools/qmake/mkspecs/features/configure.prf b/tools/qmake/mkspecs/features/configure.prf
index 044fa94aa..9663c1072 100644
--- a/tools/qmake/mkspecs/features/configure.prf
+++ b/tools/qmake/mkspecs/features/configure.prf
@@ -21,8 +21,6 @@ defineTest(runConfigure) {
}
linux {
- # libcap-dev package doesn't ship .pc files on Ubuntu.
- !config_libcap:skipBuild("libcap development package appears to be missing")
!config_khr:skipBuild("khronos development headers appear to be missing (mesa/libegl1-mesa-dev)")
REQUIRED_PACKAGES = dbus-1 fontconfig
diff --git a/tools/qmake/mkspecs/features/functions.prf b/tools/qmake/mkspecs/features/functions.prf
index ab9593bf9..c8c8e0cc8 100644
--- a/tools/qmake/mkspecs/features/functions.prf
+++ b/tools/qmake/mkspecs/features/functions.prf
@@ -50,6 +50,10 @@ defineTest(isPlatformSupported) {
skipBuild("C++11 support is required in order to build chromium.")
return(false)
}
+ contains(QT_CONFIG, mirclient) {
+ skipBuild("Mir is not yet supported as graphics backend for Qt WebEngine.")
+ return(false)
+ }
static {
skipBuild("Static builds of QtWebEngine aren't supported.")
return(false)