From 0ce6fe842a2fc4c3155452f69247cdda97ab09d1 Mon Sep 17 00:00:00 2001 From: Gustavo Noronha Silva Date: Sat, 27 Dec 2008 16:33:40 -0200 Subject: Move URL normalization out of embed, to a higher level We need this because not all code that loads URLs goes through embed now. --- src/ephy-link.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/ephy-link.c b/src/ephy-link.c index b74ed2bbf..7845dfb62 100644 --- a/src/ephy-link.c +++ b/src/ephy-link.c @@ -21,6 +21,7 @@ #include "ephy-link.h" +#include "ephy-embed-utils.h" #include "ephy-type-builtins.h" #include "ephy-marshal.h" #include "ephy-signal-accumulator.h" @@ -88,13 +89,29 @@ ephy_link_open (EphyLink *link, EphyLinkFlags flags) { EphyEmbed *new_embed = NULL; + char *effective_url = NULL; + + /* + * WebKit does not normalize URI's by itself, so we need to + * handle this ourselves + */ + if (ephy_embed_utils_address_has_web_scheme (address) == FALSE) + { + effective_url = g_strconcat ("http://", address, NULL); + } + else + { + effective_url = g_strdup (address); + } LOG ("ephy_link_open address \"%s\" parent-embed %p flags %u", address, embed, flags); g_signal_emit (link, signals[OPEN_LINK], 0, - address, embed, flags, + effective_url, embed, flags, &new_embed); + g_free (effective_url); + return new_embed; } -- cgit v1.2.3