diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-06-24 14:41:46 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-04-15 17:17:26 +0200 |
commit | eb96f424587c5da4eabe1306e4c277879a245c02 (patch) | |
tree | 22b4b13e620dca5b06bbed457be8b01ac5bb21e7 /src/webengine/api/qquickwebengineview.cpp | |
parent | 3125f1ac3951c63c20110c7e3946ca281cebbdf3 (diff) |
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 <kirill.burtsev@qt.io>
Diffstat (limited to 'src/webengine/api/qquickwebengineview.cpp')
-rw-r--r-- | src/webengine/api/qquickwebengineview.cpp | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/src/webengine/api/qquickwebengineview.cpp b/src/webengine/api/qquickwebengineview.cpp index bcbf95569..7052afe42 100644 --- a/src/webengine/api/qquickwebengineview.cpp +++ b/src/webengine/api/qquickwebengineview.cpp @@ -316,16 +316,25 @@ void QQuickWebEngineViewPrivate::selectClientCert(const QSharedPointer<ClientCer #endif } -void QQuickWebEngineViewPrivate::runGeolocationPermissionRequest(const QUrl &url) +static QQuickWebEngineView::Feature toFeature(QtWebEngineCore::ProfileAdapter::PermissionType type) { - Q_Q(QQuickWebEngineView); - Q_EMIT q->featurePermissionRequested(url, QQuickWebEngineView::Geolocation); + switch (type) { + case QtWebEngineCore::ProfileAdapter::NotificationPermission: + return QQuickWebEngineView::Notifications; + case QtWebEngineCore::ProfileAdapter::GeolocationPermission: + return QQuickWebEngineView::Geolocation; + default: + break; + } + Q_UNREACHABLE(); + return QQuickWebEngineView::Feature(-1); } -void QQuickWebEngineViewPrivate::runUserNotificationPermissionRequest(const QUrl &url) + +void QQuickWebEngineViewPrivate::runFeaturePermissionRequest(QtWebEngineCore::ProfileAdapter::PermissionType permission, const QUrl &url) { Q_Q(QQuickWebEngineView); - Q_EMIT q->featurePermissionRequested(url, QQuickWebEngineView::Notifications); + Q_EMIT q->featurePermissionRequested(url, toFeature(permission)); } void QQuickWebEngineViewPrivate::showColorDialog(QSharedPointer<ColorChooserController> controller) @@ -1629,7 +1638,7 @@ void QQuickWebEngineView::grantFeaturePermission(const QUrl &securityOrigin, QQu d_ptr->adapter->grantMediaAccessPermission(securityOrigin, WebContentsAdapterClient::MediaRequestFlags(WebContentsAdapterClient::MediaAudioCapture | WebContentsAdapterClient::MediaVideoCapture)); break; case Geolocation: - d_ptr->adapter->runGeolocationRequestCallback(securityOrigin, granted); + d_ptr->adapter->runFeatureRequestCallback(securityOrigin, ProfileAdapter::GeolocationPermission, granted); break; case DesktopVideoCapture: d_ptr->adapter->grantMediaAccessPermission(securityOrigin, WebContentsAdapterClient::MediaDesktopVideoCapture); @@ -1642,7 +1651,7 @@ void QQuickWebEngineView::grantFeaturePermission(const QUrl &securityOrigin, QQu WebContentsAdapterClient::MediaDesktopVideoCapture)); break; case Notifications: - d_ptr->adapter->runUserNotificationRequestCallback(securityOrigin, granted); + d_ptr->adapter->runFeatureRequestCallback(securityOrigin, ProfileAdapter::NotificationPermission, granted); break; default: Q_UNREACHABLE(); |