aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/uzbl-core.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/uzbl-core.c')
-rw-r--r--src/uzbl-core.c25
1 files changed, 24 insertions, 1 deletions
diff --git a/src/uzbl-core.c b/src/uzbl-core.c
index e918451..c095a7f 100644
--- a/src/uzbl-core.c
+++ b/src/uzbl-core.c
@@ -552,7 +552,8 @@ CommandInfo cmdlist[] =
{ "show_inspector", show_inspector, 0 },
{ "add_cookie", add_cookie, 0 },
{ "delete_cookie", delete_cookie, 0 },
- { "clear_cookies", clear_cookies, 0 }
+ { "clear_cookies", clear_cookies, 0 },
+ { "download", download, 0 }
};
void
@@ -741,6 +742,28 @@ clear_cookies(WebKitWebView *page, GArray *argv, GString *result) {
}
void
+download(WebKitWebView *web_view, GArray *argv, GString *result) {
+ (void) result;
+
+ const gchar *uri = argv_idx(argv, 0);
+ const gchar *destination = NULL;
+ if(argv->len > 1)
+ destination = argv_idx(argv, 1);
+
+ WebKitNetworkRequest *req = webkit_network_request_new(uri);
+ WebKitDownload *download = webkit_download_new(req);
+
+ download_cb(web_view, download, destination);
+
+ if(webkit_download_get_destination_uri(download))
+ webkit_download_start(download);
+ else
+ g_object_unref(download);
+
+ g_object_unref(req);
+}
+
+void
act_dump_config() {
dump_config();
}