From fbb216fa3119d06f88744e18d3f4f53d64fcf523 Mon Sep 17 00:00:00 2001 From: Moss Heim Date: Wed, 13 Dec 2023 13:39:16 +0100 Subject: Add granular permission for clipboard-read/write Previously, permissions for clipboard access could only be managed through the JavascriptCanAccessClipboard and JavascriptCanPaste settings. This change allows copy/paste to be handled the same way as notification and geolocation permissions. If both JavascriptCanAccessClipboard and JavascriptCanPaste are enabled, permissions will be granted unconditionally without a feature request being made. Fixes: QTBUG-77450 Change-Id: I383e27e244ced3d6b7988644e38d2307c6267f76 Reviewed-by: Allan Sandfeld Jensen --- src/webenginequick/api/qquickwebengineview.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/webenginequick/api/qquickwebengineview.cpp') diff --git a/src/webenginequick/api/qquickwebengineview.cpp b/src/webenginequick/api/qquickwebengineview.cpp index c5f931a69..700e18b25 100644 --- a/src/webenginequick/api/qquickwebengineview.cpp +++ b/src/webenginequick/api/qquickwebengineview.cpp @@ -492,6 +492,8 @@ static QQuickWebEngineView::Feature toFeature(QtWebEngineCore::ProfileAdapter::P return QQuickWebEngineView::Notifications; case QtWebEngineCore::ProfileAdapter::GeolocationPermission: return QQuickWebEngineView::Geolocation; + case QtWebEngineCore::ProfileAdapter::ClipboardReadWrite: + return QQuickWebEngineView::ClipboardReadWrite; default: break; } @@ -1781,6 +1783,11 @@ void QQuickWebEngineView::grantFeaturePermission(const QUrl &securityOrigin, QQu d_ptr->adapter->grantFeaturePermission(securityOrigin, ProfileAdapter::NotificationPermission, granted ? ProfileAdapter::AllowedPermission : ProfileAdapter::DeniedPermission); break; + case ClipboardReadWrite: + d_ptr->adapter->grantFeaturePermission(securityOrigin, ProfileAdapter::ClipboardReadWrite, + granted ? ProfileAdapter::AllowedPermission + : ProfileAdapter::DeniedPermission); + break; default: Q_UNREACHABLE(); } -- cgit v1.2.3