aboutsummaryrefslogtreecommitdiffstats
path: root/embed/mozilla/mozilla-embed.cpp
diff options
context:
space:
mode:
authorJean-François Rameau <jframeau@cvs.gnome.org>2006-10-23 01:08:06 +0800
committerJean-François Rameau <jframeau@src.gnome.org>2006-10-23 01:08:06 +0800
commitf2d423a34e23b3d785fab96c9c14925bdbe16591 (patch)
tree9bea04c2dc966a64887bd56796bc08c6051038f1 /embed/mozilla/mozilla-embed.cpp
parent461daa07586775c39d72c22287e0ab1fd1f9cf34 (diff)
downloadgsoc2013-epiphany-f2d423a34e23b3d785fab96c9c14925bdbe16591.tar
gsoc2013-epiphany-f2d423a34e23b3d785fab96c9c14925bdbe16591.tar.gz
gsoc2013-epiphany-f2d423a34e23b3d785fab96c9c14925bdbe16591.tar.bz2
gsoc2013-epiphany-f2d423a34e23b3d785fab96c9c14925bdbe16591.tar.lz
gsoc2013-epiphany-f2d423a34e23b3d785fab96c9c14925bdbe16591.tar.xz
gsoc2013-epiphany-f2d423a34e23b3d785fab96c9c14925bdbe16591.tar.zst
gsoc2013-epiphany-f2d423a34e23b3d785fab96c9c14925bdbe16591.zip
Get keyword search back by passing ALLOW_THIRD_PARTY_FIXUP flag to gecko.
2006-10-22 Jean-François Rameau <jframeau@cvs.gnome.org> * embed/ephy-embed.h: * embed/ephy-embed.c: * embed/mozilla/EphyBrowser.cpp: * embed/mozilla/EphyBrowser.h: * embed/mozilla/mozilla-embed.cpp: * src/ephy-link.h: * src/ephy-location-action.c: (action_activated_cb): * src/ephy-shell.c: (ephy_shell_new_tab_full): * src/ephy-shell.h: * src/ephy-window.c: (ephy_window_open_link): Get keyword search back by passing ALLOW_THIRD_PARTY_FIXUP flag to gecko. Add a new load method to EphyEmbed to custom load behaviour and pass (optional) referrer. Fix bug #350053.
Diffstat (limited to 'embed/mozilla/mozilla-embed.cpp')
-rw-r--r--embed/mozilla/mozilla-embed.cpp37
1 files changed, 37 insertions, 0 deletions
diff --git a/embed/mozilla/mozilla-embed.cpp b/embed/mozilla/mozilla-embed.cpp
index db8d09e68..45213598e 100644
--- a/embed/mozilla/mozilla-embed.cpp
+++ b/embed/mozilla/mozilla-embed.cpp
@@ -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;
+ nsresult rv;
+
+ pbrowser = MOZILLA_EMBED(preview_embed)->priv->browser;
+ if (pbrowser != NULL)
+ {
+ pbrowser->GetDocumentURI (getter_AddRefs (uri));
+ }
+ }
+
+ if (flags & EPHY_EMBED_LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP)
+ {
+ browser->LoadURI (url, nsIWebNavigation::LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP, uri);
+ }
+ else
+ {
+ 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;