epiphany r7959 - in trunk: doc/reference/tmpl embed embed/mozilla embed/webkit



Author: xan
Date: Sun Feb 17 18:20:39 2008
New Revision: 7959
URL: http://svn.gnome.org/viewvc/epiphany?rev=7959&view=rev

Log:
Add ephy-embed::new-document-now signal, does the same than old
ge-content-change (used by adblock extension).

Part of #502283


Modified:
   trunk/doc/reference/tmpl/ephy-embed.sgml
   trunk/embed/ephy-embed.c
   trunk/embed/ephy-embed.h
   trunk/embed/mozilla/mozilla-embed.cpp
   trunk/embed/webkit/webkit-embed.c

Modified: trunk/doc/reference/tmpl/ephy-embed.sgml
==============================================================================
--- trunk/doc/reference/tmpl/ephy-embed.sgml	(original)
+++ trunk/doc/reference/tmpl/ephy-embed.sgml	Sun Feb 17 18:20:39 2008
@@ -150,6 +150,11 @@
 
 </para>
 
+<!-- ##### SIGNAL EphyEmbed::new-document-now ##### -->
+<para>
+
+</para>
+
 @ephyembed: the object which received the signal.
 @: 
 @: 

Modified: trunk/embed/ephy-embed.c
==============================================================================
--- trunk/embed/ephy-embed.c	(original)
+++ trunk/embed/ephy-embed.c	Sun Feb 17 18:20:39 2008
@@ -345,6 +345,26 @@
 			      G_TYPE_NONE,
 			      1,
 			      G_TYPE_STRING | G_SIGNAL_TYPE_STATIC_SCOPE);
+/**
+ * EphyEmbed::new-document-now:
+ * @embed:
+ * @uri: URI of the new content
+ *
+ * The ::new-document-now signal is emitted when a new page content
+ * is being loaded into the browser. It's a good place to do view
+ * related changes, for example to restore the zoom level of a page
+ * or to set an user style sheet.
+ **/
+	       g_signal_new ("new-document-now",
+			     EPHY_TYPE_EMBED,
+			     G_SIGNAL_RUN_FIRST,
+			     G_STRUCT_OFFSET (EphyEmbedIface, new_document_now),
+			     NULL, NULL,
+			     g_cclosure_marshal_VOID__STRING,
+			     G_TYPE_NONE,
+			     1,
+			     G_TYPE_STRING | G_SIGNAL_TYPE_STATIC_SCOPE);
+
 
 		initialized = TRUE;
 	}

Modified: trunk/embed/ephy-embed.h
==============================================================================
--- trunk/embed/ephy-embed.h	(original)
+++ trunk/embed/ephy-embed.h	Sun Feb 17 18:20:39 2008
@@ -156,6 +156,9 @@
 					 GdkEventKey *event);
 	gboolean (* close_request)	(EphyEmbed *embed);
 
+	void	 (* new_document_now)	(EphyEmbed *embed,
+					 const char *uri);
+
 	/* Methods  */
 	void		   (* load_url)			  (EphyEmbed *embed,
 							   const char *url);

Modified: trunk/embed/mozilla/mozilla-embed.cpp
==============================================================================
--- trunk/embed/mozilla/mozilla-embed.cpp	(original)
+++ trunk/embed/mozilla/mozilla-embed.cpp	Sun Feb 17 18:20:39 2008
@@ -970,6 +970,7 @@
 
 		char *address;
 		address = gtk_moz_embed_get_location (moz_embed);
+		g_signal_emit_by_name (membed, "new-document-now", address);
 		ephy_base_embed_popups_manager_reset (EPHY_BASE_EMBED (membed));
 		ephy_base_embed_restore_zoom_level (EPHY_BASE_EMBED (membed), address);
 		g_free (address);

Modified: trunk/embed/webkit/webkit-embed.c
==============================================================================
--- trunk/embed/webkit/webkit-embed.c	(original)
+++ trunk/embed/webkit/webkit-embed.c	Sun Feb 17 18:20:39 2008
@@ -181,12 +181,16 @@
   EphyEmbedNetState estate = EPHY_EMBED_STATE_UNKNOWN;
 
   if (embed->priv->load_state == WEBKIT_EMBED_LOAD_STARTED)
+    {
       estate = (EphyEmbedNetState) (estate |
                                     EPHY_EMBED_STATE_START |
                                     EPHY_EMBED_STATE_NEGOTIATING |
                                     EPHY_EMBED_STATE_IS_REQUEST |
                                     EPHY_EMBED_STATE_IS_NETWORK);
 
+      g_signal_emit_by_name (embed, "new-document-now", embed->priv->loading_uri);
+    }
+
   if (embed->priv->load_state == WEBKIT_EMBED_LOAD_LOADING)
       estate = (EphyEmbedNetState) (estate |
                                     EPHY_EMBED_STATE_TRANSFERRING |



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