diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2017-08-31 17:12:37 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2017-11-29 08:36:51 +0000 |
commit | 05574185dab53476294cf62f2067a4147aa0b6eb (patch) | |
tree | d5117bbae4b3a4417173d6c969640e79c130b587 /src/webengine | |
parent | 5480a26d2f16dacfbce47da337559b5bcfb3d45e (diff) |
Expose an option to hide internal IP addresses from WebRTC
Task-number: QTBUG-57505
Change-Id: I8d8f906311ce94b2d9df67cb4479b70c8961c3a6
Reviewed-by: Viktor Engelmann <viktor.engelmann@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 |
2 files changed, 26 insertions, 0 deletions
diff --git a/src/webengine/api/qquickwebenginesettings.cpp b/src/webengine/api/qquickwebenginesettings.cpp index b238833ad..71b0deeca 100644 --- a/src/webengine/api/qquickwebenginesettings.cpp +++ b/src/webengine/api/qquickwebenginesettings.cpp @@ -412,6 +412,20 @@ bool QQuickWebEngineSettings::playbackRequiresUserGesture() const } /*! + \qmlproperty bool WebEngineSettings::webRTCPublicInterfacesOnly + \since QtWebEngine 1.7 + Limits WebRTC to public IP addresses only. When disabled WebRTC may also use + local network IP addresses, but remote hosts can also see your local network + IP address. + + Disabled by default. +*/ +bool QQuickWebEngineSettings::webRTCPublicInterfacesOnly() const +{ + return d_ptr->testAttribute(WebEngineSettings::WebRTCPublicInterfacesOnly); +} + +/*! \qmlproperty string WebEngineSettings::defaultTextEncoding \since QtWebEngine 1.2 @@ -662,6 +676,14 @@ void QQuickWebEngineSettings::setUnknownUrlSchemePolicy(QQuickWebEngineSettings: Q_EMIT unknownUrlSchemePolicyChanged(); } +void QQuickWebEngineSettings::setWebRTCPublicInterfacesOnly(bool on) +{ + bool wasOn = d_ptr->testAttribute(WebEngineSettings::WebRTCPublicInterfacesOnly); + d_ptr->setAttribute(WebEngineSettings::WebRTCPublicInterfacesOnly, on); + if (wasOn != on) + Q_EMIT webRTCPublicInterfacesOnlyChanged(); +} + void QQuickWebEngineSettings::setParentSettings(QQuickWebEngineSettings *parentSettings) { d_ptr->setParentSettings(parentSettings->d_ptr.data()); diff --git a/src/webengine/api/qquickwebenginesettings_p.h b/src/webengine/api/qquickwebenginesettings_p.h index 63c397d21..60baa7323 100644 --- a/src/webengine/api/qquickwebenginesettings_p.h +++ b/src/webengine/api/qquickwebenginesettings_p.h @@ -90,6 +90,7 @@ class Q_WEBENGINE_PRIVATE_EXPORT QQuickWebEngineSettings : public QObject { Q_PROPERTY(bool showScrollBars READ showScrollBars WRITE setShowScrollBars NOTIFY showScrollBarsChanged REVISION 5 FINAL) Q_PROPERTY(UnknownUrlSchemePolicy unknownUrlSchemePolicy READ unknownUrlSchemePolicy WRITE setUnknownUrlSchemePolicy NOTIFY unknownUrlSchemePolicyChanged REVISION 6 FINAL) 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) public: enum UnknownUrlSchemePolicy { @@ -129,6 +130,7 @@ public: bool showScrollBars() const; UnknownUrlSchemePolicy unknownUrlSchemePolicy() const; bool playbackRequiresUserGesture() const; + bool webRTCPublicInterfacesOnly() const; void setAutoLoadImages(bool on); void setJavascriptEnabled(bool on); @@ -157,6 +159,7 @@ public: void setShowScrollBars(bool on); void setUnknownUrlSchemePolicy(UnknownUrlSchemePolicy policy); void setPlaybackRequiresUserGesture(bool on); + void setWebRTCPublicInterfacesOnly(bool on); signals: void autoLoadImagesChanged(); @@ -186,6 +189,7 @@ signals: Q_REVISION(5) void showScrollBarsChanged(); Q_REVISION(6) void unknownUrlSchemePolicyChanged(); Q_REVISION(6) void playbackRequiresUserGestureChanged(); + Q_REVISION(6) void webRTCPublicInterfacesOnlyChanged(); private: explicit QQuickWebEngineSettings(QQuickWebEngineSettings *parentSettings = 0); |