summaryrefslogtreecommitdiffstats
path: root/src/webengine
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2016-07-29 14:09:05 +0200
committerAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2016-08-02 12:00:57 +0200
commit1a49f193afe1ba54339182a49d891917159f6719 (patch)
tree986cf277193c625c2f61015c7f29c6b403a5eb02 /src/webengine
parent47d6b5ce11d1014548ba69df5d7b698381a8343e (diff)
parentfa138d4a76e9e820f01a75771c30dbced8c4e6f3 (diff)
Merge remote-tracking branch 'origin/5.6' into 5.7
Conflicts: src/3rdparty src/core/resources/resources.gyp src/webengine/doc/src/qtwebengine-overview.qdoc src/webenginewidgets/api/qwebenginepage.cpp src/webenginewidgets/api/qwebenginescriptcollection.cpp src/webenginewidgets/api/qwebenginescriptcollection_p.h tests/auto/widgets/qwebenginepage/BLACKLIST And readded newly in 5.6 enabled tests to the BLACKLIST. Change-Id: I4ab1fc54ebfaaf940df81b0d8d6bdd15cae8b7c4
Diffstat (limited to 'src/webengine')
-rw-r--r--src/webengine/api/qquickwebenginenewviewrequest_p.h2
-rw-r--r--src/webengine/api/qquickwebengineview.cpp12
-rw-r--r--src/webengine/api/qquickwebengineview_p_p.h4
-rw-r--r--src/webengine/doc/images/qtwebengine-architecture.pngbin8098 -> 9890 bytes
-rw-r--r--src/webengine/doc/images/qtwebengine-model.qmodel626
-rw-r--r--src/webengine/doc/images/qtwebengine-modules-model.qmodel500
-rw-r--r--src/webengine/doc/images/qtwebenginewidgets-model.qmodel789
-rw-r--r--src/webengine/doc/src/qtwebengine-overview.qdoc99
-rw-r--r--src/webengine/doc/src/webengineview.qdoc37
9 files changed, 1988 insertions, 81 deletions
diff --git a/src/webengine/api/qquickwebenginenewviewrequest_p.h b/src/webengine/api/qquickwebenginenewviewrequest_p.h
index e8665ba45..fd7fc42f4 100644
--- a/src/webengine/api/qquickwebenginenewviewrequest_p.h
+++ b/src/webengine/api/qquickwebenginenewviewrequest_p.h
@@ -75,7 +75,7 @@ private:
QQuickWebEngineNewViewRequest();
QQuickWebEngineView::NewViewDestination m_destination;
bool m_isUserInitiated;
- QExplicitlySharedDataPointer<QtWebEngineCore::WebContentsAdapter> m_adapter;
+ QSharedPointer<QtWebEngineCore::WebContentsAdapter> m_adapter;
QUrl m_requestedUrl;
friend class QQuickWebEngineView;
friend class QQuickWebEngineViewPrivate;
diff --git a/src/webengine/api/qquickwebengineview.cpp b/src/webengine/api/qquickwebengineview.cpp
index ced8c1452..67a41f659 100644
--- a/src/webengine/api/qquickwebengineview.cpp
+++ b/src/webengine/api/qquickwebengineview.cpp
@@ -564,7 +564,7 @@ void QQuickWebEngineViewPrivate::unhandledKeyEvent(QKeyEvent *event)
q->window()->sendEvent(q->parentItem(), event);
}
-void QQuickWebEngineViewPrivate::adoptNewWindow(WebContentsAdapter *newWebContents, WindowOpenDisposition disposition, bool userGesture, const QRect &)
+void QQuickWebEngineViewPrivate::adoptNewWindow(QSharedPointer<WebContentsAdapter> newWebContents, WindowOpenDisposition disposition, bool userGesture, const QRect &)
{
Q_Q(QQuickWebEngineView);
QQuickWebEngineNewViewRequest request;
@@ -770,7 +770,7 @@ QAccessible::State QQuickWebEngineViewAccessible::state() const
class WebContentsAdapterOwner : public QObject
{
public:
- typedef QExplicitlySharedDataPointer<QtWebEngineCore::WebContentsAdapter> AdapterPtr;
+ typedef QSharedPointer<QtWebEngineCore::WebContentsAdapter> AdapterPtr;
WebContentsAdapterOwner(const AdapterPtr &ptr)
: adapter(ptr)
{}
@@ -797,9 +797,9 @@ void QQuickWebEngineViewPrivate::adoptWebContents(WebContentsAdapter *webContent
// This throws away the WebContentsAdapter that has been used until now.
// All its states, particularly the loading URL, are replaced by the adopted WebContentsAdapter.
- WebContentsAdapterOwner *adapterOwner = new WebContentsAdapterOwner(adapter);
+ WebContentsAdapterOwner *adapterOwner = new WebContentsAdapterOwner(adapter->sharedFromThis());
adapterOwner->deleteLater();
- adapter = webContents;
+ adapter = webContents->sharedFromThis();
adapter->initialize(this);
// associate the webChannel with the new adapter
@@ -856,7 +856,7 @@ void QQuickWebEngineViewPrivate::ensureContentsAdapter()
{
Q_Q(QQuickWebEngineView);
if (!adapter) {
- adapter = new WebContentsAdapter();
+ adapter = QSharedPointer<WebContentsAdapter>::create();
adapter->initialize(this);
if (m_backgroundColor != Qt::white)
adapter->backgroundColorChanged();
@@ -1016,7 +1016,7 @@ void QQuickWebEngineViewPrivate::setProfile(QQuickWebEngineProfile *profile)
if (adapter && adapter->browserContext() != browserContextAdapter()->browserContext()) {
// When the profile changes we need to create a new WebContentAdapter and reload the active URL.
QUrl activeUrl = adapter->activeUrl();
- adapter = 0;
+ adapter.reset();
ensureContentsAdapter();
if (!explicitUrl.isValid() && activeUrl.isValid())
diff --git a/src/webengine/api/qquickwebengineview_p_p.h b/src/webengine/api/qquickwebengineview_p_p.h
index f13bfd09a..769e41a44 100644
--- a/src/webengine/api/qquickwebengineview_p_p.h
+++ b/src/webengine/api/qquickwebengineview_p_p.h
@@ -152,7 +152,7 @@ public:
virtual void loadFinished(bool success, const QUrl &url, bool isErrorPage = false, int errorCode = 0, const QString &errorDescription = QString()) Q_DECL_OVERRIDE;
virtual void focusContainer() Q_DECL_OVERRIDE;
virtual void unhandledKeyEvent(QKeyEvent *event) Q_DECL_OVERRIDE;
- virtual void adoptNewWindow(QtWebEngineCore::WebContentsAdapter *newWebContents, WindowOpenDisposition disposition, bool userGesture, const QRect &) Q_DECL_OVERRIDE;
+ virtual void adoptNewWindow(QSharedPointer<QtWebEngineCore::WebContentsAdapter> newWebContents, WindowOpenDisposition disposition, bool userGesture, const QRect &) Q_DECL_OVERRIDE;
virtual bool isBeingAdopted() Q_DECL_OVERRIDE;
virtual void close() Q_DECL_OVERRIDE;
virtual void windowCloseRejected() Q_DECL_OVERRIDE;
@@ -207,7 +207,7 @@ public:
static QQuickWebEngineScript *userScripts_at(QQmlListProperty<QQuickWebEngineScript> *p, int idx);
static void userScripts_clear(QQmlListProperty<QQuickWebEngineScript> *p);
- QExplicitlySharedDataPointer<QtWebEngineCore::WebContentsAdapter> adapter;
+ QSharedPointer<QtWebEngineCore::WebContentsAdapter> adapter;
QScopedPointer<QQuickWebEngineViewExperimental> e;
QScopedPointer<QQuickWebEngineViewport> v;
QScopedPointer<QQuickWebEngineHistory> m_history;
diff --git a/src/webengine/doc/images/qtwebengine-architecture.png b/src/webengine/doc/images/qtwebengine-architecture.png
index 1c94d385f..979a0ad3f 100644
--- a/src/webengine/doc/images/qtwebengine-architecture.png
+++ b/src/webengine/doc/images/qtwebengine-architecture.png
Binary files differ
diff --git a/src/webengine/doc/images/qtwebengine-model.qmodel b/src/webengine/doc/images/qtwebengine-model.qmodel
new file mode 100644
index 000000000..f3d5cb52b
--- /dev/null
+++ b/src/webengine/doc/images/qtwebengine-model.qmodel
@@ -0,0 +1,626 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<qmt>
+ <project>
+ <uid>{b4b96dcf-b444-4b48-96a0-0ced0222fbe4}</uid>
+ <root-package>
+ <instance>
+ <MPackage>
+ <base-MObject>
+ <MObject>
+ <base-MElement>
+ <MElement>
+ <uid>{4b17cf3d-b45a-4ca8-b6c2-f0a9db0a0d9e}</uid>
+ </MElement>
+ </base-MElement>
+ <name>qtwebengine-model</name>
+ <children>
+ <handles>
+ <handles>
+ <qlist>
+ <item>
+ <handle>
+ <uid>{d0623590-2a20-468b-9ec5-51987e78ae47}</uid>
+ <target>
+ <instance type="MCanvasDiagram">
+ <MCanvasDiagram>
+ <base-MDiagram>
+ <MDiagram>
+ <base-MObject>
+ <MObject>
+ <base-MElement>
+ <MElement>
+ <uid>{d0623590-2a20-468b-9ec5-51987e78ae47}</uid>
+ </MElement>
+ </base-MElement>
+ <name>qtwebengine-model</name>
+ </MObject>
+ </base-MObject>
+ <elements>
+ <qlist>
+ <item>
+ <instance type="DComponent">
+ <DComponent>
+ <base-DObject>
+ <DObject>
+ <base-DElement>
+ <DElement>
+ <uid>{e1622bc8-530c-4d18-ba77-202bad11f1e0}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{3507c733-97ee-4b84-835b-4d90f039ca72}</object>
+ <name>View</name>
+ <pos>x:260;y:70</pos>
+ <rect>x:-45;y:-30;w:90;h:60</rect>
+ <visual-role>0</visual-role>
+ </DObject>
+ </base-DObject>
+ </DComponent>
+ </instance>
+ </item>
+ <item>
+ <instance type="DComponent">
+ <DComponent>
+ <base-DObject>
+ <DObject>
+ <base-DElement>
+ <DElement>
+ <uid>{0bb9e92a-910d-4a32-877b-fd7e37710f79}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{ab5f0d96-cf38-430d-bef3-b7bd78952fdb}</object>
+ <name>Profile</name>
+ <pos>x:415;y:155</pos>
+ <rect>x:-50;y:-30;w:100;h:60</rect>
+ <visual-role>0</visual-role>
+ </DObject>
+ </base-DObject>
+ </DComponent>
+ </instance>
+ </item>
+ <item>
+ <instance type="DComponent">
+ <DComponent>
+ <base-DObject>
+ <DObject>
+ <base-DElement>
+ <DElement>
+ <uid>{54c2f051-8fdb-48f2-b528-2caa8fd1f854}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{999dd0f9-53f0-47bd-90ea-714c0dea50d7}</object>
+ <name>History</name>
+ <pos>x:110;y:155</pos>
+ <rect>x:-50;y:-30;w:100;h:60</rect>
+ <visual-role>0</visual-role>
+ </DObject>
+ </base-DObject>
+ </DComponent>
+ </instance>
+ </item>
+ <item>
+ <instance type="DComponent">
+ <DComponent>
+ <base-DObject>
+ <DObject>
+ <base-DElement>
+ <DElement>
+ <uid>{ae2fed61-96c0-4755-aad1-2d02fbc6e36e}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{b2ea9c4f-8b35-46c3-b2a5-3f22d72069e7}</object>
+ <name>Settings</name>
+ <pos>x:260;y:240</pos>
+ <rect>x:-50;y:-30;w:100;h:60</rect>
+ <visual-role>0</visual-role>
+ </DObject>
+ </base-DObject>
+ </DComponent>
+ </instance>
+ </item>
+ <item>
+ <instance type="DDependency">
+ <DDependency>
+ <base-DRelation>
+ <DRelation>
+ <base-DElement>
+ <DElement>
+ <uid>{95fafacc-66c7-42d0-b27e-e92a69964adf}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{e3429382-8484-481e-8690-792b1c1a257e}</object>
+ <a>{e1622bc8-530c-4d18-ba77-202bad11f1e0}</a>
+ <b>{0bb9e92a-910d-4a32-877b-fd7e37710f79}</b>
+ </DRelation>
+ </base-DRelation>
+ </DDependency>
+ </instance>
+ </item>
+ <item>
+ <instance type="DDependency">
+ <DDependency>
+ <base-DRelation>
+ <DRelation>
+ <base-DElement>
+ <DElement>
+ <uid>{673bc9c1-a5ff-44ba-b9a6-d17807014a8e}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{e505b9c3-2332-4056-b3f0-dbd71a5ccbae}</object>
+ <a>{e1622bc8-530c-4d18-ba77-202bad11f1e0}</a>
+ <b>{54c2f051-8fdb-48f2-b528-2caa8fd1f854}</b>
+ </DRelation>
+ </base-DRelation>
+ </DDependency>
+ </instance>
+ </item>
+ <item>
+ <instance type="DDependency">
+ <DDependency>
+ <base-DRelation>
+ <DRelation>
+ <base-DElement>
+ <DElement>
+ <uid>{78e57691-4776-4e73-b0f0-232a1e80da10}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{9cfdd75f-182e-4511-bf4c-19f30309318e}</object>
+ <a>{0bb9e92a-910d-4a32-877b-fd7e37710f79}</a>
+ <b>{ae2fed61-96c0-4755-aad1-2d02fbc6e36e}</b>
+ </DRelation>
+ </base-DRelation>
+ </DDependency>
+ </instance>
+ </item>
+ <item>
+ <instance type="DComponent">
+ <DComponent>
+ <base-DObject>
+ <DObject>
+ <base-DElement>
+ <DElement>
+ <uid>{e76fa55e-b2df-4713-9fab-78434c3c7ed3}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{ff72261f-19e3-4983-b10c-856f6070637b}</object>
+ <name>Action</name>
+ <pos>x:260;y:155</pos>
+ <rect>x:-50;y:-30;w:100;h:60</rect>
+ <visual-role>0</visual-role>
+ </DObject>
+ </base-DObject>
+ </DComponent>
+ </instance>
+ </item>
+ <item>
+ <instance type="DDependency">
+ <DDependency>
+ <base-DRelation>
+ <DRelation>
+ <base-DElement>
+ <DElement>
+ <uid>{305524c2-f2c7-44ba-b30b-51fbfdc81063}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{911f495e-313f-4b28-95d6-440b06a05a83}</object>
+ <a>{e1622bc8-530c-4d18-ba77-202bad11f1e0}</a>
+ <b>{e76fa55e-b2df-4713-9fab-78434c3c7ed3}</b>
+ </DRelation>
+ </base-DRelation>
+ </DDependency>
+ </instance>
+ </item>
+ <item>
+ <instance type="DComponent">
+ <DComponent>
+ <base-DObject>
+ <DObject>
+ <base-DElement>
+ <DElement>
+ <uid>{28ea46b1-ce73-432f-89a6-a97821dbac59}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{f1e3fd14-d433-4d95-8ea4-1c4b5aaf4334}</object>
+ <name>Script</name>
+ <pos>x:415;y:240</pos>
+ <rect>x:-45;y:-30;w:90;h:60</rect>
+ <visual-role>0</visual-role>
+ </DObject>
+ </base-DObject>
+ </DComponent>
+ </instance>
+ </item>
+ <item>
+ <instance type="DComponent">
+ <DComponent>
+ <base-DObject>
+ <DObject>
+ <base-DElement>
+ <DElement>
+ <uid>{41e806b6-c8fd-4ae5-865d-db55feeb5570}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{96788086-5e67-482c-ac8b-0f2a7f0729ff}</object>
+ <name>Cookie</name>
+ <pos>x:555;y:240</pos>
+ <rect>x:-50;y:-30;w:100;h:60</rect>
+ <visual-role>0</visual-role>
+ </DObject>
+ </base-DObject>
+ </DComponent>
+ </instance>
+ </item>
+ <item>
+ <instance type="DDependency">
+ <DDependency>
+ <base-DRelation>
+ <DRelation>
+ <base-DElement>
+ <DElement>
+ <uid>{99a53c8d-8dc1-4ee5-83bf-ec2ff2677817}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{dc399de7-f3b9-4071-84af-b6e5dfa3affe}</object>
+ <a>{0bb9e92a-910d-4a32-877b-fd7e37710f79}</a>
+ <b>{28ea46b1-ce73-432f-89a6-a97821dbac59}</b>
+ </DRelation>
+ </base-DRelation>
+ </DDependency>
+ </instance>
+ </item>
+ <item>
+ <instance type="DDependency">
+ <DDependency>
+ <base-DRelation>
+ <DRelation>
+ <base-DElement>
+ <DElement>
+ <uid>{f3833f3d-d01b-4c7c-bfde-91d014aff654}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{4dc013fb-ced4-4cc0-99e3-3f4a32acebf7}</object>
+ <a>{0bb9e92a-910d-4a32-877b-fd7e37710f79}</a>
+ <b>{41e806b6-c8fd-4ae5-865d-db55feeb5570}</b>
+ </DRelation>
+ </base-DRelation>
+ </DDependency>
+ </instance>
+ </item>
+ </qlist>
+ </elements>
+ <last-modified>1455888691589</last-modified>
+ <toolbarid>General</toolbarid>
+ </MDiagram>
+ </base-MDiagram>
+ </MCanvasDiagram>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ <item>
+ <handle>
+ <uid>{3507c733-97ee-4b84-835b-4d90f039ca72}</uid>
+ <target>
+ <instance type="MComponent">
+ <MComponent>
+ <base-MObject>
+ <MObject>
+ <base-MElement>
+ <MElement>
+ <uid>{3507c733-97ee-4b84-835b-4d90f039ca72}</uid>
+ </MElement>
+ </base-MElement>
+ <name>View</name>
+ <relations>
+ <handles>
+ <handles>
+ <qlist>
+ <item>
+ <handle>
+ <uid>{e3429382-8484-481e-8690-792b1c1a257e}</uid>
+ <target>
+ <instance type="MDependency">
+ <MDependency>
+ <base-MRelation>
+ <MRelation>
+ <base-MElement>
+ <MElement>
+ <uid>{e3429382-8484-481e-8690-792b1c1a257e}</uid>
+ </MElement>
+ </base-MElement>
+ <a>{3507c733-97ee-4b84-835b-4d90f039ca72}</a>
+ <b>{ab5f0d96-cf38-430d-bef3-b7bd78952fdb}</b>
+ </MRelation>
+ </base-MRelation>
+ </MDependency>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ <item>
+ <handle>
+ <uid>{e505b9c3-2332-4056-b3f0-dbd71a5ccbae}</uid>
+ <target>
+ <instance type="MDependency">
+ <MDependency>
+ <base-MRelation>
+ <MRelation>
+ <base-MElement>
+ <MElement>
+ <uid>{e505b9c3-2332-4056-b3f0-dbd71a5ccbae}</uid>
+ </MElement>
+ </base-MElement>
+ <a>{3507c733-97ee-4b84-835b-4d90f039ca72}</a>
+ <b>{999dd0f9-53f0-47bd-90ea-714c0dea50d7}</b>
+ </MRelation>
+ </base-MRelation>
+ </MDependency>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ <item>
+ <handle>
+ <uid>{4d826dd3-e455-46f3-8dfc-bb74551f3f00}</uid>
+ <target>
+ <instance type="MDependency">
+ <MDependency>
+ <base-MRelation>
+ <MRelation>
+ <base-MElement>
+ <MElement>
+ <uid>{4d826dd3-e455-46f3-8dfc-bb74551f3f00}</uid>
+ </MElement>
+ </base-MElement>
+ <a>{3507c733-97ee-4b84-835b-4d90f039ca72}</a>
+ <b>{b2ea9c4f-8b35-46c3-b2a5-3f22d72069e7}</b>
+ </MRelation>
+ </base-MRelation>
+ </MDependency>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ <item>
+ <handle>
+ <uid>{911f495e-313f-4b28-95d6-440b06a05a83}</uid>
+ <target>
+ <instance type="MDependency">
+ <MDependency>
+ <base-MRelation>
+ <MRelation>
+ <base-MElement>
+ <MElement>
+ <uid>{911f495e-313f-4b28-95d6-440b06a05a83}</uid>
+ </MElement>
+ </base-MElement>
+ <a>{3507c733-97ee-4b84-835b-4d90f039ca72}</a>
+ <b>{ff72261f-19e3-4983-b10c-856f6070637b}</b>
+ </MRelation>
+ </base-MRelation>
+ </MDependency>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ </qlist>
+ </handles>
+ </handles>
+ </relations>
+ </MObject>
+ </base-MObject>
+ </MComponent>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ <item>
+ <handle>
+ <uid>{ab5f0d96-cf38-430d-bef3-b7bd78952fdb}</uid>
+ <target>
+ <instance type="MComponent">
+ <MComponent>
+ <base-MObject>
+ <MObject>
+ <base-MElement>
+ <MElement>
+ <uid>{ab5f0d96-cf38-430d-bef3-b7bd78952fdb}</uid>
+ </MElement>
+ </base-MElement>
+ <name>Profile</name>
+ <relations>
+ <handles>
+ <handles>
+ <qlist>
+ <item>
+ <handle>
+ <uid>{9cfdd75f-182e-4511-bf4c-19f30309318e}</uid>
+ <target>
+ <instance type="MDependency">
+ <MDependency>
+ <base-MRelation>
+ <MRelation>
+ <base-MElement>
+ <MElement>
+ <uid>{9cfdd75f-182e-4511-bf4c-19f30309318e}</uid>
+ </MElement>
+ </base-MElement>
+ <a>{ab5f0d96-cf38-430d-bef3-b7bd78952fdb}</a>
+ <b>{b2ea9c4f-8b35-46c3-b2a5-3f22d72069e7}</b>
+ </MRelation>
+ </base-MRelation>
+ </MDependency>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ <item>
+ <handle>
+ <uid>{dc399de7-f3b9-4071-84af-b6e5dfa3affe}</uid>
+ <target>
+ <instance type="MDependency">
+ <MDependency>
+ <base-MRelation>
+ <MRelation>
+ <base-MElement>
+ <MElement>
+ <uid>{dc399de7-f3b9-4071-84af-b6e5dfa3affe}</uid>
+ </MElement>
+ </base-MElement>
+ <a>{ab5f0d96-cf38-430d-bef3-b7bd78952fdb}</a>
+ <b>{f1e3fd14-d433-4d95-8ea4-1c4b5aaf4334}</b>
+ </MRelation>
+ </base-MRelation>
+ </MDependency>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ <item>
+ <handle>
+ <uid>{4dc013fb-ced4-4cc0-99e3-3f4a32acebf7}</uid>
+ <target>
+ <instance type="MDependency">
+ <MDependency>
+ <base-MRelation>
+ <MRelation>
+ <base-MElement>
+ <MElement>
+ <uid>{4dc013fb-ced4-4cc0-99e3-3f4a32acebf7}</uid>
+ </MElement>
+ </base-MElement>
+ <a>{ab5f0d96-cf38-430d-bef3-b7bd78952fdb}</a>
+ <b>{96788086-5e67-482c-ac8b-0f2a7f0729ff}</b>
+ </MRelation>
+ </base-MRelation>
+ </MDependency>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ </qlist>
+ </handles>
+ </handles>
+ </relations>
+ </MObject>
+ </base-MObject>
+ </MComponent>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ <item>
+ <handle>
+ <uid>{999dd0f9-53f0-47bd-90ea-714c0dea50d7}</uid>
+ <target>
+ <instance type="MComponent">
+ <MComponent>
+ <base-MObject>
+ <MObject>
+ <base-MElement>
+ <MElement>
+ <uid>{999dd0f9-53f0-47bd-90ea-714c0dea50d7}</uid>
+ </MElement>
+ </base-MElement>
+ <name>History</name>
+ </MObject>
+ </base-MObject>
+ </MComponent>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ <item>
+ <handle>
+ <uid>{b2ea9c4f-8b35-46c3-b2a5-3f22d72069e7}</uid>
+ <target>
+ <instance type="MComponent">
+ <MComponent>
+ <base-MObject>
+ <MObject>
+ <base-MElement>
+ <MElement>
+ <uid>{b2ea9c4f-8b35-46c3-b2a5-3f22d72069e7}</uid>
+ </MElement>
+ </base-MElement>
+ <name>Settings</name>
+ </MObject>
+ </base-MObject>
+ </MComponent>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ <item>
+ <handle>
+ <uid>{ff72261f-19e3-4983-b10c-856f6070637b}</uid>
+ <target>
+ <instance type="MComponent">
+ <MComponent>
+ <base-MObject>
+ <MObject>
+ <base-MElement>
+ <MElement>
+ <uid>{ff72261f-19e3-4983-b10c-856f6070637b}</uid>
+ </MElement>
+ </base-MElement>
+ <name>Action</name>
+ </MObject>
+ </base-MObject>
+ </MComponent>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ <item>
+ <handle>
+ <uid>{f1e3fd14-d433-4d95-8ea4-1c4b5aaf4334}</uid>
+ <target>
+ <instance type="MComponent">
+ <MComponent>
+ <base-MObject>
+ <MObject>
+ <base-MElement>
+ <MElement>
+ <uid>{f1e3fd14-d433-4d95-8ea4-1c4b5aaf4334}</uid>
+ </MElement>
+ </base-MElement>
+ <name>Script</name>
+ </MObject>
+ </base-MObject>
+ </MComponent>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ <item>
+ <handle>
+ <uid>{96788086-5e67-482c-ac8b-0f2a7f0729ff}</uid>
+ <target>
+ <instance type="MComponent">
+ <MComponent>
+ <base-MObject>
+ <MObject>
+ <base-MElement>
+ <MElement>
+ <uid>{96788086-5e67-482c-ac8b-0f2a7f0729ff}</uid>
+ </MElement>
+ </base-MElement>
+ <name>Cookie</name>
+ </MObject>
+ </base-MObject>
+ </MComponent>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ </qlist>
+ </handles>
+ </handles>
+ </children>
+ </MObject>
+ </base-MObject>
+ </MPackage>
+ </instance>
+ </root-package>
+ </project>
+</qmt>
diff --git a/src/webengine/doc/images/qtwebengine-modules-model.qmodel b/src/webengine/doc/images/qtwebengine-modules-model.qmodel
new file mode 100644
index 000000000..c1d64b617
--- /dev/null
+++ b/src/webengine/doc/images/qtwebengine-modules-model.qmodel
@@ -0,0 +1,500 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<qmt>
+ <project>
+ <uid>{4a2bfe98-50e2-435d-8702-93dc2ccbd56b}</uid>
+ <root-package>
+ <instance>
+ <MPackage>
+ <base-MObject>
+ <MObject>
+ <base-MElement>
+ <MElement>
+ <uid>{11ff33c5-f533-494d-9add-55ea216b97a6}</uid>
+ </MElement>
+ </base-MElement>
+ <name>qtwebengine-modules-model</name>
+ <children>
+ <handles>
+ <handles>
+ <qlist>
+ <item>
+ <handle>
+ <uid>{9e8325b8-5731-4c87-9203-fe941456ee06}</uid>
+ <target>
+ <instance type="MCanvasDiagram">
+ <MCanvasDiagram>
+ <base-MDiagram>
+ <MDiagram>
+ <base-MObject>
+ <MObject>
+ <base-MElement>
+ <MElement>
+ <uid>{9e8325b8-5731-4c87-9203-fe941456ee06}</uid>
+ </MElement>
+ </base-MElement>
+ <name>qtwebengine-modules-model</name>
+ </MObject>
+ </base-MObject>
+ <elements>
+ <qlist>
+ <item>
+ <instance type="DPackage">
+ <DPackage>
+ <base-DObject>
+ <DObject>
+ <base-DElement>
+ <DElement>
+ <uid>{aee48ad9-14be-47bb-8ebf-1a9b44f1e219}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{4d3871a4-ad9d-4b1a-ab68-acfce8ba5f00}</object>
+ <name>Qt WebEngine Module</name>
+ <pos>x:300;y:70</pos>
+ <rect>x:-275;y:-145;w:550;h:290</rect>
+ <auto-sized>false</auto-sized>
+ <visual-role>0</visual-role>
+ <stereotype-display>0</stereotype-display>
+ </DObject>
+ </base-DObject>
+ </DPackage>
+ </instance>
+ </item>
+ <item>
+ <instance type="DPackage">
+ <DPackage>
+ <base-DObject>
+ <DObject>
+ <base-DElement>
+ <DElement>
+ <uid>{b667049f-5302-4e68-8679-c26a7c4c37af}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{71104fca-42f0-4145-bf3a-afed38493c8b}</object>
+ <context>Qt WebEngine Module</context>
+ <name>Qt WebEngine </name>
+ <pos>x:300;y:15</pos>
+ <rect>x:-75;y:-35;w:150;h:70</rect>
+ <auto-sized>false</auto-sized>
+ <visual-role>0</visual-role>
+ </DObject>
+ </base-DObject>
+ </DPackage>
+ </instance>
+ </item>
+ <item>
+ <instance type="DPackage">
+ <DPackage>
+ <base-DObject>
+ <DObject>
+ <base-DElement>
+ <DElement>
+ <uid>{6d84908c-9500-4b4f-95b8-b723ff8f2fc3}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{8e8c6646-1175-4ee1-aa02-cd5669cdf92a}</object>
+ <context>Qt WebEngine Module</context>
+ <name> Qt WebEngine Widgets</name>
+ <pos>x:105;y:15</pos>
+ <rect>x:-75;y:-35;w:150;h:70</rect>
+ <auto-sized>false</auto-sized>
+ <visual-role>0</visual-role>
+ </DObject>
+ </base-DObject>
+ </DPackage>
+ </instance>
+ </item>
+ <item>
+ <instance type="DPackage">
+ <DPackage>
+ <base-DObject>
+ <DObject>
+ <base-DElement>
+ <DElement>
+ <uid>{d1260089-4eb6-4465-ac5f-e36ba1ef2311}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{c0946aaa-51df-48db-9ceb-351cd32089be}</object>
+ <context>Qt WebEngine Module</context>
+ <name> Qt WebEngine Process</name>
+ <pos>x:495;y:15</pos>
+ <rect>x:-75;y:-35;w:150;h:70</rect>
+ <visual-role>0</visual-role>
+ </DObject>
+ </base-DObject>
+ </DPackage>
+ </instance>
+ </item>
+ <item>
+ <instance type="DPackage">
+ <DPackage>
+ <base-DObject>
+ <DObject>
+ <base-DElement>
+ <DElement>
+ <uid>{7e01513b-4cfc-4154-b445-a9b341b392a3}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{6ee7f00e-5dc3-4f45-a3ca-428390b4c74c}</object>
+ <context>Qt WebEngine Module</context>
+ <name>Qt WebEngine Core</name>
+ <pos>x:300;y:150</pos>
+ <rect>x:-270;y:-60;w:540;h:120</rect>
+ <auto-sized>false</auto-sized>
+ <visual-role>0</visual-role>
+ </DObject>
+ </base-DObject>
+ </DPackage>
+ </instance>
+ </item>
+ <item>
+ <instance type="DPackage">
+ <DPackage>
+ <base-DObject>
+ <DObject>
+ <base-DElement>
+ <DElement>
+ <uid>{620a2a3d-3a6c-4afc-a9ba-e2a0651b81b8}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{ce1e329b-b2ec-465f-bbc7-3cc75160da1a}</object>
+ <context>Qt WebEngine Core</context>
+ <name>Chromium</name>
+ <pos>x:300;y:165</pos>
+ <rect>x:-260;y:-35;w:520;h:70</rect>
+ <auto-sized>false</auto-sized>
+ <visual-role>0</visual-role>
+ </DObject>
+ </base-DObject>
+ </DPackage>
+ </instance>
+ </item>
+ <item>
+ <instance type="DDependency">
+ <DDependency>
+ <base-DRelation>
+ <DRelation>
+ <base-DElement>
+ <DElement>
+ <uid>{d0b02baa-0ce3-437e-a962-0896efb0b2d0}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{342a09ff-ab96-40d2-b9f9-300d1f2a067b}</object>
+ <a>{6d84908c-9500-4b4f-95b8-b723ff8f2fc3}</a>
+ <b>{7e01513b-4cfc-4154-b445-a9b341b392a3}</b>
+ </DRelation>
+ </base-DRelation>
+ </DDependency>
+ </instance>
+ </item>
+ <item>
+ <instance type="DDependency">
+ <DDependency>
+ <base-DRelation>
+ <DRelation>
+ <base-DElement>
+ <DElement>
+ <uid>{e59a5c27-7bda-44f6-8b7d-a729c2d04ff5}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{45bf7ccd-aafc-4ec1-a846-bb2661aa9def}</object>
+ <a>{b667049f-5302-4e68-8679-c26a7c4c37af}</a>
+ <b>{7e01513b-4cfc-4154-b445-a9b341b392a3}</b>
+ </DRelation>
+ </base-DRelation>
+ </DDependency>
+ </instance>
+ </item>
+ <item>
+ <instance type="DDependency">
+ <DDependency>
+ <base-DRelation>
+ <DRelation>
+ <base-DElement>
+ <DElement>
+ <uid>{8ae66be6-ad8a-442f-a85d-58e53a684249}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{6875416f-210d-4957-b0dc-d1a92a4238ef}</object>
+ <a>{d1260089-4eb6-4465-ac5f-e36ba1ef2311}</a>
+ <b>{7e01513b-4cfc-4154-b445-a9b341b392a3}</b>
+ </DRelation>
+ </base-DRelation>
+ </DDependency>
+ </instance>
+ </item>
+ </qlist>
+ </elements>
+ <last-modified>1469021602971</last-modified>
+ <toolbarid>General</toolbarid>
+ </MDiagram>
+ </base-MDiagram>
+ </MCanvasDiagram>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ <item>
+ <handle>
+ <uid>{4d3871a4-ad9d-4b1a-ab68-acfce8ba5f00}</uid>
+ <target>
+ <instance type="MPackage">
+ <MPackage>
+ <base-MObject>
+ <MObject>
+ <base-MElement>
+ <MElement>
+ <uid>{4d3871a4-ad9d-4b1a-ab68-acfce8ba5f00}</uid>
+ </MElement>
+ </base-MElement>
+ <name>Qt WebEngine Module</name>
+ <children>
+ <handles>
+ <handles>
+ <qlist>
+ <item>
+ <handle>
+ <uid>{71104fca-42f0-4145-bf3a-afed38493c8b}</uid>
+ <target>
+ <instance type="MPackage">
+ <MPackage>
+ <base-MObject>
+ <MObject>
+ <base-MElement>
+ <MElement>
+ <uid>{71104fca-42f0-4145-bf3a-afed38493c8b}</uid>
+ </MElement>
+ </base-MElement>
+ <name>Qt WebEngine </name>
+ <relations>
+ <handles>
+ <handles>
+ <qlist>
+ <item>
+ <handle>
+ <uid>{45bf7ccd-aafc-4ec1-a846-bb2661aa9def}</uid>
+ <target>
+ <instance type="MDependency">
+ <MDependency>
+ <base-MRelation>
+ <MRelation>
+ <base-MElement>
+ <MElement>
+ <uid>{45bf7ccd-aafc-4ec1-a846-bb2661aa9def}</uid>
+ </MElement>
+ </base-MElement>
+ <a>{71104fca-42f0-4145-bf3a-afed38493c8b}</a>
+ <b>{6ee7f00e-5dc3-4f45-a3ca-428390b4c74c}</b>
+ </MRelation>
+ </base-MRelation>
+ </MDependency>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ </qlist>
+ </handles>
+ </handles>
+ </relations>
+ </MObject>
+ </base-MObject>
+ </MPackage>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ <item>
+ <handle>
+ <uid>{8e8c6646-1175-4ee1-aa02-cd5669cdf92a}</uid>
+ <target>
+ <instance type="MPackage">
+ <MPackage>
+ <base-MObject>
+ <MObject>
+ <base-MElement>
+ <MElement>
+ <uid>{8e8c6646-1175-4ee1-aa02-cd5669cdf92a}</uid>
+ </MElement>
+ </base-MElement>
+ <name> Qt WebEngine Widgets</name>
+ <relations>
+ <handles>
+ <handles>
+ <qlist>
+ <item>
+ <handle>
+ <uid>{342a09ff-ab96-40d2-b9f9-300d1f2a067b}</uid>
+ <target>
+ <instance type="MDependency">
+ <MDependency>
+ <base-MRelation>
+ <MRelation>
+ <base-MElement>
+ <MElement>
+ <uid>{342a09ff-ab96-40d2-b9f9-300d1f2a067b}</uid>
+ </MElement>
+ </base-MElement>
+ <a>{8e8c6646-1175-4ee1-aa02-cd5669cdf92a}</a>
+ <b>{6ee7f00e-5dc3-4f45-a3ca-428390b4c74c}</b>
+ </MRelation>
+ </base-MRelation>
+ </MDependency>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ <item>
+ <handle>
+ <uid>{483712c1-3ec0-4271-b02e-b268de07897b}</uid>
+ <target>
+ <instance type="MDependency">
+ <MDependency>
+ <base-MRelation>
+ <MRelation>
+ <base-MElement>
+ <MElement>
+ <uid>{483712c1-3ec0-4271-b02e-b268de07897b}</uid>
+ </MElement>
+ </base-MElement>
+ <a>{8e8c6646-1175-4ee1-aa02-cd5669cdf92a}</a>
+ <b>{71104fca-42f0-4145-bf3a-afed38493c8b}</b>
+ </MRelation>
+ </base-MRelation>
+ </MDependency>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ </qlist>
+ </handles>
+ </handles>
+ </relations>
+ </MObject>
+ </base-MObject>
+ </MPackage>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ <item>
+ <handle>
+ <uid>{c0946aaa-51df-48db-9ceb-351cd32089be}</uid>
+ <target>
+ <instance type="MPackage">
+ <MPackage>
+ <base-MObject>
+ <MObject>
+ <base-MElement>
+ <MElement>
+ <uid>{c0946aaa-51df-48db-9ceb-351cd32089be}</uid>
+ </MElement>
+ </base-MElement>
+ <name> Qt WebEngine Process</name>
+ <relations>
+ <handles>
+ <handles>
+ <qlist>
+ <item>
+ <handle>
+ <uid>{6875416f-210d-4957-b0dc-d1a92a4238ef}</uid>
+ <target>
+ <instance type="MDependency">
+ <MDependency>
+ <base-MRelation>
+ <MRelation>
+ <base-MElement>
+ <MElement>
+ <uid>{6875416f-210d-4957-b0dc-d1a92a4238ef}</uid>
+ </MElement>
+ </base-MElement>
+ <a>{c0946aaa-51df-48db-9ceb-351cd32089be}</a>
+ <b>{6ee7f00e-5dc3-4f45-a3ca-428390b4c74c}</b>
+ </MRelation>
+ </base-MRelation>
+ </MDependency>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ </qlist>
+ </handles>
+ </handles>
+ </relations>
+ </MObject>
+ </base-MObject>
+ </MPackage>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ <item>
+ <handle>
+ <uid>{6ee7f00e-5dc3-4f45-a3ca-428390b4c74c}</uid>
+ <target>
+ <instance type="MPackage">
+ <MPackage>
+ <base-MObject>
+ <MObject>
+ <base-MElement>
+ <MElement>
+ <uid>{6ee7f00e-5dc3-4f45-a3ca-428390b4c74c}</uid>
+ </MElement>
+ </base-MElement>
+ <name>Qt WebEngine Core</name>
+ <children>
+ <handles>
+ <handles>
+ <qlist>
+ <item>
+ <handle>
+ <uid>{ce1e329b-b2ec-465f-bbc7-3cc75160da1a}</uid>
+ <target>
+ <instance type="MPackage">
+ <MPackage>
+ <base-MObject>
+ <MObject>
+ <base-MElement>
+ <MElement>
+ <uid>{ce1e329b-b2ec-465f-bbc7-3cc75160da1a}</uid>
+ </MElement>
+ </base-MElement>
+ <name>Chromium</name>
+ </MObject>
+ </base-MObject>
+ </MPackage>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ </qlist>
+ </handles>
+ </handles>
+ </children>
+ </MObject>
+ </base-MObject>
+ </MPackage>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ </qlist>
+ </handles>
+ </handles>
+ </children>
+ </MObject>
+ </base-MObject>
+ </MPackage>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ </qlist>
+ </handles>
+ </handles>
+ </children>
+ </MObject>
+ </base-MObject>
+ </MPackage>
+ </instance>
+ </root-package>
+ </project>
+</qmt>
diff --git a/src/webengine/doc/images/qtwebenginewidgets-model.qmodel b/src/webengine/doc/images/qtwebenginewidgets-model.qmodel
new file mode 100644
index 000000000..aa59f7b8f
--- /dev/null
+++ b/src/webengine/doc/images/qtwebenginewidgets-model.qmodel
@@ -0,0 +1,789 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<qmt>
+ <project>
+ <uid>{388ed80a-d45a-4746-9b42-b201bdfbe66d}</uid>
+ <root-package>
+ <instance>
+ <MPackage>
+ <base-MObject>
+ <MObject>
+ <base-MElement>
+ <MElement>
+ <uid>{cf413898-e1a1-48a2-be84-dee757d150e1}</uid>
+ </MElement>
+ </base-MElement>
+ <name>qtwebenginewidgets-model</name>
+ <children>
+ <handles>
+ <handles>
+ <qlist>
+ <item>
+ <handle>
+ <uid>{cb7c93b6-ed69-4e54-bca7-23edd2432e88}</uid>
+ <target>
+ <instance type="MCanvasDiagram">
+ <MCanvasDiagram>
+ <base-MDiagram>
+ <MDiagram>
+ <base-MObject>
+ <MObject>
+ <base-MElement>
+ <MElement>
+ <uid>{cb7c93b6-ed69-4e54-bca7-23edd2432e88}</uid>
+ </MElement>
+ </base-MElement>
+ <name>qtwebenginewidgets-model</name>
+ </MObject>
+ </base-MObject>
+ <elements>
+ <qlist>
+ <item>
+ <instance type="DComponent">
+ <DComponent>
+ <base-DObject>
+ <DObject>
+ <base-DElement>
+ <DElement>
+ <uid>{9d9a12d1-d237-4d4f-9b55-bdbbc99bd2b1}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{1a4983f6-27db-4f8c-90ed-f72df621c50f}</object>
+ <name>View</name>
+ <pos>x:235;y:-280</pos>
+ <rect>x:-45;y:-30;w:90;h:60</rect>
+ <visual-role>0</visual-role>
+ </DObject>
+ </base-DObject>
+ </DComponent>
+ </instance>
+ </item>
+ <item>
+ <instance type="DComponent">
+ <DComponent>
+ <base-DObject>
+ <DObject>
+ <base-DElement>
+ <DElement>
+ <uid>{81687d47-fbb1-4843-a394-7d7e5e57a2ff}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{e9446d69-de53-47ab-974e-1b8ae8b6edd7}</object>
+ <name>Page</name>
+ <pos>x:235;y:-195</pos>
+ <rect>x:-45;y:-30;w:90;h:60</rect>
+ <visual-role>0</visual-role>
+ </DObject>
+ </base-DObject>
+ </DComponent>
+ </instance>
+ </item>
+ <item>
+ <instance type="DComponent">
+ <DComponent>
+ <base-DObject>
+ <DObject>
+ <base-DElement>
+ <DElement>
+ <uid>{e6d92a82-f898-448f-945e-26b508249746}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{99e69e48-e844-4fc0-942c-aacef280c616}</object>
+ <name>History</name>
+ <pos>x:90;y:-110</pos>
+ <rect>x:-50;y:-30;w:100;h:60</rect>
+ <visual-role>0</visual-role>
+ </DObject>
+ </base-DObject>
+ </DComponent>
+ </instance>
+ </item>
+ <item>
+ <instance type="DComponent">
+ <DComponent>
+ <base-DObject>
+ <DObject>
+ <base-DElement>
+ <DElement>
+ <uid>{9ba8a864-bd21-48e5-9df4-c7065d3ab474}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{6b572233-bf3a-43a2-bfe2-e61d57a59a2e}</object>
+ <name>Settings</name>
+ <pos>x:235;y:-20</pos>
+ <rect>x:-50;y:-30;w:100;h:60</rect>
+ <visual-role>0</visual-role>
+ </DObject>
+ </base-DObject>
+ </DComponent>
+ </instance>
+ </item>
+ <item>
+ <instance type="DComponent">
+ <DComponent>
+ <base-DObject>
+ <DObject>
+ <base-DElement>
+ <DElement>
+ <uid>{62872913-7080-421b-b12c-d3c094faa37d}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{8afe2dfe-878f-4c40-9f07-c6128611f853}</object>
+ <name>Profile</name>
+ <pos>x:380;y:-110</pos>
+ <rect>x:-50;y:-30;w:100;h:60</rect>
+ <visual-role>0</visual-role>
+ </DObject>
+ </base-DObject>
+ </DComponent>
+ </instance>
+ </item>
+ <item>
+ <instance type="DDependency">
+ <DDependency>
+ <base-DRelation>
+ <DRelation>
+ <base-DElement>
+ <DElement>
+ <uid>{54a21438-6274-4484-9225-97a47d3514ea}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{8e94476c-6a26-4bbc-b134-54a7203a0242}</object>
+ <a>{9d9a12d1-d237-4d4f-9b55-bdbbc99bd2b1}</a>
+ <b>{81687d47-fbb1-4843-a394-7d7e5e57a2ff}</b>
+ </DRelation>
+ </base-DRelation>
+ </DDependency>
+ </instance>
+ </item>
+ <item>
+ <instance type="DDependency">
+ <DDependency>
+ <base-DRelation>
+ <DRelation>
+ <base-DElement>
+ <DElement>
+ <uid>{b3f6b700-e506-471b-9341-78a57b55fb20}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{48d2b9ae-8462-4c93-9772-77f2520e2bcb}</object>
+ <a>{81687d47-fbb1-4843-a394-7d7e5e57a2ff}</a>
+ <b>{e6d92a82-f898-448f-945e-26b508249746}</b>
+ </DRelation>
+ </base-DRelation>
+ </DDependency>
+ </instance>
+ </item>
+ <item>
+ <instance type="DDependency">
+ <DDependency>
+ <base-DRelation>
+ <DRelation>
+ <base-DElement>
+ <DElement>
+ <uid>{5870be46-b8c5-480b-89d0-2ecd38fea9e1}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{2ec57f83-da38-4ed1-970c-d416a5f76425}</object>
+ <a>{81687d47-fbb1-4843-a394-7d7e5e57a2ff}</a>
+ <b>{62872913-7080-421b-b12c-d3c094faa37d}</b>
+ </DRelation>
+ </base-DRelation>
+ </DDependency>
+ </instance>
+ </item>
+ <item>
+ <instance type="DDependency">
+ <DDependency>
+ <base-DRelation>
+ <DRelation>
+ <base-DElement>
+ <DElement>
+ <uid>{9140249c-7a62-4e4d-846a-398e794e34c6}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{9c6691bd-75e5-40af-a662-ecb04e60744e}</object>
+ <a>{62872913-7080-421b-b12c-d3c094faa37d}</a>
+ <b>{9ba8a864-bd21-48e5-9df4-c7065d3ab474}</b>
+ </DRelation>
+ </base-DRelation>
+ </DDependency>
+ </instance>
+ </item>
+ <item>
+ <instance type="DComponent">
+ <DComponent>
+ <base-DObject>
+ <DObject>
+ <base-DElement>
+ <DElement>
+ <uid>{97fe6f5f-a947-4c62-880d-e2d9258814dd}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{2dfae517-4615-42b9-bb33-63369291468f}</object>
+ <name>Script</name>
+ <pos>x:380;y:-20</pos>
+ <rect>x:-45;y:-30;w:90;h:60</rect>
+ <visual-role>0</visual-role>
+ </DObject>
+ </base-DObject>
+ </DComponent>
+ </instance>
+ </item>
+ <item>
+ <instance type="DComponent">
+ <DComponent>
+ <base-DObject>
+ <DObject>
+ <base-DElement>
+ <DElement>
+ <uid>{3cb4f4a2-0a1d-4adb-8b72-c438a8102a2b}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{8f64c8e2-637e-482e-8565-1bbdcd203709}</object>
+ <name>Action</name>
+ <pos>x:235;y:-110</pos>
+ <rect>x:-50;y:-30;w:100;h:60</rect>
+ <visual-role>0</visual-role>
+ </DObject>
+ </base-DObject>
+ </DComponent>
+ </instance>
+ </item>
+ <item>
+ <instance type="DDependency">
+ <DDependency>
+ <base-DRelation>
+ <DRelation>
+ <base-DElement>
+ <DElement>
+ <uid>{c962daa4-09b9-411d-a0d1-d1c7b9bd1489}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{31cff752-95b7-4994-a5fc-8794dd8a013f}</object>
+ <a>{62872913-7080-421b-b12c-d3c094faa37d}</a>
+ <b>{97fe6f5f-a947-4c62-880d-e2d9258814dd}</b>
+ </DRelation>
+ </base-DRelation>
+ </DDependency>
+ </instance>
+ </item>
+ <item>
+ <instance type="DDependency">
+ <DDependency>
+ <base-DRelation>
+ <DRelation>
+ <base-DElement>
+ <DElement>
+ <uid>{a8f88107-5699-4e25-8945-1113d642fdd0}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{acca28ee-b184-4cbe-9aaa-befeac08c3bd}</object>
+ <a>{81687d47-fbb1-4843-a394-7d7e5e57a2ff}</a>
+ <b>{3cb4f4a2-0a1d-4adb-8b72-c438a8102a2b}</b>
+ </DRelation>
+ </base-DRelation>
+ </DDependency>
+ </instance>
+ </item>
+ <item>
+ <instance type="DComponent">
+ <DComponent>
+ <base-DObject>
+ <DObject>
+ <base-DElement>
+ <DElement>
+ <uid>{6208171a-1515-424a-bb4e-5f115b4c21fa}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{b19ba8d3-84ca-4718-b62c-575aa5d95c95}</object>
+ <name>Cookie</name>
+ <pos>x:525;y:-20</pos>
+ <rect>x:-50;y:-30;w:100;h:60</rect>
+ <visual-role>0</visual-role>
+ </DObject>
+ </base-DObject>
+ </DComponent>
+ </instance>
+ </item>
+ <item>
+ <instance type="DDependency">
+ <DDependency>
+ <base-DRelation>
+ <DRelation>
+ <base-DElement>
+ <DElement>
+ <uid>{57732b45-63fc-4d87-91fe-c9e9cbdd69ee}</uid>
+ </DElement>
+ </base-DElement>
+ <object>{b98164e7-ff69-40e7-ac1b-fe4985f451e7}</object>
+ <a>{62872913-7080-421b-b12c-d3c094faa37d}</a>
+ <b>{6208171a-1515-424a-bb4e-5f115b4c21fa}</b>
+ </DRelation>
+ </base-DRelation>
+ </DDependency>
+ </instance>
+ </item>
+ </qlist>
+ </elements>
+ <last-modified>1455889165432</last-modified>
+ <toolbarid>General</toolbarid>
+ </MDiagram>
+ </base-MDiagram>
+ </MCanvasDiagram>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ <item>
+ <handle>
+ <uid>{1a4983f6-27db-4f8c-90ed-f72df621c50f}</uid>
+ <target>
+ <instance type="MComponent">
+ <MComponent>
+ <base-MObject>
+ <MObject>
+ <base-MElement>
+ <MElement>
+ <uid>{1a4983f6-27db-4f8c-90ed-f72df621c50f}</uid>
+ </MElement>
+ </base-MElement>
+ <name>View</name>
+ <relations>
+ <handles>
+ <handles>
+ <qlist>
+ <item>
+ <handle>
+ <uid>{8e94476c-6a26-4bbc-b134-54a7203a0242}</uid>
+ <target>
+ <instance type="MDependency">
+ <MDependency>
+ <base-MRelation>
+ <MRelation>
+ <base-MElement>
+ <MElement>
+ <uid>{8e94476c-6a26-4bbc-b134-54a7203a0242}</uid>
+ </MElement>
+ </base-MElement>
+ <a>{1a4983f6-27db-4f8c-90ed-f72df621c50f}</a>
+ <b>{e9446d69-de53-47ab-974e-1b8ae8b6edd7}</b>
+ </MRelation>
+ </base-MRelation>
+ </MDependency>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ </qlist>
+ </handles>
+ </handles>
+ </relations>
+ </MObject>
+ </base-MObject>
+ </MComponent>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ <item>
+ <handle>
+ <uid>{e9446d69-de53-47ab-974e-1b8ae8b6edd7}</uid>
+ <target>
+ <instance type="MComponent">
+ <MComponent>
+ <base-MObject>
+ <MObject>
+ <base-MElement>
+ <MElement>
+ <uid>{e9446d69-de53-47ab-974e-1b8ae8b6edd7}</uid>
+ </MElement>
+ </base-MElement>
+ <name>Page</name>
+ <relations>
+ <handles>
+ <handles>
+ <qlist>
+ <item>
+ <handle>
+ <uid>{48d2b9ae-8462-4c93-9772-77f2520e2bcb}</uid>
+ <target>
+ <instance type="MDependency">
+ <MDependency>
+ <base-MRelation>
+ <MRelation>
+ <base-MElement>
+ <MElement>
+ <uid>{48d2b9ae-8462-4c93-9772-77f2520e2bcb}</uid>
+ </MElement>
+ </base-MElement>
+ <a>{e9446d69-de53-47ab-974e-1b8ae8b6edd7}</a>
+ <b>{99e69e48-e844-4fc0-942c-aacef280c616}</b>
+ </MRelation>
+ </base-MRelation>
+ </MDependency>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ <item>
+ <handle>
+ <uid>{2ec57f83-da38-4ed1-970c-d416a5f76425}</uid>
+ <target>
+ <instance type="MDependency">
+ <MDependency>
+ <base-MRelation>
+ <MRelation>
+ <base-MElement>
+ <MElement>
+ <uid>{2ec57f83-da38-4ed1-970c-d416a5f76425}</uid>
+ </MElement>
+ </base-MElement>
+ <a>{e9446d69-de53-47ab-974e-1b8ae8b6edd7}</a>
+ <b>{8afe2dfe-878f-4c40-9f07-c6128611f853}</b>
+ </MRelation>
+ </base-MRelation>
+ </MDependency>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ <item>
+ <handle>
+ <uid>{30d6d5e4-eb6b-4816-817d-5a921f823dae}</uid>
+ <target>
+ <instance type="MDependency">
+ <MDependency>
+ <base-MRelation>
+ <MRelation>
+ <base-MElement>
+ <MElement>
+ <uid>{30d6d5e4-eb6b-4816-817d-5a921f823dae}</uid>
+ </MElement>
+ </base-MElement>
+ <a>{e9446d69-de53-47ab-974e-1b8ae8b6edd7}</a>
+ <b>{6b572233-bf3a-43a2-bfe2-e61d57a59a2e}</b>
+ </MRelation>
+ </base-MRelation>
+ </MDependency>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ <item>
+ <handle>
+ <uid>{0011e11e-283e-4ad9-94b0-749d4465eac8}</uid>
+ <target>
+ <instance type="MDependency">
+ <MDependency>
+ <base-MRelation>
+ <MRelation>
+ <base-MElement>
+ <MElement>
+ <uid>{0011e11e-283e-4ad9-94b0-749d4465eac8}</uid>
+ </MElement>
+ </base-MElement>
+ <a>{e9446d69-de53-47ab-974e-1b8ae8b6edd7}</a>
+ <b>{2dfae517-4615-42b9-bb33-63369291468f}</b>
+ </MRelation>
+ </base-MRelation>
+ </MDependency>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ <item>
+ <handle>
+ <uid>{c354a766-0dba-439d-9f6c-538772784181}</uid>
+ <target>
+ <instance type="MDependency">
+ <MDependency>
+ <base-MRelation>
+ <MRelation>
+ <base-MElement>
+ <MElement>
+ <uid>{c354a766-0dba-439d-9f6c-538772784181}</uid>
+ </MElement>
+ </base-MElement>
+ <a>{e9446d69-de53-47ab-974e-1b8ae8b6edd7}</a>
+ <b>{8f64c8e2-637e-482e-8565-1bbdcd203709}</b>
+ </MRelation>
+ </base-MRelation>
+ </MDependency>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ <item>
+ <handle>
+ <uid>{acca28ee-b184-4cbe-9aaa-befeac08c3bd}</uid>
+ <target>
+ <instance type="MDependency">
+ <MDependency>
+ <base-MRelation>
+ <MRelation>
+ <base-MElement>
+ <MElement>
+ <uid>{acca28ee-b184-4cbe-9aaa-befeac08c3bd}</uid>
+ </MElement>
+ </base-MElement>
+ <a>{e9446d69-de53-47ab-974e-1b8ae8b6edd7}</a>
+ <b>{8f64c8e2-637e-482e-8565-1bbdcd203709}</b>
+ </MRelation>
+ </base-MRelation>
+ </MDependency>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ </qlist>
+ </handles>
+ </handles>
+ </relations>
+ </MObject>
+ </base-MObject>
+ </MComponent>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ <item>
+ <handle>
+ <uid>{99e69e48-e844-4fc0-942c-aacef280c616}</uid>
+ <target>
+ <instance type="MComponent">
+ <MComponent>
+ <base-MObject>
+ <MObject>
+ <base-MElement>
+ <MElement>
+ <uid>{99e69e48-e844-4fc0-942c-aacef280c616}</uid>
+ </MElement>
+ </base-MElement>
+ <name>History</name>
+ <relations>
+ <handles>
+ <handles>
+ <qlist>
+ <item>
+ <handle>
+ <uid>{bca413d3-d869-44ce-a68d-38e8ba6de291}</uid>
+ <target>
+ <instance type="MDependency">
+ <MDependency>
+ <base-MRelation>
+ <MRelation>
+ <base-MElement>
+ <MElement>
+ <uid>{bca413d3-d869-44ce-a68d-38e8ba6de291}</uid>
+ </MElement>
+ </base-MElement>
+ <a>{99e69e48-e844-4fc0-942c-aacef280c616}</a>
+ <b>{6b572233-bf3a-43a2-bfe2-e61d57a59a2e}</b>
+ </MRelation>
+ </base-MRelation>
+ </MDependency>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ </qlist>
+ </handles>
+ </handles>
+ </relations>
+ </MObject>
+ </base-MObject>
+ </MComponent>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ <item>
+ <handle>
+ <uid>{6b572233-bf3a-43a2-bfe2-e61d57a59a2e}</uid>
+ <target>
+ <instance type="MComponent">
+ <MComponent>
+ <base-MObject>
+ <MObject>
+ <base-MElement>
+ <MElement>
+ <uid>{6b572233-bf3a-43a2-bfe2-e61d57a59a2e}</uid>
+ </MElement>
+ </base-MElement>
+ <name>Settings</name>
+ </MObject>
+ </base-MObject>
+ </MComponent>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ <item>
+ <handle>
+ <uid>{8afe2dfe-878f-4c40-9f07-c6128611f853}</uid>
+ <target>
+ <instance type="MComponent">
+ <MComponent>
+ <base-MObject>
+ <MObject>
+ <base-MElement>
+ <MElement>
+ <uid>{8afe2dfe-878f-4c40-9f07-c6128611f853}</uid>
+ </MElement>
+ </base-MElement>
+ <name>Profile</name>
+ <relations>
+ <handles>
+ <handles>
+ <qlist>
+ <item>
+ <handle>
+ <uid>{9c6691bd-75e5-40af-a662-ecb04e60744e}</uid>
+ <target>
+ <instance type="MDependency">
+ <MDependency>
+ <base-MRelation>
+ <MRelation>
+ <base-MElement>
+ <MElement>
+ <uid>{9c6691bd-75e5-40af-a662-ecb04e60744e}</uid>
+ </MElement>
+ </base-MElement>
+ <a>{8afe2dfe-878f-4c40-9f07-c6128611f853}</a>
+ <b>{6b572233-bf3a-43a2-bfe2-e61d57a59a2e}</b>
+ </MRelation>
+ </base-MRelation>
+ </MDependency>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ <item>
+ <handle>
+ <uid>{31cff752-95b7-4994-a5fc-8794dd8a013f}</uid>
+ <target>
+ <instance type="MDependency">
+ <MDependency>
+ <base-MRelation>
+ <MRelation>
+ <base-MElement>
+ <MElement>
+ <uid>{31cff752-95b7-4994-a5fc-8794dd8a013f}</uid>
+ </MElement>
+ </base-MElement>
+ <a>{8afe2dfe-878f-4c40-9f07-c6128611f853}</a>
+ <b>{2dfae517-4615-42b9-bb33-63369291468f}</b>
+ </MRelation>
+ </base-MRelation>
+ </MDependency>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ <item>
+ <handle>
+ <uid>{b98164e7-ff69-40e7-ac1b-fe4985f451e7}</uid>
+ <target>
+ <instance type="MDependency">
+ <MDependency>
+ <base-MRelation>
+ <MRelation>
+ <base-MElement>
+ <MElement>
+ <uid>{b98164e7-ff69-40e7-ac1b-fe4985f451e7}</uid>
+ </MElement>
+ </base-MElement>
+ <a>{8afe2dfe-878f-4c40-9f07-c6128611f853}</a>
+ <b>{b19ba8d3-84ca-4718-b62c-575aa5d95c95}</b>
+ </MRelation>
+ </base-MRelation>
+ </MDependency>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ </qlist>
+ </handles>
+ </handles>
+ </relations>
+ </MObject>
+ </base-MObject>
+ </MComponent>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ <item>
+ <handle>
+ <uid>{2dfae517-4615-42b9-bb33-63369291468f}</uid>
+ <target>
+ <instance type="MComponent">
+ <MComponent>
+ <base-MObject>
+ <MObject>
+ <base-MElement>
+ <MElement>
+ <uid>{2dfae517-4615-42b9-bb33-63369291468f}</uid>
+ </MElement>
+ </base-MElement>
+ <name>Script</name>
+ </MObject>
+ </base-MObject>
+ </MComponent>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ <item>
+ <handle>
+ <uid>{8f64c8e2-637e-482e-8565-1bbdcd203709}</uid>
+ <target>
+ <instance type="MComponent">
+ <MComponent>
+ <base-MObject>
+ <MObject>
+ <base-MElement>
+ <MElement>
+ <uid>{8f64c8e2-637e-482e-8565-1bbdcd203709}</uid>
+ </MElement>
+ </base-MElement>
+ <name>Action</name>
+ </MObject>
+ </base-MObject>
+ </MComponent>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ <item>
+ <handle>
+ <uid>{b19ba8d3-84ca-4718-b62c-575aa5d95c95}</uid>
+ <target>
+ <instance type="MComponent">
+ <MComponent>
+ <base-MObject>
+ <MObject>
+ <base-MElement>
+ <MElement>
+ <uid>{b19ba8d3-84ca-4718-b62c-575aa5d95c95}</uid>
+ </MElement>
+ </base-MElement>
+ <name>Cookie</name>
+ </MObject>
+ </base-MObject>
+ </MComponent>
+ </instance>
+ </target>
+ </handle>
+ </item>
+ </qlist>
+ </handles>
+ </handles>
+ </children>
+ </MObject>
+ </base-MObject>
+ </MPackage>
+ </instance>
+ </root-package>
+ </project>
+</qmt>
diff --git a/src/webengine/doc/src/qtwebengine-overview.qdoc b/src/webengine/doc/src/qtwebengine-overview.qdoc
index 860bbbd68..f1b1b69c5 100644
--- a/src/webengine/doc/src/qtwebengine-overview.qdoc
+++ b/src/webengine/doc/src/qtwebengine-overview.qdoc
@@ -31,28 +31,12 @@
The Qt WebEngine 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.
- The web engine is not intended to function as a \e {Web Runtime}; to display web content in a
- QML application by using APIs native to the platform, use the \l{Qt WebView} module, instead.
Qt WebEngine 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.
- Qt WebEngine supercedes 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 Qt WebEngine widgets, see \l{Porting from Qt WebKit to Qt WebEngine}. For new
- applications, we recommend using Qt Quick and the WebEngineView QML type.
-
- For more information about the requirements for building Qt WebEngine from source on the
- supported platforms and for other platform-specific information, see
- \l{Qt WebEngine Platform Notes}.
-
- 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.
-
\section1 Qt WebEngine Architecture
\image qtwebengine-architecture.png
@@ -82,23 +66,24 @@
\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 Qt WebEngine 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 Qt WebEngine QML implementation contains the same elements as the C++ implementation,
- except that there is no separately accessible web engine page. The supported page functionality
- is integrated into the web engine view.
+ The Qt WebEngine QML implementation contains the same elements as the Qt WebEngine 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 Qt WebEngine 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, and
- therefore Qt WebEngine provides better and more reliable support for the latest HTML5
- specification than Qt WebKit. However, Qt WebEngine is thus heavier than Qt WebKit and does
- not provide direct access to the network stack and the HTML document through C++ APIs.
+ and painting engines and is developed tightly together with its dependent modules.
- Please note that Qt WebEngine is based on Chromium, but does not contain or use any services
+ \note Qt WebEngine 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}
@@ -109,30 +94,9 @@
\section2 Qt WebEngine Process
- The Qt WebEngine Process renders web pages and executes JavaScript.
-
- Chromium is tightly integrated to the \l{Qt Quick Scene Graph}{Qt Quick scene graph}, which is
- based on OpenGL ES 2.0 or OpenGL 2.0 for its rendering. This provides you with one-pass
- compositing of web content and all the Qt Quick UI. The integration to Chromium is transparent
- to developers, who just work with Qt and JavaScript.
-
- The document object model (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.
-
- \note Chromium extensions, such as \c @include, \c @match, and \c @exclude, are not supported.
-
- Because the render process is separated from the GUI process, they should ideally share an
- OpenGL context to enable one process to access the resources uploaded by the other, such as
- images or textures. However, some inter-process communication is needed for safety and
- reliability, because it enables restarting a crashed process.
+ The Qt WebEngine 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
@@ -201,6 +165,24 @@
\skipto import
\printuntil /^\}/
+ \section1 Script Injection
+
+ Qt WebEngine 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.
+
+ \note Chromium extensions, such as \c @include, \c @match, and \c @exclude, are not supported.
+
\section1 Managing Certificates
Qt WebEngine uses its own network stack, and therefore QSslConfiguration is not used to
@@ -249,4 +231,25 @@
On Windows, QtWebEngineProcess.exe is located in the bin directory of your Qt application.
For more information on deploying Qt applications, please see \l {Deploying Qt Applications}.
+
+ \section1 Platform Notes
+
+ Qt WebEngine currently supports only Windows, Linux, and OS X. 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
+
+ Qt WebEngine 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 Qt WebEngine 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/webengineview.qdoc b/src/webengine/doc/src/webengineview.qdoc
index 0f83d0d23..63b6e30d1 100644
--- a/src/webengine/doc/src/webengineview.qdoc
+++ b/src/webengine/doc/src/webengineview.qdoc
@@ -504,10 +504,9 @@
*/
/*!
- \qmlsignal WebEngineView::loadingChanged(loadRequest)
+ \qmlsignal WebEngineView::loadingChanged(WebEngineLoadRequest loadRequest)
This signal is emitted when a page load begins, ends, or fails.
- The corresponding handler is \c onLoadingChanged.
When handling the signal with \c onLoadingChanged, various read-only
parameters are available on the \a loadRequest:
@@ -537,33 +536,27 @@
*/
/*!
- \qmlsignal WebEngineView::certificateError(error)
+ \qmlsignal WebEngineView::certificateError(WebEngineCertificateError error)
\since QtWebEngine 1.1
This signal is emitted when an invalid certificate error is raised while loading a given request.
The certificate error can be handled by using the methods of the WebEngineCertificateError
type.
-
- The corresponding handler is \c onCertificateError.
-
- \sa WebEngineCertificateError
*/
/*!
- \qmlsignal WebEngineView::linkHovered(hoveredUrl)
+ \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.
-
- The corresponding handler is \c onLinkHovered.
*/
/*!
- \qmlsignal WebEngineView::javaScriptConsoleMessage(JavaScriptConsoleMessageLevel level, message, lineNumber, sourceID)
+ \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
@@ -572,14 +565,14 @@
\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.
- The corresponding handler is \c onJavaScriptConsoleMessage. If no handler is specified,
- the view will log the messages into a \c js \l{QLoggingCategory}{logging category}.
+ 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(request)
+ \qmlsignal WebEngineView::newViewRequested(WebEngineViewRequest request)
\since QtWebEngine 1.1
This signal is emitted when a page load is requested to happen in a separate
@@ -594,9 +587,7 @@
\snippet snippets/qtwebengine_webengineview_newviewrequested.qml 0
- The corresponding handler is \c onNewViewRequested.
-
- \sa WebEngineNewViewRequest, NewViewDestination, {WebEngine Quick Nano Browser}
+ \sa NewViewDestination, {WebEngine Quick Nano Browser}
*/
/*!
@@ -606,13 +597,11 @@
This signal is emitted when the web page requests fullscreen mode through the
JavaScript API.
- The corresponding handler is \c onFullScreenRequested.
-
- \sa WebEngineFullScreenRequest, isFullScreen
+ \sa isFullScreen
*/
/*!
- \qmlsignal WebEngineView::activeFocusOnPressChanged(bool)
+ \qmlsignal WebEngineView::activeFocusOnPressChanged(bool activeFocusOnPress)
\since QtWebEngine 1.2
This signal is emitted when the ability of the web engine view to get focus when clicked
@@ -646,8 +635,6 @@
This signal is emitted whenever the page requests the web browser window to be closed,
for example through the JavaScript \c{window.close()} call.
-
- The corresponding handler is \c onWindowCloseRequested.
*/
/*!
@@ -799,7 +786,9 @@
\value ToggleMediaMute
Mute or unmute the hovered audio or video element. (Added in Qt 5.6)
\value DownloadLinkToDisk
- Download the current link to the disk. (Added in Qt 5.6)
+ Download the current link to the disk. To implement download
+ actions, connect to the QWebEngineProfile::downloadRequested signal.
+ (Added in Qt 5.6)
\value DownloadImageToDisk
Download the highlighted image to the disk. (Added in Qt 5.6)
\value DownloadMediaToDisk