fixes for bug #153902 and Bug #155380
authorDaniel Gryniewicz <dang@gentoo.org>
Fri, 17 Nov 2006 17:13:47 +0000 (17:13 +0000)
committerDaniel Gryniewicz <dang@gentoo.org>
Fri, 17 Nov 2006 17:13:47 +0000 (17:13 +0000)
Package-Manager: portage-2.1.2_rc1-r7

www-client/epiphany/ChangeLog
www-client/epiphany/Manifest
www-client/epiphany/epiphany-2.16.1.ebuild
www-client/epiphany/files/epiphany-2.16.1-dbus-1.patch [new file with mode: 0644]
www-client/epiphany/files/epiphany-2.16.1-firefox2.patch [new file with mode: 0644]

index 829bc37bbf88d9ff264a9c97c48242ca9983d9cd..76b5a20f18d9757f860c83817ac6de17e892baab 100644 (file)
@@ -1,6 +1,11 @@
 # ChangeLog for www-client/epiphany
 # Copyright 2000-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/www-client/epiphany/ChangeLog,v 1.90 2006/11/07 01:06:47 cardoe Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-client/epiphany/ChangeLog,v 1.91 2006/11/17 17:13:47 dang Exp $
+
+  17 Nov 2006; Daniel Gryniewicz <dang@gentoo.org>
+  +files/epiphany-2.16.1-dbus-1.patch,
+  +files/epiphany-2.16.1-firefox2.patch, epiphany-2.16.1.ebuild:
+  fixes for bug #153902 and Bug #155380
 
   07 Nov 2006; Doug Goldstein <cardoe@gentoo.org>
   epiphany-1.8.4.1-r1.ebuild, epiphany-2.14.2.1-r1.ebuild,
index 6865d99e70499f19a51b834b37327e391581e37a..ee67ae517806ce336567edf3bfe2d3487cd6b3c7 100644 (file)
@@ -9,6 +9,14 @@ AUX epiphany-1.9.2-broken-firefox.patch 563 RMD160 ae6d867b1168ef98b2c50bcc2002f
 MD5 9bff9c987534a9f2cbefa291a28affe7 files/epiphany-1.9.2-broken-firefox.patch 563
 RMD160 ae6d867b1168ef98b2c50bcc2002f5fb088da7c8 files/epiphany-1.9.2-broken-firefox.patch 563
 SHA256 7012e6b2dcc15eea073be4e082f79ad549840216f315f339271539b9c469775e files/epiphany-1.9.2-broken-firefox.patch 563
+AUX epiphany-2.16.1-dbus-1.patch 1207 RMD160 9fa47b2fbd77442cd54379c35a75c1e4db269d4e SHA1 8f16f4c808f5cc53afab97467ee624d482b16608 SHA256 2da6eedfd9a0869d7fab414e38e9d8a83bc71d231c98503183bd8edd3c28e453
+MD5 3e8e9c43a466150fae9ec703661d58ed files/epiphany-2.16.1-dbus-1.patch 1207
+RMD160 9fa47b2fbd77442cd54379c35a75c1e4db269d4e files/epiphany-2.16.1-dbus-1.patch 1207
+SHA256 2da6eedfd9a0869d7fab414e38e9d8a83bc71d231c98503183bd8edd3c28e453 files/epiphany-2.16.1-dbus-1.patch 1207
+AUX epiphany-2.16.1-firefox2.patch 10503 RMD160 b8b68c38054e52b1e050d0ab8c274abf31514a9b SHA1 a9921828405851c7bf78882977ceece0ab2b27a3 SHA256 11dc156918c0e31d5fad835a69d894aaedadc8bc777b30295466d0ab3ceaa616
+MD5 c78b5d28c6b07896ca56dcae5bd2b252 files/epiphany-2.16.1-firefox2.patch 10503
+RMD160 b8b68c38054e52b1e050d0ab8c274abf31514a9b files/epiphany-2.16.1-firefox2.patch 10503
+SHA256 11dc156918c0e31d5fad835a69d894aaedadc8bc777b30295466d0ab3ceaa616 files/epiphany-2.16.1-firefox2.patch 10503
 DIST epiphany-1.8.4.1.tar.bz2 3360178 RMD160 de5e4f6bfed1269300145c015fea34b03238a771 SHA1 1651f328351469fbdcdd9aaa3ba7ab6c58016274 SHA256 ccdcfddbd0dfaa5eeca57e868c3b77c90369bb1126eaa0175efeee823e67f112
 DIST epiphany-2.14.2.1.tar.bz2 3599395 RMD160 c25bc2d22fee0eeaa32ce1e1f71b6d5f3de06cbb SHA1 c1b20979670755f2e82beedb475c42a54be8f993 SHA256 f5cc3aa382fb9b0eec4117dcbfb5a7744943602d1a76bf260c7e5c66741ee6d0
 DIST epiphany-2.14.3.tar.bz2 3626121 RMD160 877717318c367fc1f9c9a7f69058179265082d2b SHA1 6be1f3ac4864e75543d114b4705188d65af5f3d4 SHA256 1acc18428a14806a767f4a10c51d235483dc48b8f42f75c4afe95487f7cf36a0
