aboutsummaryrefslogtreecommitdiffstats
path: root/embed/ephy-embed.c
diff options
context:
space:
mode:
Diffstat (limited to 'embed/ephy-embed.c')
-rw-r--r--embed/ephy-embed.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/embed/ephy-embed.c b/embed/ephy-embed.c
index 60e82be0a..b1128a835 100644
--- a/embed/ephy-embed.c
+++ b/embed/ephy-embed.c
@@ -368,6 +368,23 @@ ephy_embed_base_init (gpointer g_class)
1,
GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
+/**
+ * EphyEmbed::close-request
+ * @embed:
+ *
+ * The ::close signal is emitted when the embed request closing.
+ * Return %TRUE to prevent closing. You HAVE to process removal of the embed
+ * as soon as possible after that.
+ **/
+ g_signal_new ("close-request",
+ EPHY_TYPE_EMBED,
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (EphyEmbedIface, close_request),
+ g_signal_accumulator_true_handled, NULL,
+ ephy_marshal_BOOLEAN__VOID,
+ G_TYPE_BOOLEAN,
+ 0);
+
initialized = TRUE;
}
}
@@ -732,6 +749,19 @@ ephy_embed_show_page_certificate (EphyEmbed *embed)
}
/**
+ * ephy_embed_close:
+ * @embed: an #EphyEmbed
+ *
+ * Closes the @embed
+ **/
+void
+ephy_embed_close (EphyEmbed *embed)
+{
+ EphyEmbedIface *iface = EPHY_EMBED_GET_IFACE (embed);
+ iface->close (embed);
+}
+
+/**
* ephy_embed_set_encoding:
* @embed: an #EphyEmbed
* @encoding: the desired encoding