From eb96f424587c5da4eabe1306e4c277879a245c02 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Mon, 24 Jun 2019 14:41:46 +0200 Subject: Join some features request and response functions Will make it easier to expands with more features in the future Change-Id: Ic7c1aca23a543c95a4873471c918f74606be2053 Reviewed-by: Kirill Burtsev --- src/webenginewidgets/api/qwebenginepage.cpp | 32 ++++++++++++++++++----------- 1 file changed, 20 insertions(+), 12 deletions(-) (limited to 'src/webenginewidgets/api/qwebenginepage.cpp') diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp index 55fa6a078..0d2988421 100644 --- a/src/webenginewidgets/api/qwebenginepage.cpp +++ b/src/webenginewidgets/api/qwebenginepage.cpp @@ -537,10 +537,24 @@ void QWebEnginePagePrivate::runMediaAccessPermissionRequest(const QUrl &security Q_EMIT q->featurePermissionRequested(securityOrigin, feature); } -void QWebEnginePagePrivate::runGeolocationPermissionRequest(const QUrl &securityOrigin) +static QWebEnginePage::Feature toFeature(QtWebEngineCore::ProfileAdapter::PermissionType type) +{ + switch (type) { + case QtWebEngineCore::ProfileAdapter::NotificationPermission: + return QWebEnginePage::Notifications; + case QtWebEngineCore::ProfileAdapter::GeolocationPermission: + return QWebEnginePage::Geolocation; + default: + break; + } + Q_UNREACHABLE(); + return QWebEnginePage::Feature(-1); +} + +void QWebEnginePagePrivate::runFeaturePermissionRequest(QtWebEngineCore::ProfileAdapter::PermissionType permission, const QUrl &securityOrigin) { Q_Q(QWebEnginePage); - Q_EMIT q->featurePermissionRequested(securityOrigin, QWebEnginePage::Geolocation); + Q_EMIT q->featurePermissionRequested(securityOrigin, toFeature(permission)); } void QWebEnginePagePrivate::runMouseLockPermissionRequest(const QUrl &securityOrigin) @@ -561,12 +575,6 @@ void QWebEnginePagePrivate::runRegisterProtocolHandlerRequest(QWebEngineRegister Q_EMIT q->registerProtocolHandlerRequested(request); } -void QWebEnginePagePrivate::runUserNotificationPermissionRequest(const QUrl &securityOrigin) -{ - Q_Q(QWebEnginePage); - Q_EMIT q->featurePermissionRequested(securityOrigin, QWebEnginePage::Notifications); -} - QObject *QWebEnginePagePrivate::accessibilityParentObject() { return view; @@ -1976,13 +1984,13 @@ void QWebEnginePage::setFeaturePermission(const QUrl &securityOrigin, QWebEngine d->adapter->grantMediaAccessPermission(securityOrigin, WebContentsAdapterClient::MediaDesktopVideoCapture); break; case Geolocation: - d->adapter->runGeolocationRequestCallback(securityOrigin, true); + d->adapter->runFeatureRequestCallback(securityOrigin, ProfileAdapter::GeolocationPermission, true); break; case MouseLock: d->adapter->grantMouseLockPermission(true); break; case Notifications: - d->adapter->runUserNotificationRequestCallback(securityOrigin, true); + d->adapter->runFeatureRequestCallback(securityOrigin, ProfileAdapter::NotificationPermission, true); break; } } else { // if (policy == PermissionDeniedByUser) @@ -1995,13 +2003,13 @@ void QWebEnginePage::setFeaturePermission(const QUrl &securityOrigin, QWebEngine d->adapter->grantMediaAccessPermission(securityOrigin, WebContentsAdapterClient::MediaNone); break; case Geolocation: - d->adapter->runGeolocationRequestCallback(securityOrigin, false); + d->adapter->runFeatureRequestCallback(securityOrigin, ProfileAdapter::GeolocationPermission, false); break; case MouseLock: d->adapter->grantMouseLockPermission(false); break; case Notifications: - d->adapter->runUserNotificationRequestCallback(securityOrigin, false); + d->adapter->runFeatureRequestCallback(securityOrigin, ProfileAdapter::NotificationPermission, false); break; } } -- cgit v1.2.3