@@ -30,14 +38,14 @@ EBUILD epiphany-2.16.0.ebuild 2001 RMD160 132422968d5488285d696c257b3303710d8b5f
 MD5 1f05a91664aeb1fcc2998074777384e1 epiphany-2.16.0.ebuild 2001
 RMD160 132422968d5488285d696c257b3303710d8b5fbc epiphany-2.16.0.ebuild 2001
 SHA256 8a508da1a2a64edccd85b9d2aeba22f05ab6a83684d7975f6d13340a66c6bc38 epiphany-2.16.0.ebuild 2001
-EBUILD epiphany-2.16.1.ebuild 2043 RMD160 bdd89625d6cf1df2eca8aba425bfddd27e81914b SHA1 20ac8083cfed6b3ce6d0a2f3b8f5144535a44711 SHA256 ce3fd1969aa76404984e1c296aa745ccdce2bab0873b940fe66fd60d71cc458b
-MD5 b0d84fe03b919c171afe14d4ad3f7085 epiphany-2.16.1.ebuild 2043
-RMD160 bdd89625d6cf1df2eca8aba425bfddd27e81914b epiphany-2.16.1.ebuild 2043
-SHA256 ce3fd1969aa76404984e1c296aa745ccdce2bab0873b940fe66fd60d71cc458b epiphany-2.16.1.ebuild 2043
-MISC ChangeLog 24868 RMD160 1664eee9c1bb318d6de09f0eb8f71a8b850ee186 SHA1 42b39cd6e2e48363ae8cf80471e42238c56ceafc SHA256 34e566df42dab7dbae9ecfb58c4a3c3a450213512e8f0da238148eae67219913
-MD5 705f2806208735170cd687c75043d546 ChangeLog 24868
-RMD160 1664eee9c1bb318d6de09f0eb8f71a8b850ee186 ChangeLog 24868
-SHA256 34e566df42dab7dbae9ecfb58c4a3c3a450213512e8f0da238148eae67219913 ChangeLog 24868
+EBUILD epiphany-2.16.1.ebuild 2234 RMD160 403b8f743acaa763c3e25a7728c85d38434b15e9 SHA1 d19650785f021e84ac892760fe3b0b1dea47a853 SHA256 ea3cfebfb52a13a4180e4fbd49a6863b77f4ba4323dc834851d523448c7d0fca
+MD5 ec971c2640f8f5a3265f76980edf7b66 epiphany-2.16.1.ebuild 2234
+RMD160 403b8f743acaa763c3e25a7728c85d38434b15e9 epiphany-2.16.1.ebuild 2234
+SHA256 ea3cfebfb52a13a4180e4fbd49a6863b77f4ba4323dc834851d523448c7d0fca epiphany-2.16.1.ebuild 2234
+MISC ChangeLog 25062 RMD160 86551c81ced6b6a923a6cdc3e93570bef2defdbf SHA1 4fd14dd41771f2280d20ea8a0609256241a10512 SHA256 acfad8f1442ee5e46684f11147becfd2625c98b566e5a91eec2f34d09be50b05
+MD5 ea7b547ed17d485f0cdf70b049fb1553 ChangeLog 25062
+RMD160 86551c81ced6b6a923a6cdc3e93570bef2defdbf ChangeLog 25062
+SHA256 acfad8f1442ee5e46684f11147becfd2625c98b566e5a91eec2f34d09be50b05 ChangeLog 25062
 MISC metadata.xml 158 RMD160 c0e2bae8e91bb6be8922bac5e4f597302e06587e SHA1 38f78e9790bcd4382b4a49aa226aa6dda1d3a3d7 SHA256 3a7dbca0fdc557de69783e0663e2d76ddab129ea8a19b2d0ef6d3e5d1b947ce1
 MD5 03ad2e6c4ab41244af1015a8bbb0b39f metadata.xml 158
 RMD160 c0e2bae8e91bb6be8922bac5e4f597302e06587e metadata.xml 158
