summaryrefslogtreecommitdiffstats
path: root/src/webengine
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2017-08-31 17:12:37 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2017-11-29 08:36:51 +0000
commit05574185dab53476294cf62f2067a4147aa0b6eb (patch)
treed5117bbae4b3a4417173d6c969640e79c130b587 /src/webengine
parent5480a26d2f16dacfbce47da337559b5bcfb3d45e (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.cpp22
-rw-r--r--src/webengine/api/qquickwebenginesettings_p.h4
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);