summaryrefslogtreecommitdiffstats
path: root/src/core/api/qwebenginepage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/api/qwebenginepage.cpp')
-rw-r--r--src/core/api/qwebenginepage.cpp100
1 files changed, 45 insertions, 55 deletions
diff --git a/src/core/api/qwebenginepage.cpp b/src/core/api/qwebenginepage.cpp
index a5c06f29c..433de26b0 100644
--- a/src/core/api/qwebenginepage.cpp
+++ b/src/core/api/qwebenginepage.cpp
@@ -590,22 +590,22 @@ void QWebEnginePagePrivate::showColorDialog(QSharedPointer<ColorChooserControlle
void QWebEnginePagePrivate::runMediaAccessPermissionRequest(const QUrl &securityOrigin, WebContentsAdapterClient::MediaRequestFlags requestFlags)
{
Q_Q(QWebEnginePage);
- QWebEnginePermission::Feature feature;
+ QWebEnginePermission::PermissionType permissionType;
if (requestFlags.testFlag(WebContentsAdapterClient::MediaAudioCapture)
&& requestFlags.testFlag(WebContentsAdapterClient::MediaVideoCapture))
- feature = QWebEnginePermission::MediaAudioVideoCapture;
+ permissionType = QWebEnginePermission::PermissionType::MediaAudioVideoCapture;
else if (requestFlags.testFlag(WebContentsAdapterClient::MediaAudioCapture))
- feature = QWebEnginePermission::MediaAudioCapture;
+ permissionType = QWebEnginePermission::PermissionType::MediaAudioCapture;
else if (requestFlags.testFlag(WebContentsAdapterClient::MediaVideoCapture))
- feature = QWebEnginePermission::MediaVideoCapture;
+ permissionType = QWebEnginePermission::PermissionType::MediaVideoCapture;
else if (requestFlags.testFlag(WebContentsAdapterClient::MediaDesktopAudioCapture)
&& requestFlags.testFlag(WebContentsAdapterClient::MediaDesktopVideoCapture))
- feature = QWebEnginePermission::DesktopAudioVideoCapture;
+ permissionType = QWebEnginePermission::PermissionType::DesktopAudioVideoCapture;
else // if (requestFlags.testFlag(WebContentsAdapterClient::MediaDesktopVideoCapture))
- feature = QWebEnginePermission::DesktopVideoCapture;
+ permissionType = QWebEnginePermission::PermissionType::DesktopVideoCapture;
- Q_EMIT q->permissionRequested(createFeaturePermissionObject(securityOrigin, feature));
+ Q_EMIT q->permissionRequested(createFeaturePermissionObject(securityOrigin, permissionType));
#if QT_DEPRECATED_SINCE(6, 8)
QT_WARNING_PUSH
@@ -633,30 +633,30 @@ void QWebEnginePagePrivate::runMediaAccessPermissionRequest(const QUrl &security
#if QT_DEPRECATED_SINCE(6, 8)
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
-static QWebEnginePage::Feature toDeprecatedFeature(QWebEnginePermission::Feature feature)
+static QWebEnginePage::Feature toDeprecatedFeature(QWebEnginePermission::PermissionType permissionType)
{
- switch (feature) {
- case QWebEnginePermission::Feature::Notifications:
+ switch (permissionType) {
+ case QWebEnginePermission::PermissionType::Notifications:
return QWebEnginePage::Notifications;
- case QWebEnginePermission::Feature::Geolocation:
+ case QWebEnginePermission::PermissionType::Geolocation:
return QWebEnginePage::Geolocation;
- case QWebEnginePermission::Feature::ClipboardReadWrite:
+ case QWebEnginePermission::PermissionType::ClipboardReadWrite:
return QWebEnginePage::ClipboardReadWrite;
- case QWebEnginePermission::Feature::LocalFontsAccess:
+ case QWebEnginePermission::PermissionType::LocalFontsAccess:
return QWebEnginePage::LocalFontsAccess;
- case QWebEnginePermission::Feature::MediaAudioCapture:
+ case QWebEnginePermission::PermissionType::MediaAudioCapture:
return QWebEnginePage::MediaAudioCapture;
- case QWebEnginePermission::Feature::MediaVideoCapture:
+ case QWebEnginePermission::PermissionType::MediaVideoCapture:
return QWebEnginePage::MediaVideoCapture;
- case QWebEnginePermission::Feature::MediaAudioVideoCapture:
+ case QWebEnginePermission::PermissionType::MediaAudioVideoCapture:
return QWebEnginePage::MediaAudioVideoCapture;
- case QWebEnginePermission::Feature::DesktopVideoCapture:
+ case QWebEnginePermission::PermissionType::DesktopVideoCapture:
return QWebEnginePage::DesktopVideoCapture;
- case QWebEnginePermission::Feature::DesktopAudioVideoCapture:
+ case QWebEnginePermission::PermissionType::DesktopAudioVideoCapture:
return QWebEnginePage::DesktopAudioVideoCapture;
- case QWebEnginePermission::Feature::MouseLock:
+ case QWebEnginePermission::PermissionType::MouseLock:
return QWebEnginePage::MouseLock;
- case QWebEnginePermission::Feature::Unsupported:
+ case QWebEnginePermission::PermissionType::Unsupported:
break;
}
@@ -666,38 +666,28 @@ static QWebEnginePage::Feature toDeprecatedFeature(QWebEnginePermission::Feature
QT_WARNING_POP
#endif // QT_DEPRECATED_SINCE(6, 8)
-void QWebEnginePagePrivate::runFeaturePermissionRequest(QWebEnginePermission::Feature feature, const QUrl &securityOrigin)
+void QWebEnginePagePrivate::runFeaturePermissionRequest(QWebEnginePermission::PermissionType permissionType, const QUrl &securityOrigin)
{
Q_Q(QWebEnginePage);
- switch (feature) {
- case QWebEnginePermission::Notifications:
- case QWebEnginePermission::Geolocation:
- case QWebEnginePermission::ClipboardReadWrite:
- case QWebEnginePermission::LocalFontsAccess:
- Q_EMIT q->permissionRequested(createFeaturePermissionObject(securityOrigin, feature));
+
+ if (QWebEnginePermission::isPersistent(permissionType)) {
+ Q_EMIT q->permissionRequested(createFeaturePermissionObject(securityOrigin, permissionType));
#if QT_DEPRECATED_SINCE(6, 8)
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
- Q_EMIT q->featurePermissionRequested(securityOrigin, toDeprecatedFeature(feature));
+ Q_EMIT q->featurePermissionRequested(securityOrigin, toDeprecatedFeature(permissionType));
QT_WARNING_POP
#endif // QT_DEPRECATED_SINCE(6, 8)
return;
- case QWebEnginePermission::MouseLock:
- case QWebEnginePermission::MediaAudioCapture:
- case QWebEnginePermission::MediaVideoCapture:
- case QWebEnginePermission::MediaAudioVideoCapture:
- case QWebEnginePermission::DesktopAudioVideoCapture:
- case QWebEnginePermission::DesktopVideoCapture:
- case QWebEnginePermission::Unsupported:
- Q_UNREACHABLE();
- return;
}
+
+ Q_UNREACHABLE();
}
void QWebEnginePagePrivate::runMouseLockPermissionRequest(const QUrl &securityOrigin)
{
Q_Q(QWebEnginePage);
- Q_EMIT q->permissionRequested(createFeaturePermissionObject(securityOrigin, QWebEnginePermission::MouseLock));
+ Q_EMIT q->permissionRequested(createFeaturePermissionObject(securityOrigin, QWebEnginePermission::PermissionType::MouseLock));
#if QT_DEPRECATED_SINCE(6, 8)
QT_WARNING_PUSH
@@ -893,9 +883,9 @@ void QWebEnginePagePrivate::showWebAuthDialog(QWebEngineWebAuthUxRequest *reques
Q_EMIT q->webAuthUxRequested(request);
}
-QWebEnginePermission QWebEnginePagePrivate::createFeaturePermissionObject(const QUrl &securityOrigin, QWebEnginePermission::Feature feature)
+QWebEnginePermission QWebEnginePagePrivate::createFeaturePermissionObject(const QUrl &securityOrigin, QWebEnginePermission::PermissionType feature)
{
- auto *returnPrivate = new QWebEnginePermissionPrivate{securityOrigin, feature, adapter, profileAdapter()};
+ auto *returnPrivate = new QWebEnginePermissionPrivate(securityOrigin, feature, adapter, profileAdapter());
return QWebEnginePermission(returnPrivate);
}
@@ -1857,39 +1847,39 @@ QT_WARNING_DISABLE_DEPRECATED
void QWebEnginePage::setFeaturePermission(const QUrl &securityOrigin, QWebEnginePage::Feature feature, QWebEnginePage::PermissionPolicy policy)
{
Q_D(QWebEnginePage);
- QWebEnginePermission::Feature f = QWebEnginePermission::Feature::Unsupported;
+ QWebEnginePermission::PermissionType f = QWebEnginePermission::PermissionType::Unsupported;
QWebEnginePermission::State s = QWebEnginePermission::State::Invalid;
switch (feature) {
case QWebEnginePage::Notifications:
- f = QWebEnginePermission::Notifications;
+ f = QWebEnginePermission::PermissionType::Notifications;
break;
case QWebEnginePage::Geolocation:
- f = QWebEnginePermission::Geolocation;
+ f = QWebEnginePermission::PermissionType::Geolocation;
break;
case QWebEnginePage::MediaAudioCapture:
- f = QWebEnginePermission::MediaAudioCapture;
+ f = QWebEnginePermission::PermissionType::MediaAudioCapture;
break;
case QWebEnginePage::MediaVideoCapture:
- f = QWebEnginePermission::MediaVideoCapture;
+ f = QWebEnginePermission::PermissionType::MediaVideoCapture;
break;
case QWebEnginePage::MediaAudioVideoCapture:
- f = QWebEnginePermission::MediaAudioVideoCapture;
+ f = QWebEnginePermission::PermissionType::MediaAudioVideoCapture;
break;
case QWebEnginePage::MouseLock:
- f = QWebEnginePermission::MouseLock;
+ f = QWebEnginePermission::PermissionType::MouseLock;
break;
case QWebEnginePage::DesktopVideoCapture:
- f = QWebEnginePermission::DesktopVideoCapture;
+ f = QWebEnginePermission::PermissionType::DesktopVideoCapture;
break;
case QWebEnginePage::DesktopAudioVideoCapture:
- f = QWebEnginePermission::DesktopAudioVideoCapture;
+ f = QWebEnginePermission::PermissionType::DesktopAudioVideoCapture;
break;
case QWebEnginePage::ClipboardReadWrite:
- f = QWebEnginePermission::ClipboardReadWrite;
+ f = QWebEnginePermission::PermissionType::ClipboardReadWrite;
break;
case QWebEnginePage::LocalFontsAccess:
- f = QWebEnginePermission::LocalFontsAccess;
+ f = QWebEnginePermission::PermissionType::LocalFontsAccess;
break;
default:
Q_UNREACHABLE();
@@ -1897,19 +1887,19 @@ void QWebEnginePage::setFeaturePermission(const QUrl &securityOrigin, QWebEngine
switch (policy) {
case QWebEnginePage::PermissionUnknown:
- s = QWebEnginePermission::Ask;
+ s = QWebEnginePermission::State::Ask;
break;
case QWebEnginePage::PermissionDeniedByUser:
- s = QWebEnginePermission::Denied;
+ s = QWebEnginePermission::State::Denied;
break;
case QWebEnginePage::PermissionGrantedByUser:
- s = QWebEnginePermission::Granted;
+ s = QWebEnginePermission::State::Granted;
break;
default:
Q_UNREACHABLE();
}
- d->adapter->setFeaturePermission(securityOrigin, f, s);
+ d->adapter->setPermission(securityOrigin, f, s);
}
QT_WARNING_POP
#endif // QT_DEPRECATED_SINCE(6, 8)