From d2d5baeb8c3b10579f7f144e918b2935af66bec5 Mon Sep 17 00:00:00 2001
From: Allan Sandfeld Jensen <allan.jensen@digia.com>
Date: Fri, 7 Nov 2014 14:31:48 +0100
Subject: [PATCH] Fix enum names of audio/video features

The feature enum names and documentation gave the impression it could
control audio and video output, while they only control input.

Also removed documentation of non connected feature permissions for
Notifications and GeoLocation.

Change-Id: Ia35142ca691ebd6059b7472e9803fda8cbd84813
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
---
 .../browser/featurepermissionbar.cpp             |  6 +++---
 src/webenginewidgets/api/qwebenginepage.cpp      | 16 ++++++++--------
 src/webenginewidgets/api/qwebenginepage.h        | 16 ++++++++++------
 .../doc/src/qwebenginepage_lgpl.qdoc             |  8 +++-----
 4 files changed, 24 insertions(+), 22 deletions(-)

diff --git a/examples/webenginewidgets/browser/featurepermissionbar.cpp b/examples/webenginewidgets/browser/featurepermissionbar.cpp
index 2cc9907bd..98f19ad1f 100644
--- a/examples/webenginewidgets/browser/featurepermissionbar.cpp
+++ b/examples/webenginewidgets/browser/featurepermissionbar.cpp
@@ -56,11 +56,11 @@ static QString textForPermissionType(QWebEnginePage::Feature type)
         return QObject::tr("desktop notifications");
     case QWebEnginePage::Geolocation:
         return QObject::tr("your position");
-    case QWebEnginePage::MediaAudioDevices:
+    case QWebEnginePage::MediaAudioCapture:
         return QObject::tr("your microphone");
-    case QWebEnginePage::MediaVideoDevices:
+    case QWebEnginePage::MediaVideoCapture:
         return QObject::tr("your camera");
-    case QWebEnginePage::MediaAudioVideoDevices:
+    case QWebEnginePage::MediaAudioVideoCapture:
         return QObject::tr("your camera and microphone");
     default:
         Q_UNREACHABLE();
diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp
index d6782974b..72b16f28b 100644
--- a/src/webenginewidgets/api/qwebenginepage.cpp
+++ b/src/webenginewidgets/api/qwebenginepage.cpp
@@ -332,11 +332,11 @@ void QWebEnginePagePrivate::runMediaAccessPermissionRequest(const QUrl &security
     Q_Q(QWebEnginePage);
     QWebEnginePage::Feature requestedFeature;
     if (requestFlags.testFlag(WebContentsAdapterClient::MediaAudioCapture) && requestFlags.testFlag(WebContentsAdapterClient::MediaVideoCapture))
-        requestedFeature = QWebEnginePage::MediaAudioVideoDevices;
+        requestedFeature = QWebEnginePage::MediaAudioVideoCapture;
     else if (requestFlags.testFlag(WebContentsAdapterClient::MediaAudioCapture))
-        requestedFeature = QWebEnginePage::MediaAudioDevices;
+        requestedFeature = QWebEnginePage::MediaAudioCapture;
     else if (requestFlags.testFlag(WebContentsAdapterClient::MediaVideoCapture))
-        requestedFeature = QWebEnginePage::MediaVideoDevices;
+        requestedFeature = QWebEnginePage::MediaVideoCapture;
     else
         return;
     Q_EMIT q->featurePermissionRequested(securityOrigin, requestedFeature);
@@ -745,16 +745,16 @@ void QWebEnginePage::setFeaturePermission(const QUrl &securityOrigin, QWebEngine
     Q_D(QWebEnginePage);
     WebContentsAdapterClient::MediaRequestFlags flags =  WebContentsAdapterClient::MediaNone;
     switch (feature) {
-    case MediaAudioVideoDevices:
-    case MediaAudioDevices:
-    case MediaVideoDevices:
+    case MediaAudioVideoCapture:
+    case MediaAudioCapture:
+    case MediaVideoCapture:
         if (policy != PermissionUnknown) {
             if (policy == PermissionDeniedByUser)
                 flags = WebContentsAdapterClient::MediaNone;
             else {
-                if (feature == MediaAudioDevices)
+                if (feature == MediaAudioCapture)
                     flags = WebContentsAdapterClient::MediaAudioCapture;
-                else if (feature == MediaVideoDevices)
+                else if (feature == MediaVideoCapture)
                     flags = WebContentsAdapterClient::MediaVideoCapture;
                 else
                     flags = WebContentsAdapterClient::MediaRequestFlags(WebContentsAdapterClient::MediaVideoCapture | WebContentsAdapterClient::MediaAudioCapture);
diff --git a/src/webenginewidgets/api/qwebenginepage.h b/src/webenginewidgets/api/qwebenginepage.h
index cda6e620f..7856b8243 100644
--- a/src/webenginewidgets/api/qwebenginepage.h
+++ b/src/webenginewidgets/api/qwebenginepage.h
@@ -122,7 +122,8 @@ public:
         FindBackward = 1,
         FindCaseSensitively = 2,
     };
-    Q_DECLARE_FLAGS(FindFlags, FindFlag)
+    Q_DECLARE_FLAGS(FindFlags, FindFlag);
+
     enum WebWindowType {
         WebBrowserWindow,
         WebBrowserTab,
@@ -136,12 +137,15 @@ public:
     };
 
     enum Feature {
-        Notifications,
-        Geolocation,
-        MediaAudioDevices,
-        MediaVideoDevices,
-        MediaAudioVideoDevices
+#ifndef Q_QDOC
+        Notifications = 0,
+        Geolocation = 1,
+#endif
+        MediaAudioCapture = 2,
+        MediaVideoCapture,
+        MediaAudioVideoCapture
     };
+
     // Ex-QWebFrame enum
 
     enum FileSelectionMode {
diff --git a/src/webenginewidgets/doc/src/qwebenginepage_lgpl.qdoc b/src/webenginewidgets/doc/src/qwebenginepage_lgpl.qdoc
index 983b80d7e..e89b10ab8 100644
--- a/src/webenginewidgets/doc/src/qwebenginepage_lgpl.qdoc
+++ b/src/webenginewidgets/doc/src/qwebenginepage_lgpl.qdoc
@@ -151,11 +151,9 @@
 
     This enum describes the platform feature access categories that the user may be asked to grant or deny access to.
 
-    \value Notifications Grants access to display notifications to the user.
-    \value Geolocation The geographic location devices that may be available.
-    \value MediaAudioDevices Audio devices such as speakers or microphones
-    \value MediaVideoDevices Video devices, e.g. cameras
-    \value MediaAudioVideoDevices Both Audio and Video devices.
+    \value MediaAudioCapture Audio capture devices such a microphones
+    \value MediaVideoCapture Video devices, e.g. cameras
+    \value MediaAudioVideoCapture Both Audio and Video capture devices.
 
     \sa featurePermissionRequested(), featurePermissionRequestCanceled(), setFeaturePermission(), PermissionPolicy
 
-- 
GitLab