[epiphany/pgriffis/web-extension-alarms: 5/10] WebExtensions: Add ephy_web_extension_manager_get_default()




commit 8962060df0473ee622dcfb5ba6a53267ba06f54d
Author: Patrick Griffis <pgriffis igalia com>
Date:   Fri May 27 12:09:01 2022 -0500

    WebExtensions: Add ephy_web_extension_manager_get_default()
    
    Part-of: <https://gitlab.gnome.org/GNOME/epiphany/-/merge_requests/1120>

 src/ephy-shell.c                              | 2 +-
 src/webextension/ephy-web-extension-manager.c | 9 +++++++--
 src/webextension/ephy-web-extension-manager.h | 7 ++++++-
 3 files changed, 14 insertions(+), 4 deletions(-)
---
diff --git a/src/ephy-shell.c b/src/ephy-shell.c
index f016911aa..bda5dbec1 100644
--- a/src/ephy-shell.c
+++ b/src/ephy-shell.c
@@ -1543,7 +1543,7 @@ ephy_shell_get_web_extension_manager (EphyShell *shell)
   g_assert (EPHY_IS_SHELL (shell));
 
   if (shell->web_extension_manager == NULL)
-    shell->web_extension_manager = ephy_web_extension_manager_new ();
+    shell->web_extension_manager = ephy_web_extension_manager_get_default ();
 
   return shell->web_extension_manager;
 }
diff --git a/src/webextension/ephy-web-extension-manager.c b/src/webextension/ephy-web-extension-manager.c
index 1146bbca0..e30b2eee9 100644
--- a/src/webextension/ephy-web-extension-manager.c
+++ b/src/webextension/ephy-web-extension-manager.c
@@ -247,9 +247,14 @@ ephy_web_extension_manager_init (EphyWebExtensionManager *self)
 }
 
 EphyWebExtensionManager *
-ephy_web_extension_manager_new (void)
+ephy_web_extension_manager_get_default (void)
 {
-  return g_object_new (EPHY_TYPE_WEB_EXTENSION_MANAGER, NULL);
+  static EphyWebExtensionManager *manager = NULL;
+
+  if (!manager)
+    manager = g_object_new (EPHY_TYPE_WEB_EXTENSION_MANAGER, NULL);
+
+  return manager;
 }
 
 GList *
diff --git a/src/webextension/ephy-web-extension-manager.h b/src/webextension/ephy-web-extension-manager.h
index c757e46bc..8cfe03e83 100644
--- a/src/webextension/ephy-web-extension-manager.h
+++ b/src/webextension/ephy-web-extension-manager.h
@@ -31,7 +31,7 @@ G_BEGIN_DECLS
 
 G_DECLARE_FINAL_TYPE (EphyWebExtensionManager, ephy_web_extension_manager, EPHY, WEB_EXTENSION_MANAGER, 
GObject)
 
-EphyWebExtensionManager *ephy_web_extension_manager_new                             (void);
+EphyWebExtensionManager *ephy_web_extension_manager_get_default                     (void);
 
 GList                  *ephy_web_extension_manager_get_web_extensions               (EphyWebExtensionManager 
*self);
 
@@ -69,4 +69,9 @@ GtkWidget               *ephy_web_extension_manager_get_page_action
 WebKitWebView           *ephy_web_extension_manager_get_background_web_view         (EphyWebExtensionManager 
*self,
                                                                                      EphyWebExtension        
*web_extension);
 
+void                     ephy_web_extension_manager_emit_in_extension_views         (EphyWebExtensionManager 
*self,
+                                                                                     EphyWebExtension        
*web_extension,
+                                                                                     const char              
*name,
+                                                                                     const char              
*json);
+
 G_END_DECLS


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