summaryrefslogtreecommitdiffstats
path: root/src/webengine/doc
diff options
context:
space:
mode:
authorJüri Valdmann <juri.valdmann@qt.io>2018-04-16 09:23:35 +0200
committerJüri Valdmann <juri.valdmann@qt.io>2018-04-17 11:41:00 +0000
commit6a5eadd1cc11cb1233c8a3f5bac1d2911279cc40 (patch)
tree95017e783203b057bc8dd4438edfc14c40c51a1f /src/webengine/doc
parent313519b844e6a8ad3f54d3ab1554b99eaf0dbf4e (diff)
Document process model switches
Task-number: QTBUG-65561 Change-Id: I39b318b65c692c6b0fa9c81865fcaef5c7ee691c Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Michael Brüning <michael.bruning@qt.io>
Diffstat (limited to 'src/webengine/doc')
-rw-r--r--src/webengine/doc/src/qtwebengine-features.qdoc57
1 files changed, 57 insertions, 0 deletions
diff --git a/src/webengine/doc/src/qtwebengine-features.qdoc b/src/webengine/doc/src/qtwebengine-features.qdoc
index 04c99bd21..96b5072ee 100644
--- a/src/webengine/doc/src/qtwebengine-features.qdoc
+++ b/src/webengine/doc/src/qtwebengine-features.qdoc
@@ -44,6 +44,7 @@
\li \l{Native Dialogs}
\li \l{Pepper Plugin API}
\li \l{Print to PDF}
+ \li \l{Process Models}
\li \l{Spellchecker}
\li \l{Touch}
\li \l{View Source}
@@ -280,6 +281,62 @@
Support for this feature was added in Qt 5.7.0.
+ \section1 Process Models
+
+ Qt WebEngine 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 Qt WebEngine (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
Qt WebEngine supports integrating spellchecking support into HTML forms to