@@ -58,9 +66,9 @@ MD5 dd439a49d73c308804518dfea2da617c files/digest-epiphany-2.16.1 253
 RMD160 53de0fa736b907a37cabec8b474ca94c23e794a4 files/digest-epiphany-2.16.1 253
 SHA256 4ae08901d8f0039174bfdaefffde4ae810cea81aa0c9b06d3ed60ec6ccdb8c03 files/digest-epiphany-2.16.1 253
 -----BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.5 (GNU/Linux)
+Version: GnuPG v1.4.5-ecc0.1.6 (GNU/Linux)
 
-iD8DBQFFT9wroeSe8B0zEfwRAlukAJ9EGtnyZGtCe8eyTA5PKApG1Z3unQCfWhVy
-xO4y0D1s+6qx8ijZD1u2pDA=
-=68ZF
+iD8DBQFFXe4OomPajV0RnrERAj9cAJ9kbrVzXfERBAYInZL9D5e6OcagJwCcCh9L
+VJKRj0tMGwEQyisBjS8oqdY=
+=2lVy
 -----END PGP SIGNATURE-----
index 3393fc1608a0f40a4b631875b937c7e3fb275493..3bcc7823d86ad33c67ef00ac55b55f57b9e6ca84 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2006 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/www-client/epiphany/epiphany-2.16.1.ebuild,v 1.2 2006/11/07 01:06:47 cardoe Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-client/epiphany/epiphany-2.16.1.ebuild,v 1.3 2006/11/17 17:13:47 dang Exp $
 
 inherit eutils gnome2 multilib autotools
 
