[epiphany/pgriffis/web-extension-alarms] WebExtensions: Respect alarms permission



commit fafd5caf81845ab20962b8ea389d52afe8737c9d
Author: Patrick Griffis <pgriffis igalia com>
Date:   Sat May 28 13:47:13 2022 -0500

    WebExtensions: Respect alarms permission

 src/webextension/api/alarms.c | 7 +++++++
 1 file changed, 7 insertions(+)
---
diff --git a/src/webextension/api/alarms.c b/src/webextension/api/alarms.c
index 0765bd17c..41b3f53fa 100644
--- a/src/webextension/api/alarms.c
+++ b/src/webextension/api/alarms.c
@@ -308,6 +308,13 @@ ephy_web_extension_api_alarms_handler (EphyWebExtension *self,
 {
   g_autoptr (GError) error = NULL;
 
+  if (!ephy_web_extension_has_permission (self, "alarms")) {
+    g_warning ("Extension %s tried to use alarms without permission.", ephy_web_extension_get_name (self));
+    error = g_error_new_literal (WEB_EXTENSION_ERROR, WEB_EXTENSION_ERROR_PERMISSION_DENIED, "Permission 
Denied");
+    g_task_return_error (task, g_steal_pointer (&error));
+    return;
+  }
+
   for (guint idx = 0; idx < G_N_ELEMENTS (alarms_handlers); idx++) {
     EphyWebExtensionSyncApiHandler handler = alarms_handlers[idx];
     char *ret;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]