From: Daniel Gryniewicz Date: Fri, 17 Nov 2006 17:13:47 +0000 (+0000) Subject: fixes for bug #153902 and Bug #155380 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=c33bf176f0232506ab49c90f0f32ff182f3438da;p=gentoo.git fixes for bug #153902 and Bug #155380 Package-Manager: portage-2.1.2_rc1-r7 --- diff --git a/www-client/epiphany/ChangeLog b/www-client/epiphany/ChangeLog index 829bc37bbf88..76b5a20f18d9 100644 --- a/www-client/epiphany/ChangeLog +++ b/www-client/epiphany/ChangeLog @@ -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 + +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 epiphany-1.8.4.1-r1.ebuild, epiphany-2.14.2.1-r1.ebuild, diff --git a/www-client/epiphany/Manifest b/www-client/epiphany/Manifest index 6865d99e7049..ee67ae517806 100644 --- a/www-client/epiphany/Manifest +++ b/www-client/epiphany/Manifest @@ -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----- diff --git a/www-client/epiphany/epiphany-2.16.1.ebuild b/www-client/epiphany/epiphany-2.16.1.ebuild index 3393fc1608a0..3bcc7823d86a 100644 --- a/www-client/epiphany/epiphany-2.16.1.ebuild +++ b/www-client/epiphany/epiphany-2.16.1.ebuild @@ -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 index 000000000000..b8eb5f85063e --- /dev/null +++ b/www-client/epiphany/files/epiphany-2.16.1-dbus-1.patch @@ -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 index 000000000000..9dbf6fc4d22b --- /dev/null +++ b/www-client/epiphany/files/epiphany-2.16.1-firefox2.patch @@ -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 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 contentNav = do_QueryInterface (mWebBrowser); ++ NS_ENSURE_TRUE (contentNav, NS_ERROR_FAILURE); ++ ++ nsCOMPtr 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 + #include + #include ++#include + + #ifdef ALLOW_PRIVATE_API + #include +@@ -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 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 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 + { + EPHY_LINK_NEW_WINDOW = 1 << 0, + EPHY_LINK_NEW_TAB = 1 << 1, +- EPHY_LINK_JUMP_TO = 1 << 2 ++ EPHY_LINK_JUMP_TO = 1 << 2, ++ EPHY_LINK_ALLOW_FIXUP = 1 << 3 + } EphyLinkFlags; + + struct _EphyLinkIface +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) + {