diff options
Diffstat (limited to 'src/webengine/doc/src')
-rw-r--r-- | src/webengine/doc/src/external-resources.qdoc | 146 | ||||
-rw-r--r-- | src/webengine/doc/src/qtwebengine-debugging.qdoc | 117 | ||||
-rw-r--r-- | src/webengine/doc/src/qtwebengine-deploying.qdoc | 158 | ||||
-rw-r--r-- | src/webengine/doc/src/qtwebengine-examples.qdoc | 40 | ||||
-rw-r--r-- | src/webengine/doc/src/qtwebengine-features.qdoc | 644 | ||||
-rw-r--r-- | src/webengine/doc/src/qtwebengine-index.qdoc | 65 | ||||
-rw-r--r-- | src/webengine/doc/src/qtwebengine-module.qdoc | 46 | ||||
-rw-r--r-- | src/webengine/doc/src/qtwebengine-modules.qdoc | 48 | ||||
-rw-r--r-- | src/webengine/doc/src/qtwebengine-overview.qdoc | 315 | ||||
-rw-r--r-- | src/webengine/doc/src/qtwebengine-platform-notes.qdoc | 237 | ||||
-rw-r--r-- | src/webengine/doc/src/qtwebengine-qmlmodule.qdoc | 48 | ||||
-rw-r--r-- | src/webengine/doc/src/qwebengine-licensing.qdoc | 53 | ||||
-rw-r--r-- | src/webengine/doc/src/webengineview_lgpl.qdoc | 1640 |
13 files changed, 0 insertions, 3557 deletions
diff --git a/src/webengine/doc/src/external-resources.qdoc b/src/webengine/doc/src/external-resources.qdoc deleted file mode 100644 index 7878ed9f8..000000000 --- a/src/webengine/doc/src/external-resources.qdoc +++ /dev/null @@ -1,146 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:FDL$ -** 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 Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \externalpage http://www.chromium.org - \title Chromium Project -*/ - -/*! - \externalpage https://developers.google.com/web/tools/chrome-devtools - \title Chrome DevTools -*/ - -/*! - \externalpage https://developers.google.com/web/tools/javascript/console/console-write - \title Chrome console API -*/ - -/*! - \externalpage http://ffmpeg.org/ - \title FFmpeg -*/ - -/*! - \externalpage http://www.openh264.org/ - \title OpenH264 Project Homepage -*/ - -/*! - \externalpage http://html5demos.com/drag - \title HTML5 Demos - Drag and Drop -*/ - -/*! - \externalpage http://html5demos.com/drag-anything - \title HTML5 Demos - Simple Drag and Drop -*/ - -/*! - \externalpage http://html5demos.com/dnd-upload - \title HTML5 Demos - Drag and Drop, Automatic Upload -*/ - -/*! - \externalpage http://html5demos.com/file-api - \title HTML5 Demos - File API -*/ - -/*! - \externalpage http://www.widevine.com - \title Widevine CDM -*/ - -/*! - \externalpage http://demo.castlabs.com/ - \title castLabs -*/ - -/*! - \externalpage http://ssdemo04.swankmp.net/ - \title Swank Motion Pictures, Inc. -*/ - -/*! - \externalpage https://bitmovin.com/demos/drm - \title Bitmovin Player -*/ - -/*! - \externalpage https://sourceforge.net/projects/hunspell/ - \title Hunspell Project -*/ - -/*! - \externalpage https://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1 - \title RFC 2616 section 19.5.1 -*/ - -/*! - \externalpage https://www.iana.org/assignments/uri-schemes/prov/view-source - \title view-source URI scheme -*/ - -/*! - \externalpage https://wiki.greasespot.net/Metadata_Block - \title Greasemonkey -*/ - -/*! - \externalpage https://http2.github.io/ - \title HTTP/2 -*/ - -/*! - \externalpage https://http2.akamai.com/demo - \title Akamai HTTP/2 Demo -*/ - -/*! - \externalpage https://www.chromium.org/developers/design-documents/user-scripts - \title User Scripts -*/ - -/*! - \externalpage https://wiki.greasespot.net/Metadata_Block#.40name - \title Metadata Block -*/ - -/*! - \externalpage https://developer.mozilla.org/en-US/docs/Web/API/Navigator/registerProtocolHandler - \title registerProtocolHandler -*/ - -/*! - \externalpage https://www.w3.org/TR/notifications - \title Web Notifications API -*/ - -/*! - \externalpage https://developers.google.com/web/updates/2017/09/autoplay-policy-changes - \title Autoplay Policy Changes -*/ diff --git a/src/webengine/doc/src/qtwebengine-debugging.qdoc b/src/webengine/doc/src/qtwebengine-debugging.qdoc deleted file mode 100644 index 0db35c85c..000000000 --- a/src/webengine/doc/src/qtwebengine-debugging.qdoc +++ /dev/null @@ -1,117 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:FDL$ -** 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 Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \page qtwebengine-debugging.html - \title Qt WebEngine Debugging and Profiling - - \section1 Console Logging - - JavaScript executed inside \QWE can use the - \l{Chrome console API} to log information to a console. The logging messages - are forwarded to Qt's logging facilities inside a \c js - \l{QLoggingCategory}{logging category}. However, only warning and fatal - messages are printed by default. To change this, you either have to set custom - rules for the \c js category, or provide custom message handlers - by reimplementing \l{QWebEnginePage::javaScriptConsoleMessage()}, or - connecting to \l{WebEngineView::javaScriptConsoleMessage()}. - - All messages can also be accessed through the \QWE developer - tools. - - \section1 Qt WebEngine Developer Tools - - The \QWE module provides web developer tools that make it easy - to inspect and debug layout and performance issues of any web content. - - The developer tools are accessed as a local web page using a Chromium or - \QWE based browser, such as the Chrome browser. - - To activate the developer tools, start an application that uses \QWE - with the command-line arguments: - - \badcode - --remote-debugging-port=<port_number> - \endcode - - Where \c <port_number> refers to a local network port. The web developer - tools can then be accessed by launching a browser at the address - \c http://localhost:<port_number>. - - Alternatively, the environment variable QTWEBENGINE_REMOTE_DEBUGGING - can be set. It can be set as either just a port working similarly to - \c --remote-debugging-port or given both a host address and a port. The - latter can be used to control which network interface to export the - interface on, so that you can access the developer tools from a remote - device. - - For a detailed explanation of the capabilities of developer tools, see the - \l {Chrome DevTools} page. - - \section1 Using Command-Line Arguments - - You can use the following command-line arguments while debugging to provide - input for bug reports: - - \list - \li \c {--disable-gpu} disables GPU hardware acceleration. This is - useful when diagnosing OpenGL problems. - \li \c {--disable-logging} disables console logging, which might be - useful for debug builds. - \li \c {--enable-logging --log-level=0} enables console logging and sets - the logging level to 0, which means that messages of the severity - \c info and above are recorded in the log. This is the default for - debug builds. Other possible log levels are \c 1 for warnings, \c 2 - for errors, and \c 3 for fatal errors. - \li \c {--v=1} Increases the logging level beyond what \c {--log-level} - can, and enables logging debug messages up to verbosity level \c 1. - A higher number further increases verbosity, but may result in a - large number of logged messages. Default is \c 0 (no debug messages). - \li \c {--no-sandbox} disables the sandbox for the renderer and plugin - processes. Keep in mind that disabling the sandbox might present a - security risk. - \li \c {--single-process} runs the renderer and plugins in the same - process as the browser. This is useful for getting stack traces for - renderer crashes. - \li \c {--enable-features=NetworkServiceInProcess} runs networking in - the main process. This may help firewall management, since only the - application executable will need to be whitelisted and - not QtWebEngineProcess. It means losing the security of - sandboxing of the network service though. - \endlist - - Alternatively, the environment variable QTWEBENGINE_CHROMIUM_FLAGS can be - set. For example, the following value could be set to disable logging while - debugging an application called \e mybrowser: - - \code - QTWEBENGINE_CHROMIUM_FLAGS="--disable-logging" mybrowser - \endcode - - QTWEBENGINE_CHROMIUM_FLAGS can also be set using {qputenv} from within the - application if called before QtWebEngine::initialize(). -*/ diff --git a/src/webengine/doc/src/qtwebengine-deploying.qdoc b/src/webengine/doc/src/qtwebengine-deploying.qdoc deleted file mode 100644 index 7b9f3fd4a..000000000 --- a/src/webengine/doc/src/qtwebengine-deploying.qdoc +++ /dev/null @@ -1,158 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:FDL$ -** 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 Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \page qtwebengine-deploying.html - \title Deploying Qt WebEngine 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 macOS}{macdeployqt} automate the steps to - generate a stand-alone application package. - - When manually deploying applications that depend on \QWE, 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 - - \QWE 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 \QWE currently supports only Windows, Linux, and \macos. - - \li On Windows, \QWE 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 \QWE, the - following files might have to be deployed: - - \list - \li Libraries - \li QML imports - \li \QWE 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 - \QWE: - - \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 \QWE Processes - - \QWE takes advantage of the multi-process model that the Chromium - project offers. The multi-process model requires that the \QWE - 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, \QWE 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, \QWE - looks for the executable in \c .app/Helpers/QtWebEngineProcess. - - \section2 Deploying Resources - - \QWE 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 \QWE 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 JavaScript Files in Qt Resource Files - - If your WebEngine application is built using the Qt Quick Compiler, and the application ships - JavaScript files inside .qrc resources, and these files are supposed to be loaded from inside - HTML pages, make sure to specify the resource files in a \c QTQUICK_COMPILER_SKIPPED_RESOURCES - qmake variable inside your project. This prevents the Qt Quick Compiler from trying to generate - C++ code for the corresponding JavaScript code, as well as removing the original JavaScript code - from the Qt resources file, which would lead to broken HTML pages. For example: - - \code - QTQUICK_COMPILER_SKIPPED_RESOURCES += resources/my_resource.qrc - \endcode - -*/ diff --git a/src/webengine/doc/src/qtwebengine-examples.qdoc b/src/webengine/doc/src/qtwebengine-examples.qdoc deleted file mode 100644 index d31895078..000000000 --- a/src/webengine/doc/src/qtwebengine-examples.qdoc +++ /dev/null @@ -1,40 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:FDL$ -** 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 Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \group webengine-examples - \title Qt WebEngine Examples - \brief Examples demonstrating the \QWE usage. - \ingroup all-examples - - These examples and demonstrations show a range of different uses for \l{Qt WebEngine}, - from displaying Web pages within a QML user interface to an implementation of - a basic function Web browser. - - For widget-based applications, Qt provides an integrated Web browser component based on - Chromium, the popular open source browser engine. -*/ diff --git a/src/webengine/doc/src/qtwebengine-features.qdoc b/src/webengine/doc/src/qtwebengine-features.qdoc deleted file mode 100644 index 431367765..000000000 --- a/src/webengine/doc/src/qtwebengine-features.qdoc +++ /dev/null @@ -1,644 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2019 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:FDL$ -** 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 Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \page qtwebengine-features.html - \title Qt WebEngine Features - - \brief Summarizes \QWE features. - - \QWE supports the following features: - - \list - \li \l{Audio and Video Codecs} - \li \l{Chromium DevTools} - \li \l{Client Certificates} - \li \l{Custom Schemes} - \li \l{Drag and Drop} - \li \l{Fullscreen} - \li \l{HTML5 DRM} - \li \l{HTML5 Geolocation} - \li \l{HTTP/2 Protocol} - \li \l{Native Dialogs} - \li \l{Pepper Plugin API} - \li \l{PDF File Viewing} - \li \l{Page Lifecycle API} - \li \l{Print to PDF} - \li \l{Process Models} - \li \l{Spellchecker} - \li \l{Touch} - \li \l{View Source} - \li \l{webrtc_feature}{WebRTC} - \li \l{Web Notifications} - \endlist - - \section1 Audio and Video Codecs - - \QWE supports the MPEG-4 Part 14 (MP4) file format only if the - required proprietary audio and video codecs, such as H.264 and MPEG layer-3 - (MP3), have been enabled. Proprietary codecs can be enabled by passing the - following option to the \c configure tool when configuring Qt: - - \code - -webengine-proprietary-codecs - \endcode - - For example, the following option could be passed when configuring Qt for - building it at the top level: - - \code - configure -webengine-proprietary-codecs - \endcode - - For more information, see \l{Qt Configure Options}. - - When using qmake to build just the \QWE module, the following - command can be used (in this example, the \QWE source code is - located in \c {C:\qt\qtwebengine}): - - \code - qmake C:\qt\qtwebengine -- -webengine-proprietary-codecs - \endcode - - \warning When distributing proprietary codec libraries, you must acquire - licenses for them. - - \l FFmpeg is a cross-platform solution to record, convert, and stream audio - and video. It can be configured for use with several codecs, which rises - licensing issues during distribution with the codec libraries. For some - codecs, open source implementations, such as \l{OpenH264 Project Homepage} - {OpenH264}, are available. - - \section1 Chromium DevTools - - The Chromium DevTools provide the ability to inspect and debug layout and - performance issues of any web content. - - This feature can be tested by launching a \QWE application with the - command line option \c {--remote-debugging-port=[your-port]} or by setting - the environment variable \c QTWEBENGINE_REMOTE_DEBUGGING, and then using a - Chromium based browser (such as \l{WebEngine Widgets Simple Browser Example} - {Simple Browser} or \l{WebEngine Quick Nano Browser}{Nano Browser}) to connect - to \c {http://localhost:[your-port]}. - - The Chromium DevTools page can also be shown within the application. To set - this up, you can call either QWebEnginePage::setInspectedPage() to the page - to be inspected, which implicitly loads the DevTools into the \c this page, - or QWebEnginePage::setDevToolsPage() to let the \c this page be inspected. - - The respective QML properties are \l{WebEngineView::devToolsView} - {WebEngineView.devToolsView} and \l{WebEngineView::inspectedView} - {WebEngineView.inspectedView}. - - For more information, see \l {Qt WebEngine Debugging and Profiling}. - - \section1 Client Certificates - - Some web servers, in particular many intranet sites, require the client to - authenticate itself with a certificate, called a \e {client certificate}. \QWE - will read the client certificates installed in the system settings in macOS and - Windows, and on Linux those installed into the NSS database. Certificates can - be installed into the NSS database using the \c pk12util tool. - - By default, \QWE will not offer any client certificates to servers, as doing - so uniquely identifies the user and might violate privacy expectations. - - To activate support for client certificates, an application needs to listen to - the QWebEnginePage::selectClientCertificate or - \l{WebEngineView::selectClientCertificate}{WebEngineView.selectClientCertificate} - signals and select one of the offered - certificates. For applications that can navigate to untrusted web sites, it is - recommended to always give the user a choice before uniquely identifying them - to a remote server. - - \section1 Custom Schemes - - \QWE makes it possible for the application to define its own custom - URL schemes with specialized security policies and transport mechanisms. - - Custom schemes can be used to implement alternative network protocols with - all the usual web security policies, privileged internal schemes for - displaying user interface compoments or debugging information, sandboxed - schemes with extra restrictions, and so on. - - For more information, see \l QWebEngineUrlScheme and \l - QWebEngineUrlSchemeHandler. - - \section1 Drag and Drop - - \QWE supports HTML5 drag and drop. - - This feature can be tested by opening an HTML5 drag and drop demo, such as - \l{HTML5 Demos - Drag and Drop}, \l{HTML5 Demos - Simple Drag and Drop}, or - \l{HTML5 Demos - Drag and Drop, Automatic Upload}, in \l{WebEngine Widgets - Simple Browser Example}{Simple Browser} or \l{WebEngine Quick Nano Browser} - {Nano Browser}. - - Dragging files into the browser is not actually part of HTML5, but it is - supported. It can be tested by opening \l{HTML5 Demos - File API}. - - Support for this feature was added in Qt 5.7.0. - - \section1 Fullscreen - - \QWE supports viewing web content in fullscreen mode. For more - information, see \l{WebEngineSettings::fullscreenSupportEnabled} - {WebEngineSettings.fullscreenSupportEnabled}, - \l{WebEngineView::fullScreenRequested}{WebEngineView.fullScreenRequested}, - QWebEngineSettings::FullScreenSupportEnabled, and - QWebEnginePage::fullScreenRequested. - - This feature can be tested by playing a video from YouTube in \l{WebEngine - Widgets Video Player Example}{Video Player} or \l{WebEngine Quick Nano Browser} - {Nano Browser}, and clicking the full screen icon to go into fullscreen - mode. - - Support for this feature was added in Qt 5.6.0. - - \section1 HTML5 DRM - - \QWE supports viewing DRM protected videos if the \l{Widevine CDM} plugin has been installed. - CDM plugin is a replacement of Flash based plugins for displaying DRM-protected content. - It comes only in a binary format, so it can hide DRM decryption implementation details. - It can be obtained from a third party or from a Google Chrome installation. - - \QWE on startup looks for the \l{Widevine CDM} plugin in well know locations, like - default Google Chrome installation directory or Linux distro specific paths. However, plugin - location can be also passed with \c {QTWEBENGINE_CHROMIUM_FLAGS} using \c {widevine-path}. - - On Windows: - \code - set QTWEBENGINE_CHROMIUM_FLAGS=--widevine-path="C:/some path/widevinecdm.dll" - \endcode - - On Linux: - \code - export QTWEBENGINE_CHROMIUM_FLAGS=--widevine-path="/some path/libwidevinecdm.so" - \endcode - - On macOS: - \code - export QTWEBENGINE_CHROMIUM_FLAGS=--widevine-path="/some path/libwidevinecdm.dylib" - \endcode - - - The video format most commonly used by DRM services, H.264, requires - proprietary audio and video codecs. For more information about enabling the - codecs, see \l{Audio and Video Codecs}. - - This feature can be tested by playing a video in \l{WebEngine Widgets Simple Browser - Example}{Simple Browser} or \l{WebEngine Quick Nano Browser}{Nano Browser} - from \l{castLabs}, \l{Swank Motion Pictures, Inc.}, or \l{Bitmovin Player}. - - Support for this feature was added in Qt 5.7.0. - - \section1 HTML5 Geolocation - - \QWE supports JavaScript Geolocation API with \l {Qt Location} as a - backend. The application has to explicitly allow the feature by using - QWebEnginePage::Geolocation or \l{WebEngineView::Feature} - {WebEngineView.Feature}. - - If Qt Location has been built before \QWE then this feature can be - tested by using \l{WebEngine Widgets Maps Example}{Maps} and allowing it to - find the current position of the user. Note that on Windows an external GPS - receiver must be connected to the application. For more information, see - \l{Qt Positioning}. - - Support for this feature was added in Qt 5.5.0. - - \section1 HTTP/2 Protocol - - \QWE supports the Chromium implementation of the \l{HTTP/2} - protocol. - - This feature can be tested by opening an HTTP/2 demo, such as the - \l{Akamai HTTP/2 Demo}, in \l{WebEngine Widgets Simple Browser Example} - {Simple Browser} or \l{WebEngine Quick Nano Browser}{Nano Browser}. - - \section1 Native Dialogs - - A web page might request dialogs for the following functions: - - \list - \li Entering user credentials for HTTP and proxy authentication - \li Displaying JavaScript alerts, confirmation dialogs, and prompts - \li Picking colors - \li Selecting files - \li Displaying form validation messages - \endlist - - \QWE provides standard dialogs for these functions. In widget-based - applications, the standard dialogs are based on QDialog, whereas in Qt Quick - applications, they can be based either on Qt Quick Controls 1 or Qt Quick - Controls 2 (since Qt 5.8). The latter are used only on \c eglfs platforms. - - To explicitly force either dialogs based on Qt Quick Controls 1 or Qt Quick - Controls 2, set the \c QTWEBENGINE_DIALOG_SET environment variable to either - \c{QtQuickControls1} or \c{QtQuickControls2}. - - \QWE Widgets dialogs can be customized by reimplementing the - QWebEnginePage::chooseFiles(), QWebEnginePage::javaScriptAlert(), - QWebEnginePage::javaScriptConfirm(), and QWebEnginePage::javaScriptPrompt() - functions. - - Since Qt 5.8, Qt Quick dialogs can be customized by connecting to the - WebEngineView::authenticationDialogRequested(), - WebEngineView::javaScriptDialogRequested(), - WebEngineView::colorDialogRequested(), - WebEngineView::fileDialogRequested(), and - WebEngineView::formValidationMessageRequested() signals. For an example, - see \l{WebEngine Qt Quick Custom Dialogs Example}. - - \section1 Pepper Plugin API - - \QWE supports loading Pepper Plugin API (PPAPI) plugins if - WebEngineSettings::pluginsEnabled or QWebEngineSettings::PluginsEnabled - is set. - - Except for the Adobe Flash Player plugin, the plugins must be loaded - manually using the Chromium command line syntax with the - \c --register-pepper-plugins argument. The argument value is a list of - entries, separated by commas, that contain the file path and one or several - MIME types, separated by semicolons: - - \code - <file-path-plugin1>;<mime-type-plugin1>,<file-path-plugin2>;<mime-type1-plugin2>;<mime-type2-plugin2> - \endcode - - For example: - - \code - --register-pepper-plugins="libppapi_example.so;application/x-ppapi-example" - \endcode - - The MIME type is important because it determines which embeds the plugin is - used for. - - Support for this feature was added in Qt 5.6.0. - - \section2 Pepper Flash Player Plugin Support - - The Pepper Flash player plugin can be loaded automatically if it is - installed in one of the following locations, depending on the platform: - - \list - \li Windows - \code - C:\Windows\SysWOW64\Macromed\Flash\pepflashplayer*.dll - C:\Windows\System32\Macromed\Flash\pepflashplayer*.dll - \endcode - \li OS X - \code - /Library/Internet Plug-Ins/PepperFlashPlayer/PepperFlashPlayer.plugin - \endcode - \li Linux - \code - /usr/lib/pepperflashplugin-nonfree/libpepflashplayer.so - /usr/lib/adobe-flashplugin/libpepflashplayer.so - /usr/lib/PepperFlash/libpepflashplayer.so - /usr/lib64/chromium/PepperFlash/libpepflashplayer.so - \endcode - \endlist - - You can also load the Pepper Flash player from a specific location by using - command line arguments: - - \code - --ppapi-flash-path=./libpepflashplayer.so - \endcode - - By default, the Flash version is set to \c{11.2.999.999}. You can use the - \c{ppapi-flash-version=} argument to set another Flash version in the - format \c{major.minor.build.revision}: - - \code - --ppapi-flash-version=16.0.0.235 - \endcode - - This feature can be tested in \l{WebEngine Widgets Simple Browser Example}{Simple Browser} - or \l{WebEngine Quick Nano Browser}{Nano Browser} if the Adobe Flash PPAPI - plugin is installed and plugins are enabled in the browser. To test the - feature, the \c https://helpx.adobe.com/flash-player.html page can be opened - in the browser. - - \section1 PDF File Viewing - - \QWE supports viewing PDF documents by navigating to them. This feature uses the Chromium - extensions API and PDF viewer plugin to display the PDF documents. - It can be tested in \l{WebEngine Widgets Simple Browser Example}{Simple Browser} or - \l{WebEngine Quick Nano Browser}{Nano Browser}. - - Loading plugins needs to be enabled using QWebEngineSettings::PluginsEnabled or - WebEngineSettings::pluginsEnabled in order to use this feature. - - This feature can be turned on (default) or off via the QWebEngineSettings::PdfViewerEnabled or - WebEngineSettings::pdfViewerEnabled setting. - - Support for this feature was added in Qt 5.13.0. - - \section1 Page Lifecycle API - - \QWE supports the \l {https://wicg.github.io/page-lifecycle/spec.html}{Page - Lifecycle API specification}, a work-in-progress extension to the HTML - standard for allowing user agents to reduce their resource consumption by - freezing or discarding background pages. The feature is exposed both in the - Widgets and QML APIs. - - For an example of the QML API in use, see the \l {WebEngine Lifecycle - Example}. - - Support for this feature was added in Qt 5.14.0. - - \section2 Overview of Lifecycle States - - Each \l {WebEngineView} item (or \l {QWebEnginePage} object) can be in one - of three \e {lifecycle states}: active, frozen, or discarded. These states, - like the sleep states of a CPU, control the resource usage of web views. - - The \e {active} state is the normal, unrestricted state of a web view. All - visible web views are always in the active state, as are all web views that - have not yet finished loading. Only invisible, idle web views can be - transitioned to other lifecycle states. - - The \e {frozen} state is a low CPU usage state. In this state, most HTML - task sources are suspended (frozen) and, as a result, most DOM event - processing and JavaScript execution will also be suspended. The web view - must be invisible in order to be frozen as rendering is not possible in this - state. - - The \e {discarded} state is an extreme resource-saving state. In this state, - the browsing context of the web view will be discarded and the corresponding - renderer subprocess shut down. CPU and memory usage in this state is reduced - virtually to zero. On exiting this state the web page will be automatically - reloaded. The process of entering and exiting the discarded state is similar - to serializing the browsing history of the web view and destroying the view, - then creating a new view and restoring its history. - - See also \l {WebEngineView::LifecycleState}. The equivalent in the Widgets - API is \l {QWebEnginePage::LifecycleState}. - - \section2 The \c {lifecycleState} and \c {recommendedState} Properties - - The \l {WebEngineView::}{lifecycleState} property of the \l {WebEngineView} - type is a read-write property that controls the current lifecycle state of - the web view. This property is designed to place as few restrictions as - possible on what states can be transitioned to. For example, it is allowed - to freeze a web view that is currently playing music in the background, - stopping the music. In order to implement a less aggressive resource-saving - strategy that avoids interrupting user-visible background activity, the \l - {WebEngineView::} {recommendedState} property must be used. - - The \l {WebEngineView::}{recommendedState} property of the \l - {WebEngineView} type is a read-only property that calculates a safe limit on - the \l {WebEngineView::}{lifecycleState} property, taking into account the - current activity of the web view. So, in the example of a web view playing - music in the background, the recommended state will be \c {Active} since a - more aggressive state would stop the music. If the application wants to - avoid interrupting background activity, then it should avoid putting the web - view into a more aggressively resource-saving lifecycle state than what's - given by \l {WebEngineView::}{recommendedState}. - - See also \l {WebEngineView::lifecycleState} and \l - {WebEngineView::recommendedState}. The equivalents in the Widgets API are \l - {QWebEnginePage::lifecycleState} and \l {QWebEnginePage::recommendedState}. - - \section2 The DOM Extensions - - The \l {WebEngineView::}{lifecycleState} property is connected to the \l - {https://wicg.github.io/page-lifecycle/spec.html}{Page Lifecycle API - specification}, which specifies two new DOM events, \c {freeze} and \c - {resume}, and adds a new \c {Document.wasDiscarded} boolean property. The \c - {freeze} and \c {resume} events are fired when transitioning from the \c - {Active} to the \c {Frozen state}, and vice-versa. The \c - {Document.wasDiscarded} property is set to \c {true} when transitioning from - the \c {Discarded} state to the \c {Active} state. - - \section1 Print to PDF - - \QWE supports printing a web page to a PDF file. For more - information, see QWebEnginePage::printToPdf() and - \l{WebEngineView::printToPdf}{WebEngineView.printToPdf}. - - This feature can be tested using \l{WebEngine Widgets Html2Pdf Example} - {Html2Pdf}. - - Support for this feature was added in Qt 5.7.0. - - \section1 Process Models - - \QWE uses multiple OS processes to isolate web sites from each other - and from the client application, improving security and robustness. The - following process models, or ways to divide web sites between OS processes, - are supported: - - \list - \li \l{Process per Site Instance} - \li \l{Process per Site} - \li \l{Single Process} - \endlist - - \section2 Process per Site Instance - - This is the default model. Pages from separate sites are put into separate - processes and separate visits to the same site are also isolated. - - Two web pages are considered as belonging to the same site if they originate - from the same registered domain name (for example, \c wikipedia.org) and - scheme (for example, \c https). This is similar to the same-origin policy - but subdomains are ignored. For example, both \c{https://en.wikipedia.org/} - and \c{https://de.wikipedia.org/} would belong to the same site. - - A site instance is a collection of web pages belonging to the same site. - When the application explicitly loads a URL into \QWE (via \l - QWebEnginePage::setUrl, for example), a new site instance is created for the - page. However, when the user clicks same-site links on the page, the - existing site instance is merely extended with more pages. - - For instance, in the \l{WebEngine Widgets Simple Browser Example}{Simple - Browser} example, when a user opens two tabs and explicitly enters - \c{https://en.wikipedia.org/} into the URL bars, both tabs will have their - own separate OS processes (because explicitly entering a URL creates a new - site instance). However, when the user then middle-clicks some same-site - links to open more tabs, these new tabs will share the same OS process - (because user interaction extends the existing site instance). - - \section2 Process per Site - - Pages from separate sites are put into separate processes. Unlike Process - per Site Instance, all visits to the same site will share an OS process. - - The benefit of this model is reduced memory consumption, because more web - pages will share processes. The drawbacks include reduced security, - robustness, and responsiveness. - - To enable this model, use the command-line argument \c{--process-per-site}. - See \l{Using Command-Line Arguments}. - - \section2 Single Process - - For debugging purposes only, a single process mode can be enabled using the - command-line argument \c{--single-process}. See \l{Using Command-Line - Arguments} and \l{Qt WebEngine Debugging and Profiling}. - - \section1 Spellchecker - - \QWE supports integrating spellchecking support into HTML forms to - enable users to submit spellchecked messages. When the user clicks on - an underlined misspelled word, the default context menu displays up to four - suggestions. Selecting one will replace the misspelled word. - - To be able to check the spelling, the spellchecker needs dictionaries. It - supports dictionaries from the \l{Hunspell project}, but they have to be - compiled into a special binary format. A Hunspell dictionary consists of two - files: - - \list - - \li A \c .dic file that is a dictionary containing words for the - language - \li An \c .aff file that defines the meaning of special flags in the - dictionary - \endlist - - These two files can be converted into the \c bdic format by using the - \c qwebengine_convert_dict tool that is shipped together with Qt. - When the \QWE spellchecker initializes, it will try to load the - \c bdict dictionaries and to check them for consistency. - - If \c QTWEBENGINE_DICTIONARIES_PATH is set, the spellchecker uses the - dictionaries in the specified directory without looking anywere else. - Otherwise, it uses the \e qtwebengine_dictionaries directory relative to the - executable if it exists. If it does not exist, it will look in \c - QT_INSTALL_PREFIX/qtwebengine_dictionaries. - - On macOS, depending on how \QWE is configured at build time, there - are two possibilities how spellchecking data is found: - - \list - \li Hunspell dictionaries (default) - .bdic dictionaries are used, just - like on other platforms - \li Native dictionaries - the macOS spellchecking APIs are used (which - means the results will depend on the installed OS dictionaries) - \endlist - - Thus, in the macOS Hunspell case, \QWE will look in the \e - qtwebengine_dictionaries subdirectory located inside the application bundle - \c Resources directory, and also in the \c Resources directory located - inside the Qt framework bundle. - - To summarize, in case of Hunspell usage, the following paths are considered: - - \list - \li \c QTWEBENGINE_DICTIONARIES_PATH, if set - \li QCoreApplication::applicationDirPath()/qtwebengine_dictionaries - or QCoreApplication::applicationDirPath()/../Contents/Resources/qtwebengine_dictionaries - (on macOS) - \li [QLibraryInfo::DataPath]/qtwebengine_dictionaries - or path/to/QtWebEngineCore.framework/Resources/qtwebengine_dictionaries (Qt framework - bundle on macOS) - \endlist - - Spellchecking is disabled by default and can be enabled per profile by - using the QWebEngineProfile::setSpellCheckEnabled() method in widget-based - applications and the \l {QQuickWebEngineProfile::spellCheckEnabled} - {WebEngineProfile.spellCheckEnabled} property in Qt Quick applications. - - The current language used for spellchecking is defined per profile, and can - be set using the QWebEngineProfile::setSpellCheckLanguages() method or the - \l {QQuickWebEngineProfile::spellCheckLanguages} - {WebEngineProfile.spellCheckLanguages} property. - - This feature can be tested by building and running the - \l{WebEngine Widgets Spellchecker Example}{Spellchecker Example}. - - Support for this feature was added in Qt 5.8.0. - - \section1 Touch - - \QWE supports touch devices for navigating and interacting with web pages. - - Applications can prohibit the use of touch events in the following ways: - - \list - \li Passing the flag \c --touch-events=disabled on the command line will disable touch event - support in JavaScript API (meaning \c ontouchstart and related handlers will not be present - in the \c document.window object). Touch events will still be delivered to web pages. - - \li Installing an event filter object using \l {QObject::installEventFilter} on the WebEngine - view focus proxy object, and filtering out all touch events. - - \endlist - - \section1 View Source - - \QWE supports viewing the HTML source of a web page. - - This feature can be used from custom menus or assigned to custom events. - For more information, see WebEngineView::WebAction, and QWebEnginePage::WebAction. - - This feature can be tested by opening a web page in \l{WebEngine Widgets - Simple Browser Example}{Simple Browser} or \l{WebEngine Quick Nano Browser} - {Nano Browser}, and then selecting \c{Page Source} in the context menu. The - \c{Page Source} context menu entry opens the source view in a new tab. - - For opening the source view in the current tab, URLs with \l{view-source URI scheme} - are also supported. For example, you can type the following URL to the URL bar - to view the HTML source of the qt.io web page: - \code - view-source:https://www.qt.io/ - \endcode - - Auto-completion of incomplete URLs with \l{view-source URI scheme} makes the usage of - this feature more comfortable. For example, the following incomplete URL also loads - the source view of the qt.io web page: - \code - view-source:qt.io - \endcode - - Support for this feature was added in Qt 5.8.0. - - \target webrtc_feature - \section1 WebRTC - - WebRTC provides browsers with Real-Time Communications (RTC) capabilities - via simple APIs. For more information, see \l{WebEngineView::Feature} - {WebEngineView.Feature} and QWebEnginePage::Feature. - - This feature can be tested by setting up a webcam or microphone and then - opening \c https://test.webrtc.org/ in \l{WebEngine Widgets Simple Browser - Example}{Simple Browser} or \l{WebEngine Quick Nano Browser}{Nano Browser}. - - \section1 Web Notifications - - Qt WebEngine supports JavaScript \l{Web Notifications API}. - The application has to explicitly allow the feature by using - QWebEnginePage::Notifications or \l{WebEngineView::Feature} - {WebEngineView.Notifications}. - - Support for this feature was added in Qt 5.13.0. -*/ diff --git a/src/webengine/doc/src/qtwebengine-index.qdoc b/src/webengine/doc/src/qtwebengine-index.qdoc deleted file mode 100644 index f668cf87b..000000000 --- a/src/webengine/doc/src/qtwebengine-index.qdoc +++ /dev/null @@ -1,65 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:FDL$ -** 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 Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \page qtwebengine-index.html - \title Qt WebEngine - - \brief Provides functionality for rendering regions of dynamic web content. - - \QWE provides functionality for rendering regions of dynamic web content. - - The functionality in \QWE is divided into the following modules: - - \annotatedlist qtwebengine-modules - - \section1 Articles and Guides - - \list - \li \l{Qt WebEngine Overview} - \li \l{Qt WebEngine Features} - \li \l{Qt WebEngine Platform Notes} - \li \l{Qt WebEngine Licensing} - \li \l{Qt WebEngine Debugging and Profiling} - \li \l{Deploying Qt WebEngine Applications} - \li \l{Porting from Qt WebKit to Qt WebEngine} - \endlist - - \section1 Examples - - \list - \li \l{Qt WebEngine Examples} - \li \l{Qt WebEngine Widgets Examples} - \endlist - - \section1 API References - - \list - \li \l{Qt WebEngine C++ Classes and Namespaces} - \li \l{Qt WebEngine QML Types} - \endlist -*/ diff --git a/src/webengine/doc/src/qtwebengine-module.qdoc b/src/webengine/doc/src/qtwebengine-module.qdoc deleted file mode 100644 index 5554bd519..000000000 --- a/src/webengine/doc/src/qtwebengine-module.qdoc +++ /dev/null @@ -1,46 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:FDL$ -** 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 Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \module QtWebEngine - \title Qt WebEngine C++ Classes - \brief Exposes C++ functionality to Qt Quick. - \ingroup modules - - The \QWE module exposes C++ functionality to Qt Quick. - - To include the definitions of the module's classes, use the - following directive: - - \snippet qtwebengine_build_snippet.qdoc 1 - - \if !defined(qtforpython) - To link against the module, add the following to your qmake project file: - - \snippet qtwebengine_build_snippet.qdoc 0 - \endif -*/ diff --git a/src/webengine/doc/src/qtwebengine-modules.qdoc b/src/webengine/doc/src/qtwebengine-modules.qdoc deleted file mode 100644 index 7b8ced728..000000000 --- a/src/webengine/doc/src/qtwebengine-modules.qdoc +++ /dev/null @@ -1,48 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:FDL$ -** 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 Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \page qtwebengine-modules.html - \title Qt WebEngine C++ Classes and Namespaces - \brief Provides functionality for rendering regions of dynamic web content. - - \e {Qt WebEngine} provides functionality for rendering regions of dynamic web content. - - \section1 Namespaces - \annotatedlist qtwebengine-namespaces - - \section1 Classes - - \section2 Qt WebEngineCore Module - \generatelist {classesbymodule QtWebEngineCore} - - \section2 Qt WebEngineWidgets Module - \generatelist {classesbymodule QtWebEngineWidgets} - - \section2 Qt WebEngine Module - \generatelist {classesbymodule QtWebEngine} -*/ diff --git a/src/webengine/doc/src/qtwebengine-overview.qdoc b/src/webengine/doc/src/qtwebengine-overview.qdoc deleted file mode 100644 index 1c30f9858..000000000 --- a/src/webengine/doc/src/qtwebengine-overview.qdoc +++ /dev/null @@ -1,315 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:FDL$ -** 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 Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \page qtwebengine-overview.html - \title Qt WebEngine Overview - - The \QWE module provides a web browser engine that makes it easy to embed content from - the World Wide Web into your Qt application on platforms that do not have a native web engine. - - \QWE provides C++ classes and QML types for rendering HTML, XHTML, and SVG documents, - styled using Cascading Style Sheets (CSS) and scripted with JavaScript. HTML documents can be - made fully editable by the user through the use of the \c{contenteditable} attribute on HTML - elements. - - \section1 Qt WebEngine Architecture - - \image qtwebengine-architecture.png - - The functionality in \QWE is divided into the following modules: - - \list - \li \l{Qt WebEngine Widgets Module} for creating widget-based web applications - \li \l{Qt WebEngine Module} for creating Qt Quick based web applications - \li \l{Qt WebEngine Core Module} for interacting with Chromium - \endlist - - Page rendering and JavaScript execution are separated from the GUI process into the \QWE - Process. It is a library that must be shipped with the application if the Qt libraries are - bundled into the application. - - \section2 Qt WebEngine Widgets Module - - \image qtwebenginewidgets-model.png - - A \e {web engine view} is the main widget component of the \QWE module. It can be used - in various applications to load web content. Within a view, a \e {web engine page} holds a main - frame that is responsible for web content, the \e history of navigated links, and \e actions. - The view and page are quite similar, as they provide a set of common functions. - - All pages belong to a \e {web engine profile} that contains shared \e settings, \e scripts, and - \e cookies. Profiles can be used to isolate pages from each other. A typical use case is a - dedicated profile for a \e {private browsing} mode, where no information is permanently saved. - - \note The \QWE Widgets module uses the \l{Qt Quick Scene Graph}{Qt Quick scene graph} - to compose the elements of a web page into one view. This means that the UI process - requires OpenGL ES 2.0 or OpenGL 2.0 for its rendering. - - \section2 Qt WebEngine Module - - \image qtwebengine-model.png - - The \QWE QML implementation contains the same elements as the \QWE Widgets - implementation, except that there is no separately accessible web engine page. - The supported page functionality is integrated into the web engine view. - - \section2 Qt WebEngine Core Module - - The \QWE core is based on the \l {Chromium Project}. Chromium provides its own network - and painting engines and is developed tightly together with its dependent modules. - - \note \QWE is based on Chromium, but does not contain or use any services - or add-ons that might be part of the Chrome browser that is built and delivered by Google. - You can find more detailed information about the differences between Chromium and Chrome in this - \l{https://chromium.googlesource.com/chromium/src/+/master/docs/chromium_browser_vs_google_chrome.md}{overview} - that is part of the documentation in the \l {Chromium Project} upstream source tree. - - This version of \QWE is based on Chromium version 80.0.3987, with additional security - fixes from newer versions. - - \section2 Qt WebEngine Process - - The \QWE Process is a separate executable that is used to render web pages and - execute JavaScript. This mitigates security issues and isolates crashes caused by specific - content. - - \section1 Embedding Web Content into Widget Based Applications - - Use the QWebEngineView class to display web pages in the simplest way. Because it is a widget, - you can embed QWebEngineView into your forms and use its convenience functions to download and - display web sites. - - \code - QWebEngineView *view = new QWebEngineView(parent); - view->load(QUrl("http://www.qt.io/")); - view->show(); - \endcode - - An instance of QWebEngineView has one QWebEnginePage. QWebEnginePage can have a - QWebEngineHistory that provides access to the page's navigation history and several QAction - objects that apply actions on the web page. In addition, a QWebEnginePage has the ability to - run JavaScript code in the context of the page's main frame and to enable customization of - handlers for specific events like showing custom authentication dialogs. - - Each QWebEnginePage belongs to a QWebEngineProfile that can have a QWebEngineSettings - for specifying page settings, a QWebEngineScriptCollection for running scripts on the page, and - a QWebEngineCookieStore for accessing the HTTP cookies of Chromium. A QWebEnginePage can also - directly point to a script collection. - - For a widget based application, the web engine is automatically initialized, unless it is - placed in a plugin. In that case, it must be initialized in the application main source file - by using \l QtWebEngine::initialize, as illustrated by the following code snippet: - - \code - int main(int argc, char **argv) - { - QApplication app(argc, argv); - - QtWebEngine::initialize(); - - QMainWindow window; - window.show(); - - return app.exec(); - } - \endcode - - \section1 Embedding Web Content into Qt Quick Applications - - The WebEngineView QML type allows Qt Quick applications to render regions of dynamic web - content. A \e{WebEngineView} type may share the screen with other QML types or encompass the - full screen as specified within the Qt Quick application. - - To make sure that OpenGL context can be shared between the GUI and render processes, the web - engine must be initialized by using \l QtWebEngine::initialize in the application main source - file, as illustrated by the following code snippet: - - \code - int main(int argc, char *argv[]) - { - QGuiApplication app(argc, argv); - - QtWebEngine::initialize(); - - QQmlApplicationEngine engine; - engine.load(QUrl("qrc:/main.qml")); - - return app.exec(); - } - \endcode - - An application can load pages into the WebEngineView, using either an URL or HTML string, and - navigate within session history. By default, links to different pages load within the same - WebEngineView object, but web sites may request them to be opened as a new tab, window, or - dialog. - - The following sample QML application loads a web page using the \l{WebEngineView::}{url} - property: - - \quotefromfile webengine/minimal/main.qml - \skipto import - \printuntil /^\}/ - - \section1 Script Injection - - \QWE does not allow direct access to the document object model (DOM) of a page. - However, the DOM can be inspected and adapted by injecting scripts. - - The DOM of a page is constructed when the document is ready, typically - when the page is completely loaded. Therefore, executing scripts as soon as a document is - created is not suitable for DOM operations, where one has to wait until the DOM is ready. - - In addition, an injected script shares the same \e world as the other scripts executed on the - page, which might lead to conflicts. To avoid this, the QWebEngineScript class and the - WebEngineScript QML type provide implementations of the Chromium API for - \e{Content Script Extensions}. They specify the - script to run, the injection point, and the world where the script is run. This enables - accessing the DOM to manipulate it within a world. - - Since Qt 5.8, \QWE supports augmenting a script by using the - following \l{Metadata Block}{Greasemonkey-like attributes}: - - \list - \li \c {@exclude <regexp>} - \li \c {@include <regexp>} - \li \c {@match <regexp>} - \li \c {@name <free text>} - \li \c {@run-at [document-start|document-end|document-idle]} - \endlist - - The attributes determine if and when a \l {User Scripts}{user script} is - run. They must be placed immediately in the beginning of the script, inside - a \c ==UserScript== comment: - - \code - // ==UserScript== - // @include http://*.qt.io/* - // @exclude http://wiki.qt.io/* - // ==/UserScript== - - window.alert("Page is from qt.io, but not wiki.qt.io"); - \endcode - - If your WebEngine application is built using the Qt Quick Compiler, and the application ships - JavaScript files inside .qrc resources, consider reading the section - \l{JavaScript Files in Qt Resource Files}. - - \section1 Managing Certificates - - \QWE uses its own network stack, and therefore QSslConfiguration is not used to - open SSL connections. Instead, \QWE uses the root CA certificates from the operating - system to validate the peer's certificate. - - The \l{WebEngineCertificateError::error} and \l{QWebEngineCertificateError::Error} enumerations - provide information about the types of certificate errors that might occur. The errors can be - handled by using the WebEngineView::certificateError QML method or by reimplementing the - QWebEnginePage::certificateError function. - - \section1 Proxy Support - - \QWE uses the proxy settings from \l{Qt Network}, and forwards them to Chromium's - networking stack. If QNetworkProxy::applicationProxy is set, it will also be used for \QWE. - If QNetworkProxyFactory::usesSystemConfiguration() is enabled, the proxy settings - are automatically retrieved from the system. Settings from an installed QNetworkProxyFactory - will be ignored, though. - - In case QNetworkProxy::user() and QNetworkProxy::password() are set, these credentials - will be automatically used for proxy authentication. It is up to the user to provide valid - credentials, since there is no error handling callback. - - If no credentials are set with QNetworkProxy, but the proxy requires authentication, - QWebEnginePage::proxyAuthenticationRequired is emitted. - For Qt Quick, a dialog is shown. - - Not all properties of QNetworkProxy are supported by \QWE. That is, - QNetworkProxy::type(), QNetworkProxy::hostName() and QNetworkProxy::port() are taken into - account. All other proxy settings such as QNetworkProxy::rawHeader() are ignored. - - \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 \QWE 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 - - \QWE 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 - - \QWE Core provides an API shared by \QWE and \QWE Widgets for handling - URL requests issued for the networking stack of Chromium and for accessing its HTTP cookies. - - Implementing the QWebEngineUrlRequestInterceptor interface and installing the interceptor on a - profile enables intercepting, blocking, and modifying URL requests (QWebEngineUrlRequestInfo) - before they reach the networking stack of Chromium. - - A QWebEngineUrlSchemeHandler can be registered for a profile to add support for custom URL - schemes. Requests for the scheme are then issued to QWebEngineUrlSchemeHandler::requestStarted() - as QWebEngineUrlRequestJob objects. - - The QWebEngineCookieStore class provides functions for accessing HTTP cookies of Chromium. - The functions can be used to synchronize cookies with QNetworkAccessManager, as well as to set, - delete, and intercept cookies during navigation. - - \section1 Platform Notes - - \QWE currently supports only Windows, Linux, and \macos. Due to Chromium build - requirements it also often requires a newer compiler than the rest of Qt. See - \l{Qt WebEngine Platform Notes} for further details. - - \section1 Related Modules - - \QWE supersedes the \l{http://doc.qt.io/archives/qt-5.3/qtwebkit-index.html}{Qt WebKit} - module, which is based on the - WebKit project, but has not been actively synchronized with the upstream WebKit code since - Qt 5.2 and has been deprecated in Qt 5.5. For tips on how to change a Qt \WebKit widgets - application to use \QWE widgets, see \l{Porting from Qt WebKit to Qt WebEngine}. - - The \l{Qt WebView} module allows to use a native web browser on platforms where one is - available. - - The \l{Qt WebChannel} module can be used to create a bi-directional communication channel - between QObject objects on the C++ side and JavaScript on the QML side. - -*/ diff --git a/src/webengine/doc/src/qtwebengine-platform-notes.qdoc b/src/webengine/doc/src/qtwebengine-platform-notes.qdoc deleted file mode 100644 index cbb12a0bd..000000000 --- a/src/webengine/doc/src/qtwebengine-platform-notes.qdoc +++ /dev/null @@ -1,237 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2020 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:FDL$ -** 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 Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \page qtwebengine-platform-notes.html - \title Qt WebEngine Platform Notes - - \brief Contains information about issues that are specific to the \QWE module. - - \section1 Building \QWE from Source - - Static builds are not supported. - - The requirements for building Qt 5 modules from source are listed separately for each supported - platform: - - \list - \li \l{Qt for Windows - Requirements} - \li \l{Qt for X11 Requirements} - \li \l{Qt for macOS - Building from Source} - \endlist - - In addition, the following tools are required for building the \l {Qt WebEngine} module: - - \list - \li \l {All Platforms} - \li \l {Windows} - \li \l {Linux} - \li \l {macOS} - \endlist - - The tests for skipping the \QWE build are located in the - \c qtwebengine repository, in the \c tools\qmake\mkspecs subdirectory. - They can be found by searching for \c skipBuild. - - \section2 All Platforms - - On all platforms, the following tools are required: - - \list - \li \l Python 2.7.5 or later. Python 3 is not supported. - \li Bison, Flex - \li GPerf - \endlist - - \section2 Windows - - On Windows, the following additional tools are required: - - \list - \li Visual Studio 2017 version 15.8 or later - \li Active Template Library (ATL), usually included in the Visual Studio - installation - \li Windows 10 SDK version 10.0.18362 or later - \endlist - - \QWE can only be built on 64-bit Windows, with a x64-bit toolchain. - For building \QWE 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. - Supported configurations are \c linux-g++, \c{linux-clang} and \c{linux-clang-libc++} - - \QWE requires \c pkg-config to detect most of its dependencies. The - following \c pkg-config files are required: - - \list - \li \c dbus-1 - \li \c fontconfig - \endlist - - If Qt was configured for \c xcb, the following \c pkg-config files are also - required: - - \list - \li \c libdrm - \li \c xcomposite - \li \c xcursor - \li \c xi - \li \c xrandr - \li \c xscrnsaver - \li \c xtst - \endlist - - Further, development packages for \c khr and \c libcap need to be installed. - - \section2 \macos - - On \macos, the following are required: - - \list - \li \macos 10.13 or later - \li Xcode 10.0 or later - \li \macos 10.13 SDK or later - \endlist - - \note \QWE cannot be built for the 32-bit mode of \macos (using the - \c macx-clang-32 \c mkspec). - - \section1 Using Earlier Qt Versions to Build \QWE - - Building \QWE with earlier Qt versions (down to the last LTS - version) is supported. It means that \QWE 5.15 can be built with - Qt 5.12.x, Qt 5.14.x, and Qt 5.15. - - To use an earlier Qt version to build Qt Webengine: - - \list 1 - \li Download the qtwebengine sources. - \li From the earlier Qt version, run - \c {qmake && make (&& make install)}. - \endlist - - \section1 Mac App Store Compatibility - - Applications using \QWE are not compatible with the Mac App Store, because: - - \list - \li The Chromium part of the code uses several private API methods, which are prohibited by - the App Store. - \li Applications submitted to the App Store must be code-signed with the App Sandbox feature - enabled. The App Sandbox feature interferes with Chromium's own sandbox - initialization, which results in Chromium not being properly initialized. This also - ties in with the private API usage. Furthermore, standalone Chromium itself is not - officially tested with the App Sandbox enabled, and even if work is done to bypass - the App Store's restrictions, that would not guarantee correct behavior of the library. - - \endlist - - \section1 macOS Airplay Support on MacBooks with Dual GPUs - - To make \QWE work correctly when streaming to an AppleTV from a MacBook that supports - GPU switching, it is important to add the \c NSSupportsAutomaticGraphicsSwitching option to the - application Info.plist file, with the value set to \c YES. Otherwise rendering issues might - occur when creating new web engine view instances after Airplay is switched on or off. - - \section1 Default QSurfaceFormat OpenGL Profile Support - - If a new default QSurfaceFormat with a modified OpenGL profile has to be set, it should be set - before the application instance is declared, to make sure that all created OpenGL contexts use - the same OpenGL profile. - - On \macos, if the default QSurfaceFormat is set after the application instance, the application - will exit with qFatal(), and print a message that the default QSurfaceFormat should be set - before the application instance. - - \section1 Sandboxing Support - - \QWE provides out-of-the-box sandboxing support for Chromium render - processes. - - On Linux, note the following restrictions: - - \list - \li The kernel has to support the anonymous namespaces feature - (kernel version 3.8 or later). However, on Debian, Ubuntu, - and other Debian-derived distributions, this feature is off - by default. It can be turned on by setting - \c /proc/sys/kernel/unprivileged_userns_clone to 1. - \li The kernel has to support the \c seccomp-bpf feature (kernel - version 3.5 or later). - \li Setuid sandboxes are not supported and are thus disabled. - \endlist - - To explicitly disable sandboxing, use one of the following options: - - \list - \li Set the \c QTWEBENGINE_DISABLE_SANDBOX environment variable to 1. - \li Pass the \c{--no-sandbox} command line argument to the user - application executable. - \li Set \c QTWEBENGINE_CHROMIUM_FLAGS to \c{--no-sandbox}. - \endlist - - For more information, see \l{Using Command-Line Arguments}. - - \section1 Memory Requirements in Docker Environment - - When running Qt Web Engine examples in a Docker container and browsing - content-heavy sites, BUS errors (SIGBUS) might be reported. Typically, - this is caused by Docker running a container with a too small memory space - (such as 64MB). To fix this problem, increase the memory space size. - - \section1 Accessibility and Performance - - \QWE enables accessibility support for web pages when the following conditions - are met: - - \list - \li Qt Core is configured and built with accessibility support enabled. - \li The QPA plugin is notified by the operating system that accessibility should be - activated. This happens for example when using a screen reader application on Windows - or VoiceOver on \macos. - \endlist - - Due to some limitations, the Linux QPA plugin almost always reports that accessibility should - be activated. On big HTML pages, this can cause a significant slowdown in rendering speed. - - Because of that, from Qt 5.9 onwards, \QWE accessibility support is disabled by default - on Linux. - It can be re-enabled by setting the \c QTWEBENGINE_ENABLE_LINUX_ACCESSIBILITY environment - variable to a non-empty value. - - \section1 Popups in Fullscreen Applications on Windows - Because of a limitation in the Windows compositor, applications that show a fullscreen web - engine view will not properly display popups or other top-level windows. The reason and - workaround for the issue can be found at \l {Fullscreen OpenGL Based Windows} and - \l {QWindowsWindowFunctions::setHasBorderInFullScreen}. - -*/ diff --git a/src/webengine/doc/src/qtwebengine-qmlmodule.qdoc b/src/webengine/doc/src/qtwebengine-qmlmodule.qdoc deleted file mode 100644 index 4fd7e3a3b..000000000 --- a/src/webengine/doc/src/qtwebengine-qmlmodule.qdoc +++ /dev/null @@ -1,48 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2018 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:FDL$ -** 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 Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \qmlmodule QtWebEngine 1.10 - \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: - - \qml - import QtWebEngine 1.10 - \endqml - - To link against the module, add the following QT variable to your qmake .pro - file: - - \badcode - QT += webengine - \endcode -*/ diff --git a/src/webengine/doc/src/qwebengine-licensing.qdoc b/src/webengine/doc/src/qwebengine-licensing.qdoc deleted file mode 100644 index f6a0a6c32..000000000 --- a/src/webengine/doc/src/qwebengine-licensing.qdoc +++ /dev/null @@ -1,53 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:FDL$ -** 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 Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! -\group qtwebengine-licensing -\title Qt WebEngine Licensing - -The Qt specific parts of the \QWE module are dual-licensed -under Commercial and GNU Lesser General Public License (LGPLv3). -In addition, the module contains code licensed under LGPLv2. - -The module includes a snapshot of Chromium. As such, users need to -respect the licenses of Chromium, and third-party code included in -Chromium. The arguably most restrictive license to be respected by -all users is LGPLv2.1. - -Third party licenses included in the sources are: -*/ - -/*! -\page qtwebengine-3rdparty-chromium-global.html attribution -\ingroup qtwebengine-licensing -\title Chromium License -\brief BSD - -The Google-authored portion of Chromium is released under a BSD license: - -\quotefile ../../../3rdparty/chromium/LICENSE -*/ diff --git a/src/webengine/doc/src/webengineview_lgpl.qdoc b/src/webengine/doc/src/webengineview_lgpl.qdoc deleted file mode 100644 index 0cd8441cf..000000000 --- a/src/webengine/doc/src/webengineview_lgpl.qdoc +++ /dev/null @@ -1,1640 +0,0 @@ -/* - * Copyright (C) 2019 The Qt Company Ltd. - * Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies) - * Copyright (c) 2012 Hewlett-Packard Development Company, L.P. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this program; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - * - */ - -// The documentation in this file was imported from QtWebKit and is thus constrained -// by its LGPL license. - -/*! - \qmltype WebEngineView - \instantiates QQuickWebEngineView - \inherits Item - \inqmlmodule QtWebEngine - \since QtWebEngine 1.0 - \brief A WebEngineView renders web content within a QML application. - - The WebEngineView type enables QML applications to render regions of dynamic web content. It - may share the screen with other QML types, such as a TabView, or fill the screen, as specified - within the QML application. - - \section2 Initializing Web Engine - - For the web engine view to be rendered, the web engine must be initialized by using - \l QtWebEngine::initialize in the application main source file, as illustrated by the - following code snippet: - - \quotefromfile webengine/minimal/main.cpp - \skipto main - \printuntil } - - \section2 Loading Web Pages - - An application can load pages into the WebEngineView, using either the \l url property or the - \l loadHtml method and navigate within the view's session history. The GET - method is always used to load URLs. - - The history is represented by a WebEngineHistory data model that is held by - the \l navigationHistory property. - - The following sample QML application loads a web page using the \c url property: - - \quotefromfile webengine/minimal/main.qml - \skipto import - \printuntil /^\}/ - - The \l loading property holds whether an HTML page is currently loading. - The \l loadingChanged() signal is emitted when loading the page begins, ends, or fails. - - The title of an HTML page can be accessed with the \l title property. Additionally, a web - page may specify an icon, which can be accessed using the \l icon property. The \l zoomFactor - property enables zooming the contents of the web page by a scale factor. - - If a certificate error is raised while loading a web page, the \l certificateError() signal is - emitted. Certificate errors are handled by using the methods of the WebEngineCertificateError - type. - - \section2 Interaction - - By default, links to different pages load within the same WebEngineView object, but web sites - may request them to be opened as a new tab, window, or dialog. The \l newViewRequested() signal - is emitted when a request to load the page in a separate web engine view is issued. The - NewViewDestination property describes how the new view should be opened. In addition, the - WebEngineNewViewRequest utility type can be used to load web pages in separate web engine views. - - The \l findText() method can be used to search for a string on a web page, using the options - described by \l FindFlags. - - The \l setActiveFocusOnPress() method can be used to create a UI element that should not get - focus on press. This can be useful in a hybrid UI. - - The \l {WebEngineSettings::focusOnNavigationEnabled} {focusOnNavigationEnabled} setting can be - used to make the view automatically receive focus when a navigation operation occurs - (like loading or reloading a page or navigating through history). - - The \l linkHovered() signal is emitted when a mouse pointer passes over a link and thus - corresponds to the \c{mouseover} DOM event. - - Actions, such as selecting and editing content, can be performed on a web page by using the - \l triggerWebAction() method. The available actions are described by the \l WebAction property. - - The \l backgroundColorChanged() signal is emitted when the web page background color changes. - - \section2 User Scripts - - During the loading of a page, so called \e {user scripts} can be injected in the JavaScript - engine at different points. The script objects attached to the web engine view are held by the - \l userScripts property and injected by using the WebEngineScript type. Scripts can also be run - by using the runJavaScript() method in the same world as other scripts that are part of the - loaded site. - - The \l webChannel property can be used to expose a WebChannel instance in the JavaScript context - of the page it is rendering as \c qt.webChannelTransport. - - \section2 Fullscreen Mode - - A web page can request through the JavaScript API to be loaded in fullscreen mode. The - \l fullScreenRequested() signal is emitted when the web page issues the request. The - FullScreenRequest utility type can be used to toggle fullscreen requests. The - \l fullScreenCancelled method can be used to notify the browser engine when the windowing - system forces the application to leave fullscreen mode. - - \section2 Profiles - - Web engine views can be isolated from each other by using the WebEngineProfile type. A profile - contains settings, scripts, and the list of visited links shared by all views that belong to the - profile. For example, a dedicated profile could be created for a \e {private browsing} mode. The - current profile for the view is held by the \l profile property and the current settings are - held by the \l settings property. The settings are specified by using the WebEngineSettings - type. - - \section2 Platform Features - - Web pages can request access to platform features, such as geolocation or audio and video - capture devices. The \l featurePermissionRequested() signal is emitted when a web page requests - to make use of a resource. The supported platform features are described by the \l Feature - property. If users grant the permission, the \l grantFeaturePermission() method is used to set - it to \e granted. - - \section2 Rendering to OpenGL Surface - - When using a QQuickRenderControl to render a Qt Quick user interface to an OpenGL surface, the - WebEngineView type is not rendered correctly. The web engine view attempts to use a global - OpenGL context created by \l QtWebEngine::initialize, but there is no public API for accessing - that context in order to share it with the \c QQuickRenderControl context. - - To have the web engine view rendered correctly, it is possible to manually create a new - offscreen context that is shared with the \c QQuickRenderControl and to call the non-public - function \c qt_gl_set_global_share_context(), rather than calling \c initialize(). - If \c initialize() is called after setting a global context, it will do nothing. -*/ - -/*! - \qmlmethod void WebEngineView::goBack() - - Go backward within the browser's session history, if possible. - This function is equivalent to the \c{window.history.back()} DOM method. - - \sa canGoBack -*/ - -/*! - \qmlmethod void WebEngineView::goForward() - - Go forward within the browser's session history, if possible. - This function is equivalent to the \c{window.history.forward()} DOM method. -*/ - -/*! - \qmlmethod void WebEngineView::goBackOrForward(int offset) - \since QtWebEngine 1.1 - - If \a offset is positive, goes forward the specified number of offset - pages in the current session history. If offset is negative, it goes - back. If the offset is invalid, the page is not changed. - - \sa goBack(), goForward() -*/ - -/*! - \qmlmethod void WebEngineView::stop() - - Stops loading the current page. -*/ - -/*! - \qmlmethod void WebEngineView::reload() - - Reloads the current page. This function is equivalent to the - \c{window.location.reload()} DOM method. - - \sa reloadAndBypassCache() -*/ - -/*! - \qmlmethod void WebEngineView::reloadAndBypassCache() - \since QtWebEngine 1.1 - - Reloads the current page, ignoring any cached content. - - \sa reload() -*/ - -/*! - \qmlproperty url WebEngineView::url - - The location of the currently displayed HTML page. This writable - property offers the main interface to load a page into a web view. - It functions the same as the \c{window.location} DOM property. - - \sa loadHtml() -*/ - -/*! - \qmlproperty url WebEngineView::icon - \readonly - - An internal URL for accessing the currently displayed web site icon, - also known as favicon or shortcut icon. The icon is already downloaded - and stored by the \QWE's favicon manager. - This read-only URL corresponds to the image used within a mobile browser - application to represent a bookmarked page on the device's home screen. - - The following snippet uses the \c{icon} property to build an \c{Image} - component: - - \qml - Image { - id: appIcon - sourceSize: Qt.size(32, 32) - source: webView.icon != "" ? webView.icon : "fallbackFavicon.png"; - // ... - } - \endqml - - Specifying the \c{sourceSize} property of the \c{Image} element informs - the \QWE's favicon provider about the requested size. The - favicon provider tries to find the best fit among the web page candidate - icons. If \c{sourceSize} property is not specified, the provider provides - the icon with the largest resolution. -*/ - -/*! - \qmlproperty int WebEngineView::loadProgress - \readonly - - The amount of data from the page that has been loaded, expressed - as an integer percentage in the range from \c{0} to \c{100}. -*/ - -/*! - \qmlproperty bool WebEngineView::canGoBack - \readonly - - Returns \c{true} if there are prior session history entries, \c{false} - otherwise. -*/ - -/*! - \qmlproperty bool WebEngineView::canGoForward - \readonly - - Returns \c{true} if there are subsequent session history entries, - \c{false} otherwise. -*/ - -/*! - \qmlproperty bool WebEngineView::loading - \readonly - - Returns \c{true} if the HTML page is currently loading, \c{false} otherwise. -*/ - -/*! - \qmlproperty string WebEngineView::title - \readonly - - The title of the currently displayed HTML page. This is a - read-only value that reflects the contents of the \c{<title>} tag. -*/ - -/*! - \qmlproperty bool WebEngineView::isFullScreen - \since QtWebEngine 1.1 - \readonly - - Returns \c{true} if the web view is in fullscreen mode, \c{false} otherwise. - - \sa fullScreenRequested(), fullScreenCancelled() -*/ - -/*! - \qmlproperty WebEngineHistory WebEngineView::navigationHistory - \since QtWebEngine 1.1 - \readonly - - The navigation history of the current view. - - \sa WebEngineHistory -*/ - -/*! - \qmlproperty QQmlWebChannel WebEngineView::webChannel - \since QtWebEngine 1.1 - - The web channel instance used by this view. - This channel is automatically using the internal QtWebEngine transport mechanism over Chromium IPC, - and exposed in the javascript context of the page it is rendering as \c qt.webChannelTransport. - This transport object is used when instantiating the JavaScript counterpart of QWebChannel using - the \l{Qt WebChannel JavaScript API}. - - \note The view does not take ownership for an assigned webChannel object. -*/ - -/*! - \qmlproperty WebEngineProfile WebEngineView::profile - \since QtWebEngine 1.1 - - The current profile used for the view. - - \sa WebEngineProfile -*/ - -/*! - \qmlproperty WebEngineSettings WebEngineView::settings - \readonly - \since QtWebEngine 1.1 - - Settings used by this view. - - \sa WebEngineSettings -*/ - - -/*! - \qmlproperty list<WebEngineScript> WebEngineView::userScripts - \readonly - \since QtWebEngine 1.1 - - List of script objects attached to the view. - - \sa WebEngineScript -*/ - -/*! - \qmlproperty real WebEngineView::zoomFactor - \since QtWebEngine 1.1 - - Zoom factor for the view. Valid values are within the range from \c{0.25} - to \c{5.0}. The default factor is \c{1.0}. -*/ - -/*! - \qmlproperty size WebEngineView::contentsSize - \since QtWebEngine 1.3 - - Size of the page contents. -*/ - -/*! - \qmlproperty point WebEngineView::scrollPosition - \since QtWebEngine 1.3 - - Scroll position of the page contents. -*/ - -/*! - \qmlproperty int WebEngineView::webChannelWorld - \since QtWebEngine 1.3 - - JavaScript world that the web channel instance used by this view is - installed in. The world must be a number between \c 0 and \c 256. -*/ - -/*! - \qmlmethod void WebEngineView::loadHtml(string html, url baseUrl) - Loads the specified \a html as the content of the web view. - - This method offers a lower-level alternative to the \c{url} property, - which references HTML pages via URL. - - External objects, such as stylesheets or images referenced in the HTML - document, should be located relative to \a baseUrl. For external objects to - be loaded, \c baseUrl cannot be empty. For example, if \a html - is retrieved from \c http://www.example.com/documents/overview.html, which - is the base URL, then an image referenced with the relative URL, \c diagram.png, - should be at \c{http://www.example.com/documents/diagram.png}. - - \sa url -*/ - -/*! - \qmlmethod void WebEngineView::runJavaScript(string script, variant callback) - Runs the specified \a script in the content of the web view. - - The \a callback parameter is optional. If a callback function is provided, - it will be invoked after the script finishes running. - - \code - runJavaScript("document.title", function(result) { console.log(result); }); - \endcode - - Only plain data can be returned from JavaScript as the result value. - Supported data types include all of the JSON data types as well as, for - example, \c{Date} and \c{ArrayBuffer}. Unsupported data types include, for - example, \c{Function} and \c{Promise}. - - The script will run in the same \e world as other scripts that are - part of the loaded site. - - \warning Do not execute lengthy routines in the callback function, because it might block the - rendering of the web content. - - For more information about injecting scripts, see \l {Script Injection}. - For an alternative way to inject scripts, see WebEngineView::userScripts. -*/ - -/*! - \qmlmethod void WebEngineView::findText(string subString) - \since QtWebEngine 1.1 - Finds the specified string, \a subString, in the page. - The findTextFinished() signal is emitted when a string search is completed. - - To clear the search highlight, just pass an empty string. - - \sa findTextFinished() -*/ - -/*! - \qmlmethod void WebEngineView::findText(string subString, FindFlags options) - \since QtWebEngine 1.1 - Finds the specified string, \a subString, in the page, using the given \a options. - The findTextFinished() signal is emitted when a string search is completed. - - To clear the search highlight, just pass an empty string. - - \code - findText("Qt", WebEngineView.FindBackward | WebEngineView.FindCaseSensitively); - \endcode - - \sa findTextFinished() -*/ - -/*! - \qmlmethod void WebEngineView::findText(string subString, FindFlags options, variant resultCallback) - \since QtWebEngine 1.1 - Finds the specified string, \a subString, in the page, using the given \a options. - The findTextFinished() signal is emitted when a string search is completed. - - To clear the search highlight, just pass an empty string. - - The \a resultCallback must take an integer parameter. It will be called with - the number of found occurrences of the \a subString. - - \code - findText("Qt", WebEngineView.FindCaseSensitively, function(matchCount) { - if (matchCount > 0) - console.log("'Qt' tokens found:", matchCount); - }); - \endcode - - \sa findTextFinished() -*/ - -/*! - \qmlmethod void WebEngineView::grantFeaturePermission(url securityOrigin, Feature feature, bool granted) - \since QtWebEngine 1.1 - - Sets or unsets the permission, depending on \a granted, for the web site - identified by \a securityOrigin to use \a feature. - - \sa featurePermissionRequested() -*/ - - -/*! - \qmlmethod void WebEngineView::fullScreenCancelled() - \since QtWebEngine 1.1 - - Immediately sets \c{isFullScreen} property to \c{false}. It can be used to notify the - browser engine when the windowing system forces the application to leave fullscreen mode. - - \qml - ApplicationWindow { - onVisibilityChanged: { - if (webEngineView.isFullScreen && visibility != Window.FullScreen) - webEngineView.fullScreenCancelled() - } - - WebEngineView { - id: webEngineView - // ... - } - } - \endqml - - \sa isFullScreen, fullScreenRequested() -*/ - -/*! - \qmlmethod void WebEngineView::setActiveFocusOnPress(bool arg) - \since QtWebEngine 1.2 - - Sets active focus to a clicked web engine view if \a arg is \c true. By setting it to \c false, - a web engine view can be used to create a UI element that should not get focus. This can be - useful in a hybrid UI. - - \sa activeFocusOnPress, activeFocusOnPressChanged, - WebEngineSettings::focusOnNavigationEnabled -*/ - -/*! - \qmlmethod void WebEngineView::triggerWebAction(WebAction action) - \since QtWebEngine 1.2 - - Triggers the web action \a action. - - \sa WebAction -*/ - -/*! - \qmlsignal WebEngineView::featurePermissionRequested(url securityOrigin, Feature feature) - \since QtWebEngine 1.1 - - This signal is emitted when the web site identified by \a securityOrigin requests - to make use of the resource or device identified by \a feature. - - \sa grantFeaturePermission() -*/ - -/*! - \qmlsignal WebEngineView::loadingChanged(WebEngineLoadRequest loadRequest) - - This signal is emitted when a page load begins, ends, or fails. - - When handling the signal with \c onLoadingChanged, various read-only - parameters are available on the WebEngineLoadRequest specified by - \a loadRequest. - - \sa loading, LoadStatus, ErrorDomain -*/ - -/*! - \qmlsignal WebEngineView::certificateError(WebEngineCertificateError error) - \since QtWebEngine 1.1 - - This signal is emitted when an invalid certificate error, \a error, is - raised while loading a given request. - - The certificate error can be handled by using the methods of the WebEngineCertificateError - type. -*/ - -/*! - \qmlsignal WebEngineView::linkHovered(url hoveredUrl) - - Within a mouse-driven interface, this signal is emitted when a mouse - pointer passes over a link, corresponding to the \c{mouseover} DOM - event. This event may also occur in touch interfaces for \c{mouseover} - events that are not cancelled with \c{preventDefault()}. \a{hoveredUrl} - provides the link's location. -*/ - -/*! - \qmlsignal WebEngineView::javaScriptConsoleMessage(JavaScriptConsoleMessageLevel level, string message, int lineNumber, string sourceID) - This signal is emitted when a JavaScript program tries to print a \a message to the web browser's console. - - For example, in case of evaluation errors the source URL may be provided in \a sourceID as well - as the \a lineNumber. - - \a level indicates the severity of the event that triggered the message, that is, whether it - was triggered by an error or a less severe event. - - If no handler is specified, the view will log the messages into a \c js - \l{QLoggingCategory}{logging category}. - - \sa{Console Logging} -*/ - -/*! - \qmlsignal WebEngineView::newViewRequested(WebEngineNewViewRequest request) - \since QtWebEngine 1.1 - - This signal is emitted when \a request is issued to load a page in a separate - web engine view. This can either be because the current page requested it explicitly - through a JavaScript call to \c window.open, or because the user clicked on a link - while holding Shift, Ctrl, or a built-in combination that triggers the page to open - in a new window. - - If this signal is not handled, the requested load will fail. - - An example implementation: - - \snippet snippets/qtwebengine_webengineview_newviewrequested.qml 0 - - \sa NewViewDestination, {WebEngine Quick Nano Browser} -*/ - -/*! - \qmlsignal WebEngineView::fullScreenRequested(FullScreenRequest request) - \since QtWebEngine 1.1 - - This signal is emitted when the web page issues the \a request for - fullscreen mode through the JavaScript API. - - \sa isFullScreen -*/ - -/*! - \qmlsignal WebEngineView::activeFocusOnPressChanged(bool activeFocusOnPress) - \since QtWebEngine 1.2 - - This signal is emitted when the value of \a activeFocusOnPress changes. - It specifies whether the view should gain active focus when pressed. - - \sa activeFocusOnPress, setActiveFocusOnPress() -*/ - -/*! - \qmlsignal WebEngineView::backgroundColorChanged() - \since QtWebEngine 1.2 - - This signal is emitted when the web engine view background color changes. -*/ - -/*! - \qmlsignal WebEngineView::renderProcessTerminated(RenderProcessTerminationStatus terminationStatus, int exitCode) - - \since QtWebEngine 1.2 - - This signal is emitted when the render process is terminated with a non-zero exit status. - \a terminationStatus is the termination status of the process and \a exitCode is the status code - with which the process terminated. - - \sa RenderProcessTerminationStatus -*/ - -/*! - \qmlsignal WebEngineView::windowCloseRequested() - \since QtWebEngine 1.2 - - This signal is emitted whenever the page requests the web browser window to be closed, - for example through the JavaScript \c{window.close()} call. -*/ - -/*! - \qmlproperty enumeration WebEngineView::ErrorDomain - - Describes various high-level error types: - - \value WebEngineView.NoErrorDomain - \value WebEngineView.InternalErrorDomain - Content fails to be interpreted by \QWE. - \value WebEngineView.ConnectionErrorDomain - Error results from faulty network connection. - \value WebEngineView.CertificateErrorDomain - Error related to the SSL/TLS certificate. - \value WebEngineView.HttpErrorDomain - Error related to the HTTP connection. - \value WebEngineView.FtpErrorDomain - Error related to the FTP connection. - \value WebEngineView.DnsErrorDomain - Error related to the DNS connection. -*/ - -/*! - \qmlproperty enumeration WebEngineView::JavaScriptConsoleMessageLevel - - Indicates the severity of a JavaScript console message: - - \value WebEngineView.InfoMessageLevel - Message is purely informative and can safely be ignored. - \value WebEngineView.WarningMessageLevel - Message indicates there might be a problem that may need attention. - \value WebEngineView.ErrorMessageLevel - Message indicates there has been an error. -*/ - -/*! - \qmlproperty enumeration WebEngineView::LoadStatus - - Reflects a page's load status: - - \value WebEngineView.LoadStartedStatus - Page is currently loading. - \value WebEngineView.LoadStoppedStatus - Loading the page was stopped by the stop() method or by the loader - code or network stack in Chromium. - \value WebEngineView.LoadSucceededStatus - Page has successfully loaded, and is not currently loading. - \value WebEngineView.LoadFailedStatus - Page has failed to load, and is not currently loading. -*/ - -/*! - \qmlproperty enumeration WebEngineView::NewViewDestination - - Describes how to open a new view: - - \value WebEngineView.NewViewInWindow - In a separate Window. - \value WebEngineView.NewViewInTab - In a tab of the same window. - \value WebEngineView.NewViewInDialog - In a Window without a tab bar, toolbar, or URL bar. - \value WebEngineView.NewViewInBackgroundTab - In a tab of the same window, without hiding the currently visible web engine view. - - \sa {WebEngineNewViewRequest::destination}{WebEngineNewViewRequest.destination} -*/ - -/*! - \qmlproperty enumeration WebEngineView::FindFlags - - Describes the options available to the findText() function. The options - can be OR-ed together from the following list: - - \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() -*/ - -/*! - \qmlproperty enumeration WebEngineView::RenderProcessTerminationStatus - \since QtWebEngine 1.2 - - Describes the status with which the render process terminated: - - \value WebEngineView.NormalTerminationStatus - The render process terminated normally. - \value WebEngineView.AbnormalTerminationStatus - The render process terminated with a non-zero exit status. - \value WebEngineView.CrashedTerminationStatus - The render process crashed, for example because of a segmentation fault. - \value WebEngineView.KilledTerminationStatus - The render process was killed, for example by \c SIGKILL or task manager kill. -*/ - -/*! - \qmlproperty enumeration WebEngineView::WebAction - \since QtWebEngine 1.2 - - Describes the types of action that can be performed on a web page: - - \value WebEngineView.NoWebAction - No action is triggered. - \value WebEngineView.Back - Navigate back in the history of navigated links. - \value WebEngineView.Forward - Navigate forward in the history of navigated links. - \value WebEngineView.Stop - Stop loading the current page. - \value WebEngineView.Reload - Reload the current page. - \value WebEngineView.ReloadAndBypassCache - Reload the current page, but do not use any local cache. - \value WebEngineView.Cut - Cut the content currently selected into the clipboard. - \value WebEngineView.Copy - Copy the content currently selected into the clipboard. - \value WebEngineView.Paste - Paste content from the clipboard. - \value WebEngineView.Undo - Undo the last editing action. - \value WebEngineView.Redo - Redo the last editing action. - \value WebEngineView.SelectAll - Select all content. - This action is only enabled when the page's content is focused. - The focus can be forced by the JavaScript \c{window.focus()} call, or the - \l{WebEngineSettings::focusOnNavigationEnabled} {focusOnNavigationEnabled} setting - should be enabled to get automatic focus. - \value WebEngineView.PasteAndMatchStyle - Paste content from the clipboard with current style. - \value WebEngineView.OpenLinkInThisWindow - Open the current link in the current window. (Added in Qt 5.6) - \value WebEngineView.OpenLinkInNewWindow - Open the current link in a new window. Requires a handler for the - \l newViewRequested() signal. (Added in Qt 5.6) - \value WebEngineView.OpenLinkInNewTab - Open the current link in a new tab. Requires a handler for the - \l newViewRequested() signal. (Added in Qt 5.6) - \value WebEngineView.CopyLinkToClipboard - Copy the current link to the clipboard. (Added in Qt 5.6) - \value WebEngineView.CopyImageToClipboard - Copy the clicked image to the clipboard. (Added in Qt 5.6) - \value WebEngineView.CopyImageUrlToClipboard - Copy the clicked image's URL to the clipboard. (Added in Qt 5.6) - \value WebEngineView.CopyMediaUrlToClipboard - Copy the hovered audio or video's URL to the clipboard. (Added in Qt 5.6) - \value WebEngineView.ToggleMediaControls - Toggle between showing and hiding the controls for the hovered audio or video element. - (Added in Qt 5.6) - \value WebEngineView.ToggleMediaLoop - Toggle whether the hovered audio or video should loop on completetion or not. - (Added in Qt 5.6) - \value WebEngineView.ToggleMediaPlayPause - Toggle the play/pause state of the hovered audio or video element. (Added in Qt 5.6) - \value WebEngineView.ToggleMediaMute - Mute or unmute the hovered audio or video element. (Added in Qt 5.6) - \value WebEngineView.DownloadLinkToDisk - Download the current link to the disk. To implement download - actions, connect to the \l {QQuickWebEngineProfile::downloadRequested} - {WebEngineProfile.downloadRequested} signal. (Added in Qt 5.6) - \value WebEngineView.DownloadImageToDisk - Download the highlighted image to the disk. (Added in Qt 5.6) - \value WebEngineView.DownloadMediaToDisk - Download the hovered audio or video to the disk. (Added in Qt 5.6) - \value WebEngineView.InspectElement - Trigger any attached Web Inspector to inspect the highlighed element. - (Added in Qt 5.6) - \value WebEngineView.ExitFullScreen - Exit the fullscreen mode. (Added in Qt 5.6) - \value WebEngineView.SavePage - Save the current web page to disk. (Added in Qt 5.7) - \value WebEngineView.ViewSource - Show the source of the current page in a new tab. Requires a handler for the - \l newViewRequested() signal. (Added in Qt 5.8) - - \value WebEngineView.ToggleBold - Toggles boldness for the selection or at the cursor position. - Requires \c contenteditable="true". (Added in Qt 5.10) - \value WebEngineView.ToggleItalic - Toggles italics for the selection or at the cursor position. - Requires \c contenteditable="true". (Added in Qt 5.10) - \value WebEngineView.ToggleUnderline - Toggles underlining of the selection or at the cursor position. - Requires \c contenteditable="true". (Added in Qt 5.10) - \value WebEngineView.ToggleStrikethrough - Toggles striking through the selection or at the cursor position. - Requires \c contenteditable="true". (Added in Qt 5.10) - - \value WebEngineView.AlignLeft - Aligns the lines containing the selection or the cursor to the left. - Requires \c contenteditable="true". (Added in Qt 5.10) - \value WebEngineView.AlignCenter - Aligns the lines containing the selection or the cursor at the center. - Requires \c contenteditable="true". (Added in Qt 5.10) - \value WebEngineView.AlignRight - Aligns the lines containing the selection or the cursor to the right. - Requires \c contenteditable="true". (Added in Qt 5.10) - \value WebEngineView.AlignJustified - Stretches the lines containing the selection or the cursor so that each - line has equal width. - Requires \c contenteditable="true". (Added in Qt 5.10) - \value WebEngineView.Indent - Indents the lines containing the selection or the cursor. - Requires \c contenteditable="true". (Added in Qt 5.10) - \value WebEngineView.Outdent - Outdents the lines containing the selection or the cursor. - Requires \c contenteditable="true". (Added in Qt 5.10) - - \value WebEngineView.InsertOrderedList - Inserts an ordered list at the current cursor position, deleting the current selection. - Requires \c contenteditable="true". (Added in Qt 5.10) - \value WebEngineView.InsertUnorderedList - Inserts an unordered list at the current cursor position, - deleting the current selection. - Requires \c contenteditable="true". (Added in Qt 5.10) - \omitvalue WebActionCount -*/ - -/*! - \qmlproperty enumeration WebEngineView::Feature - - Describes the platform feature access categories that the user may be asked to grant or deny - access to: - - \value WebEngineView.Geolocation - Location hardware or service. - \value WebEngineView.MediaAudioCapture - Audio capture devices, such as microphones. - \value WebEngineView.MediaVideoCapture - Video devices, such as cameras. - \value WebEngineView.MediaAudioVideoCapture - Both audio and video capture devices. - \value DesktopVideoCapture - Video output capture, that is, the capture of the user's display. - (Added in Qt 5.10) - \value DesktopAudioVideoCapture - Both audio and video output capture. (Added in Qt 5.10) - \value WebEnginView.Notifications - Web notifications for the end-user. - - \sa featurePermissionRequested(), grantFeaturePermission() -*/ - -/*! - \qmlproperty enumeration WebEngineView::PrintedPageSizeId - \since QtWebEngine 1.3 - - This enum type lists the available page sizes as defined in the Postscript - PPD standard. - - The enumeration values are mapped from and must match QPageSize::PageSizeId. They are also - duplicated in QPagedPaintDevice and QPrinter. - - The defined sizes are: - - \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 - - \sa WebEngineView::printToPdf() -*/ - -/*! - \qmlproperty enumeration WebEngineView::PrintedPageOrientation - \since QtWebEngine 1.3 - - 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 WebEngineView.Portrait - The document will be created using portrait orientation. - - \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 FullScreenRequest - \instantiates QQuickWebEngineFullScreenRequest - \inqmlmodule QtWebEngine - \since QtWebEngine 1.1 - - \brief A utility type for the WebEngineView::fullScreenRequested() signal. - - \sa WebEngineView::fullScreenRequested() -*/ - -/*! - \qmlproperty url FullScreenRequest::origin - \readonly - The URL of the web page that issued the fullscreen request. -*/ - -/*! - \qmlproperty bool FullScreenRequest::toggleOn - \readonly - - Returns \c{true} if the application should toggle fullscreen mode on, \c{false} otherwise. - - \sa accept() -*/ - -/*! - \qmlmethod void FullScreenRequest::accept() - - Call this method to accept the fullscreen request. It sets the WebEngineView::isFullScreen - property to be equal to toggleOn. - - \qml - ApplicationWindow { - id: window - WebEngineView { - onFullScreenRequested: function(request) { - if (request.toggleOn) - window.showFullScreen() - else - window.showNormal() - request.accept() - } - } - } - \endqml - - \sa toggleOn -*/ - -/*! - \qmlmethod void FullScreenRequest::reject() - Rejects a fullscreen request. -*/ - -/*! - \qmlproperty bool WebEngineView::audioMuted - \brief The state of whether the current page audio is muted. - \since QtWebEngine 1.3 - \sa recentlyAudible -*/ - -/*! - \qmlsignal WebEngineView::audioMutedChanged(bool muted) - \since QtWebEngine 1.3 - - This signal is emitted when the value of \a muted changes. The value is - specified using the \l audioMuted property. - \note Not to be confused with a specific HTML5 audio / video element being muted. - - \sa audioMuted, recentlyAudibleChanged -*/ - -/*! - \qmlproperty bool WebEngineView::recentlyAudible - \brief Returns the current page's audible state (audio was recently played, or not). - \since QtWebEngine 1.3 - \readonly - \sa audioMuted, recentlyAudibleChanged -*/ - -/*! - \qmlsignal WebEngineView::recentlyAudibleChanged(bool recentlyAudible) - \since QtWebEngine 1.3 - - This signal is emitted when the page's audible state, specified by - \a recentlyAudible, is changed, due to audio being played or stopped. - - \note The signal is also emitted when the \l audioMuted property changes. - Also if the audio is paused, this signal is emitted with an approximate \b{two-second - delay}, from the moment the audio is paused. - - This signal is also emitted for Flash plugin audio. - - If a web page contains two videos that are started in sequence, this signal - gets emitted only once, for the first video to generate sound. After both - videos are stopped, the signal is emitted upon the last sound generated. - This means that the signal is emitted both when any kind of sound is - generated and when everything is completely silent within a web page, - regardless of the number of audio streams. - - Spurious signal emissions might also happen. For example, when sound is - stopped, this signal gets emitted first with a value of \c true, and then - with a value of \c false. Further, when audio starts playing, the signal is - emitted twice with a value of \c true. - - \sa recentlyAudible -*/ - -/*! - \qmlsignal WebEngineView::pdfPrintingFinished(string filePath, bool success) - \since QtWebEngine 1.5 - - This signal is emitted when printing the web page into a PDF file has - finished. - \a filePath will contain the path the file was requested to be created - at, and \a success will be \c true if the file was successfully created and - \c false otherwise. - - \sa printToPdf() -*/ - -/*! - \qmlmethod void WebEngineView::printToPdf(const string filePath, PrintedPageSizeId pageSizeId, PrintedPageOrientation orientation) - \since QtWebEngine 1.3 - - Prints the WebEngineView's current content to a PDF document and stores it - under \a filePath. The document's size will be determined by the value of - \a pageSizeId and its orientation will be determined using \a orientation. - - This method issues an asynchronous request for printing the web page into a - PDF and returns immediately. To be informed about the result of the - request, connect to the signal pdfPrintingFinished(). - - If you leave out \a pageSizeId, it defaults to \c A4. If you leave out - \a orientation, it defaults to \c Portrait. - - \sa pdfPrintingFinished() -*/ - -/*! - \qmlmethod void WebEngineView::printToPdf(variant resultCallback, PrintedPageSizeId pageSizeId, PrintedPageOrientation orientation) - \since QtWebEngine 1.3 - - Prints the WebEngineView's current content to a PDF document and returns it in a byte array. The document's size will be determined - by the value of \a pageSizeId and its orientation will be determined using \a orientation. - - The \a resultCallback must take a string parameter. This string will contain the document's data upon successful printing and an empty - string otherwise. - - If you leave out \a pageSizeId, it defaults to \c A4. If you leave out - \a orientation, it defaults to \c Portrait. -*/ - -/*! - \qmlmethod void WebEngineView::replaceMisspelledWord(const QString &replacement) - \since QtWebEngine 1.3 - - Replace the current misspelled word with \a replacement. -*/ - -/*! - \qmlsignal WebEngineView::wasRecentlyAudibleChanged(bool wasRecentlyAudible) - \since QtWebEngine 1.3 - - This signal is emitted when the page's audible state, specified by - \a wasRecentlyAudible, is changed, due to audio being played or stopped. - - \note The signal is also emitted when calling the setAudioMuted method. - Also if the audio is paused, this signal is emitted with an approximate \b{2 second - delay}, from the moment the audio is paused. -*/ - -/*! - \qmlsignal WebEngineView::authenticationDialogRequested(AuthenticationDialogRequest request) - \since QtWebEngine 1.4 - - This signal is emitted when an authentication dialog is requested. - - The \a request can be handled by using the methods of the AuthenticationDialogRequest - type. - - \note Signal handlers need to call \c{request.accepted = true} to prevent a - default dialog from showing up. Make sure to call either - AuthenticationDialogRequest::dialogAccept() or AuthenticationDialogRequest::dialogReject() - afterwards. -*/ - -/*! - \qmlsignal WebEngineView::javaScriptDialogRequested(JavaScriptDialogRequest request) - \since QtWebEngine 1.4 - - This signal is emitted when a JavaScript dialog is requested. - - The \a request can be handled by using the methods of the JavaScriptDialogRequest - type. - - \note Signal handlers need to call \c{request.accepted = true} to prevent a - default dialog from showing up. Make sure to call either - JavaScriptDialogRequest::dialogAccept() or JavaScriptDialogRequest::dialogReject() - afterwards. -*/ - -/*! - \qmlsignal WebEngineView::colorDialogRequested(ColorDialogRequest request) - \since QtWebEngine 1.4 - - This signal is emitted when a color picker dialog is requested. - - The \a request can be handled by using the methods of the ColorDialogRequest - type. - - \note Signal handlers need to call \c{request.accepted = true} to prevent a - default dialog from showing up. Make sure to call either - ColorDialogRequest::dialogAccept() or ColorDialogRequest::dialogReject() afterwards. -*/ - -/*! - \qmlsignal WebEngineView::fileDialogRequested(FileDialogRequest request) - \since QtWebEngine 1.4 - - This signal is emitted when a file picker dialog is requested. - - The \a request can be handled by using the methods of the FileDialogRequest - type. - - \note Signal handlers need to call \c{request.accepted = true} to prevent a - default dialog from showing up. Make sure to call either FileDialogRequest::dialogAccept() - or FileDialogRequest::dialogReject() afterwards. -*/ - -/*! - \qmlsignal WebEngineView::formValidationMessageRequested(FormValidationMessageRequest request) - \since QtWebEngine 1.4 - \obsolete - - No longer used since 5.11, as Blink now renders Validation messages internally. -*/ - -/*! - \qmlsignal WebEngineView::contextMenuRequested(ContextMenuRequest request) - \since QtWebEngine 1.4 - - This signal is emitted when a context menu is requested. - - The \a request can be handled by using the properties of the ContextMenuRequest - type. - - \note Signal handlers need to call \c{request.accepted = true} to prevent a - default context menu from showing up. -*/ - -/*! \qmlsignal WebEngineView::navigationRequested(WebEngineNavigationRequest request) - This signal is emitted when the navigation request \a request is issued. -*/ - -/*! - \qmlsignal WebEngineView::quotaRequested(QuotaRequest request) - \since QtWebEngine 1.7 - - This signal is emitted when the web page issues a \a request for a larger persistent storage - than the application's current allocation in File System API. The default quota - is 0 bytes. - - \sa QuotaRequest -*/ - -/*! - \qmltype QuotaRequest - \instantiates QWebEngineQuotaRequest - \inqmlmodule QtWebEngine - \since QtWebEngine 1.7 - - \brief A utility type for the WebEngineView::quotaRequested() signal. - - \sa WebEngineView::quotaRequested() -*/ - -/*! - \qmlproperty url QuotaRequest::origin - \readonly - - The URL of the web page that issued the quota request. -*/ - -/*! - \qmlproperty qint64 QuotaRequest::requestedSize - \readonly - - Contains the size of the requested disk space in bytes. -*/ - -/*! - \qmlmethod void QuotaRequest::accept() - - Accepts the quota request. - - \qml - WebEngineView { - onQuotaRequested: function(request) { - if (request.requestedSize <= 5 * 1024 * 1024) - request.accept(); - else - request.reject(); - } - } - \endqml -*/ - -/*! - \qmlmethod void QuotaRequest::reject() - Rejects the quota request. -*/ - -/*! - \qmlsignal WebEngineView::registerProtocolHandlerRequested(RegisterProtocolHandlerRequest request) - \since QtWebEngine 1.7 - - This signal is emitted when the web page tries to register a custom protocol - by issuing a \l registerProtocolHandler \a request. - - \sa RegisterProtocolHandlerRequest -*/ - -/*! - \qmltype RegisterProtocolHandlerRequest - \instantiates QWebEngineRegisterProtocolHandlerRequest - \inqmlmodule QtWebEngine - \since QtWebEngine 1.7 - \brief The RegisterProtocolHandlerRequest type enables accepting - or rejecting requests from the \l registerProtocolHandler API. - - \sa WebEngineView::registerProtocolHandlerRequested() -*/ - -/*! - \qmlproperty url RegisterProtocolHandlerRequest::origin - \brief The URL template for the protocol handler. - - This is the second parameter from the \l registerProtocolHandler call. -*/ - -/*! - \qmlproperty string RegisterProtocolHandlerRequest::scheme - \brief The URL scheme for the protocol handler. - - This is the first parameter from the \l registerProtocolHandler call. -*/ - -/*! - \qmlmethod void RegisterProtocolHandlerRequest::accept() - \brief Accepts the request. - - Subsequent calls to accept() and reject() are ignored. -*/ - -/*! - \qmlmethod void RegisterProtocolHandlerRequest::reject() - \brief Accepts the request. - - Subsequent calls to accept() and reject() are ignored. -*/ - -/*! - \qmlsignal WebEngineView::geometryChangeRequested(rect geometry, rect frameGeometry) - \since QtWebEngine 1.7 - - This signal is emitted whenever the document wants to change the position and size of the - page to \a frameGeometry. This can happen for example through JavaScript. - - While \a frameGeometry includes, \a geometry excludes the size of frame margins. - - \note Geometry related properties of QML Window expect a size excluding the window - decoration. You have to use \a geometry to handle this signal correctly. - - \qml - onGeometryChangeRequested: { - window.x = geometry.x - window.y = geometry.y - window.width = geometry.width - window.height = geometry.height - } - \endqml -*/ - -/*! - \qmlproperty WebEngineView WebEngineView::inspectedView - \since QtWebEngine 1.7 - - The view this view is currently inspecting, if any. Setting it - will navigate to an internal URL with the developer tools of - the view set. - - It is recommended to unset this property when developer tools - are not visible; otherwise some debug information may appear - in the inspected WebEngineView. - - \sa devToolsView -*/ - -/*! - \qmlproperty WebEngineView WebEngineView::devToolsView - \since QtWebEngine 1.7 - - The view currently hosting the developer tools for this view. - Setting it to a new view will navigate that view to an internal - URL with the developer tools, and bind it to this view. - - \sa inspectedView -*/ - -/*! - \qmlmethod WebEngineAction WebEngineView::action(WebAction action) - \since 5.12 - - Returns a \l WebEngineAction for the specified \l WebAction \a action. - WebEngineView also takes care of implementing the action, - so that upon triggering the corresponding action is performed on the view. - - \code - var copyAction = webEngineView.action(WebEngineView.Copy); - \endcode - - \sa WebEngineAction -*/ - -/*! - \qmlsignal WebEngineView::printRequest - \since QtWebEngine 1.8 - - This signal is emitted when the JavaScript \c{window.print()} method is called. - Typically, the signal handler can simply call printToPdf(). - - \sa printToPdf -*/ - -/*! - \qmlsignal WebEngineView::selectClientCertificate(WebEngineClientCertificateSelection clientCertificateSelection) - \since QtWebEngine 1.9 - - This signal is emitted when a web site requests an SSL client certificate, and one or more were - found in the system's client certificate store. - - Handling the signal is asynchronous, and loading will be waiting until a certificate is selected, - or the last copy of \a clientCertificateSelection is destroyed. - - If the signal is not handled, \a clientCertificateSelection is automatically destroyed, and loading - will continue without a client certificate. - - \sa WebEngineClientCertificateSelection -*/ - -/*! - \qmlsignal WebEngineView::tooltipRequested(TooltipRequest request) - \since QtWebEngine 1.10 - - This signal is emitted when the web page sends a \a request to show a tooltip at - a specified position. - - \note Signal handlers need to call \c{request.accepted = true} to prevent a default tooltip from showing up. - - \sa TooltipRequest -*/ - -/*! - \qmlproperty enumeration WebEngineView::LifecycleState - \since QtWebEngine 1.10 - - This enum describes the lifecycle state of the page: - - \value WebEngineView.LifecycleState.Active - Normal state. - \value WebEngineView.LifecycleState.Frozen - Low CPU usage state where most HTML task sources are suspended. - \value WebEngineView.LifecycleState.Discarded - Very low resource usage state where the entire browsing context is discarded. - - \sa lifecycleState, {Page Lifecycle API}, {WebEngine Lifecycle Example} -*/ - -/*! - \qmlproperty LifecycleState WebEngineView::lifecycleState - \since QtWebEngine 1.10 - - \brief The current lifecycle state of the page. - - The following restrictions are enforced by the setter: - - \list - \li A visible page must remain in the \c{Active} state. - \li If the page is being inspected by a \l{devToolsView} then both pages must - remain in the \c{Active} states. - \li A page in the \c{Discarded} state can only transition to the \c{Active} - state. This will cause a reload of the page. - \endlist - - These are the only hard limits on the lifecycle state, but see also - \l{recommendedState} for the recommended soft limits. - - \sa recommendedState, {Page Lifecycle API}, {WebEngine Lifecycle Example} -*/ - -/*! - \qmlproperty LifecycleState WebEngineView::recommendedState - \since QtWebEngine 1.10 - - \brief The recommended limit for the lifecycle state of the page. - - Setting the lifecycle state to a lower resource usage state than the - recommended state may cause side-effects such as stopping background audio - playback or loss of HTML form input. Setting the lifecycle state to a higher - resource state is however completely safe. - - \sa lifecycleState, {Page Lifecycle API}, {WebEngine Lifecycle Example} -*/ - -/*! - \qmltype FindTextResult - \instantiates QWebEngineFindTextResult - \inqmlmodule QtWebEngine - \since QtWebEngine 1.10 - - \brief A utility type for encapsulating the result of a string search on a page. - - \sa WebEngineView::findTextFinished() -*/ - -/*! - \qmlproperty int FindTextResult::numberOfMatches - \readonly - - \brief The number of matches found. -*/ - -/*! - \qmlproperty int FindTextResult::activeMatch - \readonly - - \brief The index of the currently highlighted match. -*/ - -/*! - \qmlsignal WebEngineView::findTextFinished(FindTextResult result) - \since QtWebEngine 1.10 - - This signal is emitted when a string search on a page is completed. \a result is - the result of the string search. - - \sa findText(), FindTextResult -*/ - -/*! - \qmlproperty qint64 WebEngineView::renderProcessPid - \brief Returns the process ID (PID) of the render process assigned to the - current page's main frame. - \since QtWebEngine 1.11 - \readonly - - If no render process is available yet, \c 0 is returned. - - \sa renderProcessPidChanged -*/ - -/*! - \qmlsignal WebEngineView::renderProcessPidChanged(qint64 pid) - \since QtWebEngine 1.11 - \readonly - - If no render process is available yet, \c 0 is returned. - This signal is emitted when the PID (process ID) of the page's underlying - render process changed. - - \sa renderProcessPid -*/ |