From 03a54fbcee161842aa472612c9f642e9b6e1c4c4 Mon Sep 17 00:00:00 2001 From: Daniel Carl Date: Tue, 22 Jul 2014 00:44:55 +0200 Subject: [PATCH] Don't start download for none success http status codes. --- src/main.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/main.c b/src/main.c index 96212f6..9cc33ca 100644 --- a/src/main.c +++ b/src/main.c @@ -1180,13 +1180,19 @@ static gboolean mimetype_decision_cb(WebKitWebView *webview, WebKitWebFrame *frame, WebKitNetworkRequest *request, char *mime_type, WebKitWebPolicyDecision *decision) { - /* don't start download if request failed or stopped by proxy */ - if (!mime_type || *mime_type == '\0') { + SoupMessage *msg; + /* don't start download if request failed or stopped by proxy or can be + * displayed in the webview */ + if (!mime_type || *mime_type == '\0' + || webkit_web_view_can_show_mime_type(webview, mime_type)) { + return false; } - if (webkit_web_view_can_show_mime_type(webview, mime_type) == false) { - webkit_web_policy_decision_download(decision); + /* don't start a download when the response has no 2xx status code */ + msg = webkit_network_request_get_message(request); + if (SOUP_STATUS_IS_SUCCESSFUL(msg->status_code)) { + webkit_web_policy_decision_download(decision); return true; } return false; -- 2.20.1