diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/core/delegated_frame_node.cpp | 2 | ||||
-rw-r--r-- | src/webengine/api/qquickwebenginecertificateerror.cpp | 47 | ||||
-rw-r--r-- | src/webengine/api/qquickwebenginecontextmenudata.cpp | 16 | ||||
-rw-r--r-- | src/webengine/api/qquickwebenginedownloaditem.cpp | 22 | ||||
-rw-r--r-- | src/webengine/api/qquickwebengineloadrequest.cpp | 7 | ||||
-rw-r--r-- | src/webengine/api/qquickwebengineprofile.cpp | 14 | ||||
-rw-r--r-- | src/webengine/api/qquickwebenginescript.cpp | 12 | ||||
-rw-r--r-- | src/webengine/api/qquickwebengineview.cpp | 20 | ||||
-rw-r--r-- | src/webengine/doc/src/qtwebengine-deploying.qdoc | 131 | ||||
-rw-r--r-- | src/webengine/doc/src/qtwebengine-overview.qdoc | 25 | ||||
-rw-r--r-- | src/webengine/doc/src/qtwebengine-platform-notes.qdoc | 13 | ||||
-rw-r--r-- | src/webengine/doc/src/qtwebengine-qmlmodule.qdoc | 1 | ||||
-rw-r--r-- | src/webengine/doc/src/webengineview.qdoc | 390 | ||||
-rw-r--r-- | src/webengine/render_widget_host_view_qt_delegate_quick.cpp | 2 |
14 files changed, 423 insertions, 279 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() |