aboutsummaryrefslogtreecommitdiffstats
path: root/embed/ephy-web-view.c
diff options
context:
space:
mode:
Diffstat (limited to 'embed/ephy-web-view.c')
-rw-r--r--embed/ephy-web-view.c24
1 files changed, 9 insertions, 15 deletions
diff --git a/embed/ephy-web-view.c b/embed/ephy-web-view.c
index ae99cf137..12e5f5128 100644
--- a/embed/ephy-web-view.c
+++ b/embed/ephy-web-view.c
@@ -2853,33 +2853,27 @@ ephy_web_view_new (void)
static gboolean
is_public_domain (EphyWebView *view, const char *url)
{
- SoupURI *soup_uri;
gboolean retval = FALSE;
- const char *host = NULL;
+ char *host = NULL;
EphyWebViewPrivate *priv = view->priv;
- soup_uri = soup_uri_new (url);
- if (!soup_uri) {
- char *effective_url = g_strconcat ("http://", url, NULL);
- soup_uri = soup_uri_new (effective_url);
- g_free (effective_url);
- }
- g_return_val_if_fail (soup_uri, FALSE);
-
- host = soup_uri->host;
+ host = ephy_string_get_host_name (url);
+ g_return_val_if_fail (host, FALSE);
if (g_regex_match (priv->domain_regex, host, 0, NULL)) {
if (g_str_equal (host, "localhost"))
retval = TRUE;
else {
- host = g_strrstr (host, ".");
+ const char *end;
- if (host && *host != '\0')
- retval = soup_tld_domain_is_public_suffix (host);
+ end = g_strrstr (host, ".");
+
+ if (end && *end != '\0')
+ retval = soup_tld_domain_is_public_suffix (end);
}
}
- soup_uri_free (soup_uri);
+ g_free (host);
return retval;
}