From 0cc07329495a05fc5f8532c4420bd23db662fdb6 Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Thu, 26 Oct 2017 15:11:20 +0200 Subject: 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 --- src/webenginewidgets/api/qwebenginesettings.cpp | 2 ++ src/webenginewidgets/api/qwebenginesettings.h | 1 + src/webenginewidgets/doc/src/qwebenginesettings_lgpl.qdoc | 5 +++++ 3 files changed, 8 insertions(+) (limited to 'src/webenginewidgets') diff --git a/src/webenginewidgets/api/qwebenginesettings.cpp b/src/webenginewidgets/api/qwebenginesettings.cpp index b829c5799..32f9b75cd 100644 --- a/src/webenginewidgets/api/qwebenginesettings.cpp +++ b/src/webenginewidgets/api/qwebenginesettings.cpp @@ -105,6 +105,8 @@ static WebEngineSettings::Attribute toWebEngineAttribute(QWebEngineSettings::Web return WebEngineSettings::PlaybackRequiresUserGesture; case QWebEngineSettings::WebRTCPublicInterfacesOnly: return WebEngineSettings::WebRTCPublicInterfacesOnly; + case QWebEngineSettings::JavascriptCanPaste: + return WebEngineSettings::JavascriptCanPaste; default: return WebEngineSettings::UnsupportedInCoreSettings; diff --git a/src/webenginewidgets/api/qwebenginesettings.h b/src/webenginewidgets/api/qwebenginesettings.h index 81b6c2937..1815396b6 100644 --- a/src/webenginewidgets/api/qwebenginesettings.h +++ b/src/webenginewidgets/api/qwebenginesettings.h @@ -94,6 +94,7 @@ public: ShowScrollBars, PlaybackRequiresUserGesture, WebRTCPublicInterfacesOnly, + JavascriptCanPaste, }; enum FontSize { diff --git a/src/webenginewidgets/doc/src/qwebenginesettings_lgpl.qdoc b/src/webenginewidgets/doc/src/qwebenginesettings_lgpl.qdoc index cde26f66b..a8ee59bf4 100644 --- a/src/webenginewidgets/doc/src/qwebenginesettings_lgpl.qdoc +++ b/src/webenginewidgets/doc/src/qwebenginesettings_lgpl.qdoc @@ -94,6 +94,8 @@ \value JavascriptCanAccessClipboard Allows JavaScript programs to read from and write to the clipboard. Writing to the clipboard is always allowed if it is specifically requested by the user. + See JavascriptCanPaste to also allow pasting the content of the clipboard content from + JavaScript. Disabled by default. \value LinksIncludedInFocusChain Includes hyperlinks in the keyboard focus chain. Enabled by default. @@ -173,6 +175,9 @@ Inhibits playback of media content until the user interacts with the page. This is similar to how Chrome on Android behaves, while the default behavior when it is disabled is similar to Chrome on desktops. + \value JavascriptCanPaste + Enables JavaScript \c{execCommand("paste")}. This also requires + enabling JavascriptCanAccessClipboard. Disabled by default. (Added in Qt 5.11) \value WebRTCPublicInterfacesOnly Limits WebRTC to public IP addresses only. When disabled WebRTC may also use -- cgit v1.2.3