diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-07-24 12:32:25 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-08-01 15:29:51 +0000 |
commit | 6a5f8d69fc1d090326fa92a0b24bd494369c2d0d (patch) | |
tree | c5d21e50d796a110eb7345bd691d3ba11065528c /src/webengine | |
parent | b80a0ef3c1af16ba74c2b9e931c18266362ce926 (diff) |
Add DNS prefetching
Turns out we did no have DNS prefetching. It requires an extra
component. The same component can also do pre-connect, but we do not
enable that, as it requires a predictive browsing backend.
[ChangeLog][Settings] DnsPrefetchEnabled added, but disabled by default.
Change-Id: Ieb036435b9f1a72a7be302e38e89e0c347c7176b
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
Diffstat (limited to 'src/webengine')
-rw-r--r-- | src/webengine/api/qquickwebenginesettings.cpp | 22 | ||||
-rw-r--r-- | src/webengine/api/qquickwebenginesettings_p.h | 4 | ||||
-rw-r--r-- | src/webengine/plugin/plugin.cpp | 1 |
3 files changed, 27 insertions, 0 deletions
diff --git a/src/webengine/api/qquickwebenginesettings.cpp b/src/webengine/api/qquickwebenginesettings.cpp index 6203f20f1..6e96e76cf 100644 --- a/src/webengine/api/qquickwebenginesettings.cpp +++ b/src/webengine/api/qquickwebenginesettings.cpp @@ -443,6 +443,20 @@ bool QQuickWebEngineSettings::javascriptCanPaste() const } /*! + \qmlproperty bool WebEngineSettings::dnsPrefetchEnabled + \since QtWebEngine 1.8 + + Enables speculative prefetching of DNS records for HTML links before + they are activated. + + Disabled by default. +*/ +bool QQuickWebEngineSettings::dnsPrefetchEnabled() const +{ + return d_ptr->testAttribute(WebEngineSettings::DnsPrefetchEnabled); +} + +/*! \qmlproperty string WebEngineSettings::defaultTextEncoding \since QtWebEngine 1.2 @@ -692,6 +706,14 @@ void QQuickWebEngineSettings::setJavascriptCanPaste(bool on) Q_EMIT javascriptCanPasteChanged(); } +void QQuickWebEngineSettings::setDnsPrefetchEnabled(bool on) +{ + bool wasOn = d_ptr->testAttribute(WebEngineSettings::DnsPrefetchEnabled); + d_ptr->setAttribute(WebEngineSettings::DnsPrefetchEnabled, on); + if (wasOn != on) + Q_EMIT dnsPrefetchEnabledChanged(); +} + void QQuickWebEngineSettings::setUnknownUrlSchemePolicy(QQuickWebEngineSettings::UnknownUrlSchemePolicy policy) { WebEngineSettings::UnknownUrlSchemePolicy oldPolicy = d_ptr->unknownUrlSchemePolicy(); diff --git a/src/webengine/api/qquickwebenginesettings_p.h b/src/webengine/api/qquickwebenginesettings_p.h index ca583379d..179416b54 100644 --- a/src/webengine/api/qquickwebenginesettings_p.h +++ b/src/webengine/api/qquickwebenginesettings_p.h @@ -92,6 +92,7 @@ class Q_WEBENGINE_PRIVATE_EXPORT QQuickWebEngineSettings : public QObject { Q_PROPERTY(bool playbackRequiresUserGesture READ playbackRequiresUserGesture WRITE setPlaybackRequiresUserGesture NOTIFY playbackRequiresUserGestureChanged REVISION 6 FINAL) Q_PROPERTY(bool webRTCPublicInterfacesOnly READ webRTCPublicInterfacesOnly WRITE setWebRTCPublicInterfacesOnly NOTIFY webRTCPublicInterfacesOnlyChanged REVISION 6 FINAL) Q_PROPERTY(bool javascriptCanPaste READ javascriptCanPaste WRITE setJavascriptCanPaste NOTIFY javascriptCanPasteChanged REVISION 6 FINAL) + Q_PROPERTY(bool dnsPrefetchEnabled READ dnsPrefetchEnabled WRITE setDnsPrefetchEnabled NOTIFY dnsPrefetchEnabledChanged REVISION 7 FINAL) public: enum UnknownUrlSchemePolicy { @@ -133,6 +134,7 @@ public: bool playbackRequiresUserGesture() const; bool webRTCPublicInterfacesOnly() const; bool javascriptCanPaste() const; + bool dnsPrefetchEnabled() const; void setAutoLoadImages(bool on); void setJavascriptEnabled(bool on); @@ -163,6 +165,7 @@ public: void setPlaybackRequiresUserGesture(bool on); void setWebRTCPublicInterfacesOnly(bool on); void setJavascriptCanPaste(bool on); + void setDnsPrefetchEnabled(bool on); signals: void autoLoadImagesChanged(); @@ -194,6 +197,7 @@ signals: Q_REVISION(6) void playbackRequiresUserGestureChanged(); Q_REVISION(6) void webRTCPublicInterfacesOnlyChanged(); Q_REVISION(6) void javascriptCanPasteChanged(); + Q_REVISION(7) void dnsPrefetchEnabledChanged(); private: explicit QQuickWebEngineSettings(QQuickWebEngineSettings *parentSettings = 0); diff --git a/src/webengine/plugin/plugin.cpp b/src/webengine/plugin/plugin.cpp index d81b797fc..545f17f82 100644 --- a/src/webengine/plugin/plugin.cpp +++ b/src/webengine/plugin/plugin.cpp @@ -119,6 +119,7 @@ public: qmlRegisterUncreatableType<QQuickWebEngineSettings, 4>(uri, 1, 5, "WebEngineSettings", tr("Cannot create a separate instance of WebEngineSettings")); qmlRegisterUncreatableType<QQuickWebEngineSettings, 5>(uri, 1, 6, "WebEngineSettings", tr("Cannot create a separate instance of WebEngineSettings")); qmlRegisterUncreatableType<QQuickWebEngineSettings, 6>(uri, 1, 7, "WebEngineSettings", tr("Cannot create a separate instance of WebEngineSettings")); + qmlRegisterUncreatableType<QQuickWebEngineSettings, 7>(uri, 1, 8, "WebEngineSettings", tr("Cannot create a separate instance of WebEngineSettings")); qmlRegisterSingletonType<QQuickWebEngineSingleton>(uri, 1, 1, "WebEngine", webEngineSingletonProvider); qmlRegisterUncreatableType<QQuickWebEngineHistory>(uri, 1, 1, "NavigationHistory", tr("Cannot create a separate instance of NavigationHistory")); |