Fix url parsing in load()
[surf.git] / surf.c
diff --git a/surf.c b/surf.c
index acb3efe..3d6cc11 100644 (file)
--- a/surf.c
+++ b/surf.c
@@ -415,7 +415,10 @@ loaduri(Client *c, const Arg *a)
        if (g_strcmp0(uri, "") == 0)
                return;
 
-       if (g_strrstr(uri, "://") || g_str_has_prefix(uri, "about:")) {
+       if (g_str_has_prefix(uri, "http://")  ||
+           g_str_has_prefix(uri, "https://") ||
+           g_str_has_prefix(uri, "file://")  ||
+           g_str_has_prefix(uri, "about:")) {
                url = g_strdup(uri);
        } else if (!stat(uri, &st) && (path = realpath(uri, NULL))) {
                url = g_strdup_printf("file://%s", path);
@@ -1167,20 +1170,18 @@ loadchanged(WebKitWebView *v, WebKitLoadEvent e, Client *c)
                setatom(c, AtomUri, title);
                c->title = title;
                c->tlsflags = G_TLS_CERTIFICATE_VALIDATE_ALL + 1;
+               seturiparameters(c, geturi(c));
                break;
        case WEBKIT_LOAD_REDIRECTED:
                setatom(c, AtomUri, title);
                c->title = title;
+               seturiparameters(c, geturi(c));
                break;
        case WEBKIT_LOAD_COMMITTED:
-               setatom(c, AtomUri, title);
-               c->title = title;
                if (!webkit_web_view_get_tls_info(c->view, NULL,
                    &(c->tlsflags)))
                        c->tlsflags = G_TLS_CERTIFICATE_VALIDATE_ALL + 1;
 
-               setatom(c, AtomUri, geturi(c));
-               seturiparameters(c, geturi(c));
                break;
        case WEBKIT_LOAD_FINISHED:
                /* Disabled until we write some WebKitWebExtension for
@@ -1461,7 +1462,6 @@ scroll(Client *c, const Arg *a)
        GdkEvent *ev = gdk_event_new(GDK_KEY_PRESS);
 
        gdk_event_set_device(ev, gdkkb);
-//     gdk_event_set_screen(ev, gdk_screen_get_default());
        ev->key.window = gtk_widget_get_window(GTK_WIDGET(c->win));
        ev->key.state = GDK_CONTROL_MASK;
        ev->key.time = GDK_CURRENT_TIME;