diff options
Diffstat (limited to 'src/webengine/api')
-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 71af00d30..b238833ad 100644 --- a/src/webengine/api/qquickwebenginesettings.cpp +++ b/src/webengine/api/qquickwebenginesettings.cpp @@ -398,6 +398,20 @@ bool QQuickWebEngineSettings::showScrollBars() const } /*! + \qmlproperty bool WebEngineSettings::playbackRequiresUserGesture + \since QtWebEngine 1.7 + Inhibits playback of media content until the user interacts with + the page. Disabled by default. + + \note The behavior is similar to Chrome on Android when enabled, + and similar to Chrome on desktops when disabled (default). +*/ +bool QQuickWebEngineSettings::playbackRequiresUserGesture() const +{ + return d_ptr->testAttribute(WebEngineSettings::PlaybackRequiresUserGesture); +} + +/*! \qmlproperty string WebEngineSettings::defaultTextEncoding \since QtWebEngine 1.2 @@ -631,6 +645,14 @@ void QQuickWebEngineSettings::setShowScrollBars(bool on) Q_EMIT showScrollBarsChanged(); } +void QQuickWebEngineSettings::setPlaybackRequiresUserGesture(bool on) +{ + bool wasOn = d_ptr->testAttribute(WebEngineSettings::PlaybackRequiresUserGesture); + d_ptr->setAttribute(WebEngineSettings::PlaybackRequiresUserGesture, on); + if (wasOn != on) + Q_EMIT playbackRequiresUserGestureChanged(); +} + 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 6e0900c58..63c397d21 100644 --- a/src/webengine/api/qquickwebenginesettings_p.h +++ b/src/webengine/api/qquickwebenginesettings_p.h @@ -89,6 +89,7 @@ class Q_WEBENGINE_PRIVATE_EXPORT QQuickWebEngineSettings : public QObject { Q_PROPERTY(bool allowWindowActivationFromJavaScript READ allowWindowActivationFromJavaScript WRITE setAllowWindowActivationFromJavaScript NOTIFY allowWindowActivationFromJavaScriptChanged REVISION 5 FINAL) 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) public: enum UnknownUrlSchemePolicy { @@ -127,6 +128,7 @@ public: bool allowWindowActivationFromJavaScript() const; bool showScrollBars() const; UnknownUrlSchemePolicy unknownUrlSchemePolicy() const; + bool playbackRequiresUserGesture() const; void setAutoLoadImages(bool on); void setJavascriptEnabled(bool on); @@ -154,6 +156,7 @@ public: void setAllowWindowActivationFromJavaScript(bool on); void setShowScrollBars(bool on); void setUnknownUrlSchemePolicy(UnknownUrlSchemePolicy policy); + void setPlaybackRequiresUserGesture(bool on); signals: void autoLoadImagesChanged(); @@ -182,6 +185,7 @@ signals: Q_REVISION(5) void allowWindowActivationFromJavaScriptChanged(); Q_REVISION(5) void showScrollBarsChanged(); Q_REVISION(6) void unknownUrlSchemePolicyChanged(); + Q_REVISION(6) void playbackRequiresUserGestureChanged(); private: explicit QQuickWebEngineSettings(QQuickWebEngineSettings *parentSettings = 0); |