summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJan-Michael Brummer <jan.brummer@tabos.org>2020-07-27 18:53:18 +0200
committerMichael Catanzaro <mcatanzaro@gnome.org>2020-07-27 17:00:56 +0000
commit83fe0fff81612d5d546d7a0d75f2d3503f7c3144 (patch)
tree08984d47bba9413a1e100998c28a2abb8cb13152 /lib
parent0f507813ad953ef6f22a239a9e4af1dc16048c6e (diff)
downloadepiphany-83fe0fff81612d5d546d7a0d75f2d3503f7c3144.tar.gz
Support permission requests for webcam and mic
Currently we are only asking for either webcam or mic permission, but for video chats it is requesting permission for both. Take care of those cases.
Diffstat (limited to 'lib')
-rw-r--r--lib/ephy-permissions-manager.c8
-rw-r--r--lib/ephy-permissions-manager.h1
2 files changed, 8 insertions, 1 deletions
diff --git a/lib/ephy-permissions-manager.c b/lib/ephy-permissions-manager.c
index 4079c759e..d7c8be82e 100644
--- a/lib/ephy-permissions-manager.c
+++ b/lib/ephy-permissions-manager.c
@@ -179,7 +179,11 @@ ephy_permissions_manager_get_permission (EphyPermissionsManager *manager,
EphyPermissionType type,
const char *origin)
{
- GSettings *settings = ephy_permissions_manager_get_settings_for_origin (manager, origin);
+ GSettings *settings;
+
+ g_assert (type != EPHY_PERMISSION_TYPE_ACCESS_WEBCAM_AND_MICROPHONE);
+
+ settings = ephy_permissions_manager_get_settings_for_origin (manager, origin);
return g_settings_get_enum (settings, permission_type_to_string (type));
}
@@ -247,6 +251,8 @@ ephy_permissions_manager_set_permission (EphyPermissionsManager *manager,
WebKitSecurityOrigin *webkit_origin;
GSettings *settings;
+ g_assert (type != EPHY_PERMISSION_TYPE_ACCESS_WEBCAM_AND_MICROPHONE);
+
webkit_origin = webkit_security_origin_new_for_uri (origin);
if (webkit_origin == NULL)
return;
diff --git a/lib/ephy-permissions-manager.h b/lib/ephy-permissions-manager.h
index aab47c17c..386d0b64f 100644
--- a/lib/ephy-permissions-manager.h
+++ b/lib/ephy-permissions-manager.h
@@ -44,6 +44,7 @@ typedef enum {
EPHY_PERMISSION_TYPE_ACCESS_WEBCAM,
EPHY_PERMISSION_TYPE_SHOW_ADS,
EPHY_PERMISSION_TYPE_AUTOPLAY_POLICY,
+ EPHY_PERMISSION_TYPE_ACCESS_WEBCAM_AND_MICROPHONE,
} EphyPermissionType;
EphyPermissionsManager *ephy_permissions_manager_new (void);