summaryrefslogtreecommitdiff
path: root/src/ephy-window.c
diff options
context:
space:
mode:
authorJan-Michael Brummer <jan.brummer@tabos.org>2019-05-02 09:53:25 +0200
committerJan-Michael Brummer <jan.brummer@tabos.org>2021-01-17 13:55:36 +0100
commit5410fec78bc699b593d327e6a98b105f6cef7cd5 (patch)
tree7e7f379bc6e9677d0ea8015c5c97996d9d49f920 /src/ephy-window.c
parentda8757af88925c803be2201784a6821410150608 (diff)
downloadepiphany-5410fec78bc699b593d327e6a98b105f6cef7cd5.tar.gz
Add initial WebExtension support
Diffstat (limited to 'src/ephy-window.c')
-rw-r--r--src/ephy-window.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/ephy-window.c b/src/ephy-window.c
index 431f96742..57af66537 100644
--- a/src/ephy-window.c
+++ b/src/ephy-window.c
@@ -117,6 +117,7 @@ const struct {
{ "win.location-search", {"<Primary>K", NULL} },
{ "win.home", { "<alt>Home", NULL } },
{ "win.content", { "Escape", NULL } },
+ { "win.extensions", { NULL } },
/* Toggle actions */
{ "win.browse-with-caret", { "F7", NULL } },
@@ -859,6 +860,7 @@ static const GActionEntry window_entries [] = {
{ "page-source", window_cmd_page_source },
{ "toggle-inspector", window_cmd_toggle_inspector },
{ "toggle-reader-mode", window_cmd_toggle_reader_mode },
+ { "extensions", window_cmd_extensions },
{ "select-all", window_cmd_select_all },
@@ -1270,6 +1272,17 @@ sync_tab_title (EphyEmbed *embed,
ephy_embed_get_title (embed));
}
+static void
+sync_tab_page_action (EphyWebView *view,
+ GParamSpec *pspec,
+ EphyWindow *window)
+{
+ EphyWebExtensionManager *manager;
+
+ manager = ephy_shell_get_web_extension_manager (ephy_shell_get_default ());
+ ephy_web_extension_manager_update_location_entry (manager, window);
+}
+
static gboolean
idle_unref_context_event (EphyWindow *window)
{
@@ -2419,6 +2432,7 @@ ephy_window_connect_active_embed (EphyWindow *window)
sync_tab_popup_windows (view, NULL, window);
sync_tab_zoom (web_view, NULL, window);
+ sync_tab_page_action (view, NULL, window);
title_widget = ephy_header_bar_get_title_widget (EPHY_HEADER_BAR (window->header_bar));
@@ -3946,6 +3960,8 @@ ephy_window_constructed (GObject *object)
window->mouse_gesture_controller = ephy_mouse_gesture_controller_new (window);
ephy_window_set_chrome (window, chrome);
+
+ ephy_web_extension_manager_install_actions (ephy_shell_get_web_extension_manager (ephy_shell_get_default ()), window);
}
static void