@@ -55,6 +55,10 @@ src_unpack() {
        gnome2_src_unpack
 
        epatch ${FILESDIR}/${PN}-1.9.2-broken-firefox.patch
+       # Fix search from URL bar with FF2.  Requres a rebuild. bug #153902
+       epatch ${FILESDIR}/${P}-firefox2.patch
+       # Allow to build with dbus 1.0.  Bug #155380
+       epatch ${FILESDIR}/${P}-dbus-1.patch
 
        cp aclocal.m4 old_macros.m4
        AT_M4DIR=". ${S}/m4" WANT_AUTOCONF="2.5" \
diff --git a/www-client/epiphany/files/epiphany-2.16.1-dbus-1.patch b/www-client/epiphany/files/epiphany-2.16.1-dbus-1.patch
new file mode 100644 (file)
index 0000000..b8eb5f8
--- /dev/null
@@ -0,0 +1,38 @@
+diff --exclude-from=/home/dang/.diffrc -up -ruN epiphany-2.16.1.orig/src/ephy-dbus.c epiphany-2.16.1/src/ephy-dbus.c
+--- epiphany-2.16.1.orig/src/ephy-dbus.c       2006-09-13 07:48:50.000000000 -0400
++++ epiphany-2.16.1/src/ephy-dbus.c    2006-11-17 11:20:53.000000000 -0500
+@@ -301,16 +301,6 @@ ephy_dbus_connect_to_session_bus (EphyDb
+       return TRUE;
+ }
+-static void
+-ephy_dbus_disconnect_bus (DBusGConnection *bus)
+-{
+-      if (bus != NULL) {
+-              dbus_connection_close
+-                      (dbus_g_connection_get_connection (bus));
+-              dbus_g_connection_unref (bus);
+-      }
+-}
+-
+ /* Public methods */
+ static void
+@@ -337,7 +327,7 @@ ephy_dbus_shutdown (EphyDbus *dbus)
+               dbus_connection_remove_filter
+                       (dbus_g_connection_get_connection (priv->session_bus),
+                        session_filter_func, dbus);
+-              ephy_dbus_disconnect_bus (priv->session_bus);
++              dbus_g_connection_unref (priv->session_bus);
+               priv->session_bus = NULL;
+       }
+@@ -346,7 +336,7 @@ ephy_dbus_shutdown (EphyDbus *dbus)
+               dbus_connection_remove_filter
+                       (dbus_g_connection_get_connection (priv->system_bus),
+                        system_filter_func, dbus);
+-              ephy_dbus_disconnect_bus (priv->system_bus);
++              dbus_g_connection_unref (priv->system_bus);
+               priv->system_bus = NULL;
+       }
+ }
diff --git a/www-client/epiphany/files/epiphany-2.16.1-firefox2.patch b/www-client/epiphany/files/epiphany-2.16.1-firefox2.patch
new file mode 100644 (file)
index 0000000..9dbf6fc
--- /dev/null
@@ -0,0 +1,326 @@
+diff --exclude-from=/home/dang/.diffrc -up -ruN epiphany-2.16.1.orig/embed/ephy-embed.c epiphany-2.16.1/embed/ephy-embed.c
+--- epiphany-2.16.1.orig/embed/ephy-embed.c    2006-09-13 07:48:29.000000000 -0400
++++ epiphany-2.16.1/embed/ephy-embed.c 2006-11-17 11:17:32.000000000 -0500
+@@ -423,6 +423,25 @@ ephy_embed_load_url (EphyEmbed *embed,
+ }
+ /**
++ * ephy_embed_load:
++ * @embed: an #EphyEmbed
++ * @url: an URL
++ * @flags: flags modifying load behaviour
++ * @previous_embed: the referrer embed or %NULL
++ *
++ * Loads a new web page in @embed.
++ **/
++void
++ephy_embed_load (EphyEmbed *embed,
++               const char *url,
++               EphyEmbedLoadFlags flags,
++               EphyEmbed *referring_embed)
++{
++      EphyEmbedIface *iface = EPHY_EMBED_GET_IFACE (embed);
++      iface->load (embed, url, flags, referring_embed);
++}
++
++/**
+  * ephy_embed_stop_load:
+  * @embed: an #EphyEmbed
+  *
+diff --exclude-from=/home/dang/.diffrc -up -ruN epiphany-2.16.1.orig/embed/ephy-embed.h epiphany-2.16.1/embed/ephy-embed.h
+--- epiphany-2.16.1.orig/embed/ephy-embed.h    2006-09-13 07:48:29.000000000 -0400
++++ epiphany-2.16.1/embed/ephy-embed.h 2006-11-17 11:17:32.000000000 -0500
+@@ -63,6 +63,12 @@ typedef enum
+       EPHY_EMBED_CHROME_BOOKMARKSBAR  = 1 << 3
+ } EphyEmbedChrome;
++typedef enum
++{
++      EPHY_EMBED_LOAD_FLAGS_NONE                      = 1 << 0,
++      EPHY_EMBED_LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP   = 1 << 1,
++} EphyEmbedLoadFlags;
++
+ #define EPHY_EMBED_CHROME_ALL (EPHY_EMBED_CHROME_MENUBAR |    \
+                              EPHY_EMBED_CHROME_TOOLBAR |      \
+                              EPHY_EMBED_CHROME_STATUSBAR |    \
+@@ -157,6 +163,10 @@ struct _EphyEmbedIface
+       /* Methods  */
+       void               (* load_url)                 (EphyEmbed *embed,
+                                                        const char *url);
++      void               (* load)                     (EphyEmbed *embed,
++                                                       const char *url,
++                                                       EphyEmbedLoadFlags flags,
++                                                       EphyEmbed *referring_embed);
+       void               (* stop_load)                (EphyEmbed *embed);
+       void               (* reload)                   (EphyEmbed *embed,
+                                                        gboolean force);
+@@ -232,6 +242,10 @@ GType               ephy_embed_get_type                   (void);
+ /* Base */
+ void            ephy_embed_load_url                   (EphyEmbed *embed,
+                                                        const char *url);
++void            ephy_embed_load                       (EphyEmbed *embed,
++                                                       const char *url,
++                                                       EphyEmbedLoadFlags flags,
++                                                       EphyEmbed *referring_embed);
+ void            ephy_embed_stop_load                  (EphyEmbed *embed);
+diff --exclude-from=/home/dang/.diffrc -up -ruN epiphany-2.16.1.orig/embed/mozilla/EphyBrowser.cpp epiphany-2.16.1/embed/mozilla/EphyBrowser.cpp
+--- epiphany-2.16.1.orig/embed/mozilla/EphyBrowser.cpp 2006-09-13 07:48:34.000000000 -0400
++++ epiphany-2.16.1/embed/mozilla/EphyBrowser.cpp      2006-11-17 11:17:32.000000000 -0500
+@@ -1524,3 +1524,55 @@ EphyBrowser::Close ()
+       return domWin->Close();
+ }
++
++nsresult
++EphyBrowser::GetPIDOMWindow(nsPIDOMWindow **aPIWin)
++{
++  *aPIWin = nsnull;
++
++  // get the private DOM window
++  nsCOMPtr<nsPIDOMWindow> domWindowPrivate = do_QueryInterface(mDOMWindow);
++
++  // and the root window for that DOM window
++  *aPIWin = domWindowPrivate->GetPrivateRoot();
++
++  if (*aPIWin) 
++  {
++    NS_ADDREF(*aPIWin);
++    return NS_OK;
++  }
++
++  return NS_ERROR_FAILURE;
++
++}
++
++nsresult
++EphyBrowser::LoadURI(const char *aURI,
++                   PRUint32 aLoadFlags,
++                   nsIURI *aReferrer)
++{
++      nsString uURI;
++      nsresult rv = NS_OK;
++
++      NS_CStringToUTF16 (nsCString (aURI), NS_CSTRING_ENCODING_UTF8, uURI);
++
++      if (uURI.Length() == 0) return NS_OK;
++ 
++      nsCOMPtr<nsIWebNavigation> contentNav = do_QueryInterface (mWebBrowser);
++      NS_ENSURE_TRUE (contentNav, NS_ERROR_FAILURE);
++
++      nsCOMPtr<nsPIDOMWindow> piWin;
++      rv = GetPIDOMWindow(getter_AddRefs(piWin));
++      NS_ENSURE_SUCCESS (rv, rv);
++
++      nsAutoPopupStatePusher popupStatePusher(piWin, openAllowed);
++
++      rv = contentNav->LoadURI(uURI.get(),   // URI string
++                               aLoadFlags,   // Load flags
++                               aReferrer,    // Referring URI
++                               nsnull,       // Post data
++                               nsnull);      // extra headers
++
++      return rv;
++}
++
+diff --exclude-from=/home/dang/.diffrc -up -ruN epiphany-2.16.1.orig/embed/mozilla/EphyBrowser.h epiphany-2.16.1/embed/mozilla/EphyBrowser.h
+--- epiphany-2.16.1.orig/embed/mozilla/EphyBrowser.h   2006-09-13 07:48:35.000000000 -0400
++++ epiphany-2.16.1/embed/mozilla/EphyBrowser.h        2006-11-17 11:17:32.000000000 -0500
+@@ -36,6 +36,7 @@
+ #include <nsIWebBrowserFocus.h>
+ #include <nsIWebBrowser.h>
+ #include <nsIWebNavigation.h>
++#include <nsPIDOMWindow.h>
+ #ifdef ALLOW_PRIVATE_API
+ #include <nsIContentViewer.h>
+@@ -172,6 +173,7 @@ public:
+       nsresult GetDocumentURI (nsIURI **aURI);
+       nsresult GetTargetDocumentURI (nsIURI **aURI);
+       nsresult GetDOMWindow (nsIDOMWindow **window);
++      nsresult GetPIDOMWindow(nsPIDOMWindow **aPIWin);
+       nsresult GetHasModifiedForms (PRBool *modified);
+@@ -183,6 +185,10 @@ public:
+       nsresult Close ();
++      nsresult LoadURI(const char *aURI, 
++                       PRUint32 aLoadFlags = nsIWebNavigation::LOAD_FLAGS_NONE, 
++                       nsIURI *aURI = nsnull);
++
+         EphyEmbedDocumentType GetDocumentType ();
+       nsCOMPtr<nsIWebBrowser> mWebBrowser;
+diff --exclude-from=/home/dang/.diffrc -up -ruN epiphany-2.16.1.orig/embed/mozilla/mozilla-embed.cpp epiphany-2.16.1/embed/mozilla/mozilla-embed.cpp
+--- epiphany-2.16.1.orig/embed/mozilla/mozilla-embed.cpp       2006-09-13 07:48:39.000000000 -0400
++++ epiphany-2.16.1/embed/mozilla/mozilla-embed.cpp    2006-11-17 11:18:04.000000000 -0500
+@@ -324,6 +324,42 @@ impl_load_url (EphyEmbed *embed, 
+         gtk_moz_embed_load_url (GTK_MOZ_EMBED(embed), url);
+ }
++static char * impl_get_location (EphyEmbed *embed, gboolean toplevel);
++
++static void
++impl_load (EphyEmbed *embed, 
++           const char *url,
++         EphyEmbedLoadFlags flags,
++         EphyEmbed *preview_embed)
++{
++      EphyBrowser *browser;
++
++      browser = MOZILLA_EMBED(embed)->priv->browser;
++      g_return_if_fail (browser != NULL);
++
++      nsCOMPtr<nsIURI> uri;
++      if (preview_embed != NULL)
++      {
++              EphyBrowser *pbrowser;
++
++              pbrowser = MOZILLA_EMBED(preview_embed)->priv->browser;
++              if (pbrowser != NULL)
++              {
++                      pbrowser->GetDocumentURI (getter_AddRefs (uri));
++              }
++      }
++#ifdef HAVE_GECKO_1_8_1
++      if (flags & EPHY_EMBED_LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP)
++      {
++              browser->LoadURI (url, nsIWebNavigation::LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP, uri);      
++      }
++      else
++#endif /* HAVE_GECKO_1_8_1 */
++      {
++              browser->LoadURI (url, nsIWebNavigation::LOAD_FLAGS_NONE, uri); 
++      }
++}
++
+ static void
+ impl_stop_load (EphyEmbed *embed)
+ {
+@@ -1114,6 +1150,7 @@ static void
+ ephy_embed_iface_init (EphyEmbedIface *iface)
+ {
+       iface->load_url = impl_load_url; 
++      iface->load = impl_load; 
+       iface->stop_load = impl_stop_load;
+       iface->can_go_back = impl_can_go_back;
+       iface->can_go_forward =impl_can_go_forward;
+diff --exclude-from=/home/dang/.diffrc -up -ruN epiphany-2.16.1.orig/src/ephy-link.h epiphany-2.16.1/src/ephy-link.h
+--- epiphany-2.16.1.orig/src/ephy-link.h       2006-09-13 07:48:52.000000000 -0400
++++ epiphany-2.16.1/src/ephy-link.h    2006-11-17 11:17:32.000000000 -0500
+@@ -41,7 +41,8 @@ typedef enum\r
+ {\r
+       EPHY_LINK_NEW_WINDOW    = 1 << 0,\r
+       EPHY_LINK_NEW_TAB       = 1 << 1,\r
+-      EPHY_LINK_JUMP_TO       = 1 << 2\r
++      EPHY_LINK_JUMP_TO       = 1 << 2,\r
++      EPHY_LINK_ALLOW_FIXUP   = 1 << 3\r
+ } EphyLinkFlags;\r
\r
+ struct _EphyLinkIface\r
+diff --exclude-from=/home/dang/.diffrc -up -ruN epiphany-2.16.1.orig/src/ephy-location-action.c epiphany-2.16.1/src/ephy-location-action.c
+--- epiphany-2.16.1.orig/src/ephy-location-action.c    2006-09-13 07:48:52.000000000 -0400
++++ epiphany-2.16.1/src/ephy-location-action.c 2006-11-17 11:17:32.000000000 -0500
+@@ -139,7 +139,7 @@ action_activated_cb (GtkEntryCompletion 
+               if (url == NULL) return;
+               ephy_link_open (EPHY_LINK (action), url, NULL,
+-                              ephy_link_flags_from_current_event ());
++                              ephy_link_flags_from_current_event () | EPHY_LINK_ALLOW_FIXUP);
+               g_free (url);
+       }
+@@ -162,7 +162,7 @@ entry_activate_cb (GtkEntry *entry,
+       g_return_if_fail (address != NULL);
+       ephy_link_open (EPHY_LINK (action), address, NULL, 
+-                      ephy_link_flags_from_current_event ());
++                      ephy_link_flags_from_current_event () | EPHY_LINK_ALLOW_FIXUP);
+       g_free (address);
+ }
+diff --exclude-from=/home/dang/.diffrc -up -ruN epiphany-2.16.1.orig/src/ephy-shell.c epiphany-2.16.1/src/ephy-shell.c
+--- epiphany-2.16.1.orig/src/ephy-shell.c      2006-09-13 07:48:52.000000000 -0400
++++ epiphany-2.16.1/src/ephy-shell.c   2006-11-17 11:17:32.000000000 -0500
+@@ -530,8 +530,20 @@ ephy_shell_new_tab_full (EphyShell *shel
+       }
+       else if (flags & EPHY_NEW_TAB_OPEN_PAGE)
+       {
++              EphyEmbedLoadFlags load_flags = 0;
++
+               g_assert (url != NULL);
+-              ephy_embed_load_url (embed, url);
++
++              if (flags & EPHY_NEW_TAB_ALLOW_FIXUP)
++              {
++                      load_flags = EPHY_EMBED_LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP;
++              }
++              else
++              {
++                      load_flags = EPHY_EMBED_LOAD_FLAGS_NONE;
++              }
++              ephy_embed_load (embed, url, load_flags, previous_embed);
++
+               is_empty = url_is_empty (url);
+       }
+diff --exclude-from=/home/dang/.diffrc -up -ruN epiphany-2.16.1.orig/src/ephy-shell.h epiphany-2.16.1/src/ephy-shell.h
+--- epiphany-2.16.1.orig/src/ephy-shell.h      2006-09-13 07:48:53.000000000 -0400
++++ epiphany-2.16.1/src/ephy-shell.h   2006-11-17 11:17:32.000000000 -0500
+@@ -62,6 +62,10 @@ typedef enum
+       EPHY_NEW_TAB_JUMP               = 1 << 9,
+       EPHY_NEW_TAB_IN_NEW_WINDOW      = 1 << 10,
+       EPHY_NEW_TAB_IN_EXISTING_WINDOW = 1 << 11,
++
++      /* The way to load */
++      EPHY_NEW_TAB_ALLOW_FIXUP        = 1 << 12,
++      
+ } EphyNewTabFlags;
+ struct _EphyShell
+diff --exclude-from=/home/dang/.diffrc -up -ruN epiphany-2.16.1.orig/src/ephy-window.c epiphany-2.16.1/src/ephy-window.c
+--- epiphany-2.16.1.orig/src/ephy-window.c     2006-09-13 07:48:53.000000000 -0400
++++ epiphany-2.16.1/src/ephy-window.c  2006-11-17 11:17:32.000000000 -0500
+@@ -2976,7 +2976,9 @@ ephy_window_open_link (EphyLink *link,
+               tab = ephy_window_get_active_tab (window);
+       }
+-      if (flags != 0)
++      if (flags  & (EPHY_LINK_JUMP_TO | 
++                    EPHY_LINK_NEW_TAB | 
++                    EPHY_LINK_NEW_WINDOW))
+       {
+               EphyNewTabFlags ntflags = EPHY_NEW_TAB_OPEN_PAGE;
+@@ -2993,6 +2995,10 @@ ephy_window_open_link (EphyLink *link,
+               {
+                       ntflags |= EPHY_NEW_TAB_IN_EXISTING_WINDOW;
+               }
++              if (flags & EPHY_LINK_ALLOW_FIXUP)
++              {
++                      ntflags |= EPHY_NEW_TAB_ALLOW_FIXUP;
++              }
+               new_tab = ephy_shell_new_tab
+                               (ephy_shell,
+@@ -3005,7 +3011,17 @@ ephy_window_open_link (EphyLink *link,
+               
+               embed = ephy_tab_get_embed (tab);
++              if (flags & EPHY_LINK_ALLOW_FIXUP)
++              {
++                      ephy_embed_load (embed, 
++                                       address, 
++                                       EPHY_EMBED_LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP,
++                                       NULL);
++              }
++              else
++              {
+               ephy_embed_load_url (embed, address);
++              }
+               if (address == NULL || address[0] == '\0' || strcmp (address, "about:blank") == 0)
+               {