diff options
author | Kai Koehne <kai.koehne@qt.io> | 2017-10-26 15:11:20 +0200 |
---|---|---|
committer | Kai Koehne <kai.koehne@qt.io> | 2018-02-02 09:57:01 +0000 |
commit | 0cc07329495a05fc5f8532c4420bd23db662fdb6 (patch) | |
tree | 6dc317f9509ed71304e57051e6da85ca66f1a072 /src/webengine/api/qquickwebenginesettings.cpp | |
parent | 28c9385ab3568361a53a4ea1559c1b971a44d50d (diff) |
Expose JavascriptCanPaste attribute
Expose an attribute to enable the execCommand("paste") functionality,
which is by default disabled due to security concerns.
[ChangeLog][General] Added JavaScriptCanPaste attribute that
enables JavaScript 'execCommand("paste")'.
Task-number: QTBUG-64056
Change-Id: I1a414021e020473dd15946fff91fb103d871e961
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src/webengine/api/qquickwebenginesettings.cpp')
-rw-r--r-- | src/webengine/api/qquickwebenginesettings.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/webengine/api/qquickwebenginesettings.cpp b/src/webengine/api/qquickwebenginesettings.cpp index 71b0deeca..6203f20f1 100644 --- a/src/webengine/api/qquickwebenginesettings.cpp +++ b/src/webengine/api/qquickwebenginesettings.cpp @@ -130,6 +130,9 @@ bool QQuickWebEngineSettings::javascriptCanOpenWindows() const Allows JavaScript programs to read from or write to the clipboard. Writing to the clipboard is always allowed if it is specifically requested by the user. + To enable also the pasting of clipboard content from JavaScript, + use javascriptCanPaste. + Disabled by default. */ bool QQuickWebEngineSettings::javascriptCanAccessClipboard() const @@ -426,6 +429,20 @@ bool QQuickWebEngineSettings::webRTCPublicInterfacesOnly() const } /*! + \qmlproperty bool WebEngineSettings::javascriptCanPaste + \since QtWebEngine 1.7 + + Enables JavaScript \c{execCommand("paste")}. + This also requires enabling javascriptCanAccessClipboard. + + Disabled by default. +*/ +bool QQuickWebEngineSettings::javascriptCanPaste() const +{ + return d_ptr->testAttribute(WebEngineSettings::JavascriptCanPaste); +} + +/*! \qmlproperty string WebEngineSettings::defaultTextEncoding \since QtWebEngine 1.2 @@ -667,6 +684,14 @@ void QQuickWebEngineSettings::setPlaybackRequiresUserGesture(bool on) Q_EMIT playbackRequiresUserGestureChanged(); } +void QQuickWebEngineSettings::setJavascriptCanPaste(bool on) +{ + bool wasOn = d_ptr->testAttribute(WebEngineSettings::JavascriptCanPaste); + d_ptr->setAttribute(WebEngineSettings::JavascriptCanPaste, on); + if (wasOn != on) + Q_EMIT javascriptCanPasteChanged(); +} + void QQuickWebEngineSettings::setUnknownUrlSchemePolicy(QQuickWebEngineSettings::UnknownUrlSchemePolicy policy) { WebEngineSettings::UnknownUrlSchemePolicy oldPolicy = d_ptr->unknownUrlSchemePolicy(); |