X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=surf.c;h=ee4bfeeef7c12014740c9dd04e25ed15864e2a73;hb=344efec3fb932a9c5baae582fe70c72a0bc4a747;hp=9b75829adc76fe88b9ef3a6ed4dd001aa4782fde;hpb=9c3b5ad35389f1930834bf04341eb0c3514a850f;p=surf.git diff --git a/surf.c b/surf.c index 9b75829..ee4bfee 100644 --- a/surf.c +++ b/surf.c @@ -213,6 +213,7 @@ beforerequest(WebKitWebView *w, WebKitWebFrame *f, WebKitWebResource *r, WebKitNetworkRequest *req, WebKitNetworkResponse *resp, Client *c) { const gchar *uri = webkit_network_request_get_uri(req); + int i, isascii = 1; if(g_str_has_suffix(uri, "/favicon.ico")) webkit_network_request_set_uri(req, "about:blank"); @@ -220,9 +221,19 @@ beforerequest(WebKitWebView *w, WebKitWebFrame *f, WebKitWebResource *r, if(!g_str_has_prefix(uri, "http://") \ && !g_str_has_prefix(uri, "https://") \ && !g_str_has_prefix(uri, "about:") \ + && !g_str_has_prefix(uri, "file://") \ + && !g_str_has_prefix(uri, "data:") \ + && !g_str_has_prefix(uri, "blob:") \ && strlen(uri) > 0) { - printf("Handle plumb: %s\n", uri); - handleplumb(c, w, uri); + + for(i = 0; i < strlen(uri); i++) { + if(!g_ascii_isprint(uri[i])) { + isascii = 0; + break; + } + } + if(isascii) + handleplumb(c, w, uri); } }