summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2011-09-28 11:26:30 +0000
committerMichael Drake <tlsa@netsurf-browser.org>2011-09-28 11:26:30 +0000
commit861f88aa43cebd6dbfd0ecde175a4e81b995c2a1 (patch)
tree296e3131f01f2bab55a32756f5500c6f0337b545 /desktop
parent970d6dd835d4db60d6264bf3ff1a7553cb683723 (diff)
downloadnetsurf-861f88aa43cebd6dbfd0ecde175a4e81b995c2a1.tar.gz
netsurf-861f88aa43cebd6dbfd0ecde175a4e81b995c2a1.tar.bz2
Port llcache to nsurl.
svn path=/trunk/netsurf/; revision=12904
Diffstat (limited to 'desktop')
-rw-r--r--desktop/browser.c23
-rw-r--r--desktop/netsurf.c5
2 files changed, 25 insertions, 3 deletions
diff --git a/desktop/browser.c b/desktop/browser.c
index b2a9f17b6..4cf79fba6 100644
--- a/desktop/browser.c
+++ b/desktop/browser.c
@@ -60,6 +60,7 @@
#include "render/textplain.h"
#include "utils/log.h"
#include "utils/messages.h"
+#include "utils/nsurl.h"
#include "utils/schedule.h"
#include "utils/url.h"
#include "utils/utils.h"
@@ -752,11 +753,28 @@ void browser_window_go_post(struct browser_window *bw, const char *url,
/* Get download out of the way */
if (download) {
llcache_handle *l;
+ nsurl *nsref = NULL;
+ nsurl *nsurl;
+
+ error = nsurl_create(url2, &nsurl);
+ if (error != NSERROR_OK) {
+ free(url2);
+ return;
+ }
+
+ if (referer != NULL) {
+ error = nsurl_create(referer, &nsref);
+ if (error != NSERROR_OK) {
+ free(url2);
+ nsurl_unref(nsurl);
+ return;
+ }
+ }
fetch_flags |= LLCACHE_RETRIEVE_FORCE_FETCH;
fetch_flags |= LLCACHE_RETRIEVE_STREAM_DATA;
- error = llcache_handle_retrieve(url2, fetch_flags, referer,
+ error = llcache_handle_retrieve(nsurl, fetch_flags, nsref,
fetch_is_post ? &post : NULL,
NULL, NULL, &l);
if (error == NSERROR_NO_FETCH_HANDLER) {
@@ -774,6 +792,9 @@ void browser_window_go_post(struct browser_window *bw, const char *url,
}
free(url2);
+ nsurl_unref(nsurl);
+ if (nsref != NULL)
+ nsurl_unref(nsref);
return;
}
diff --git a/desktop/netsurf.c b/desktop/netsurf.c
index 91f0fac9b..8fa02255f 100644
--- a/desktop/netsurf.c
+++ b/desktop/netsurf.c
@@ -94,14 +94,15 @@ static nserror netsurf_llcache_query_handler(const llcache_query *query,
{
switch (query->type) {
case LLCACHE_QUERY_AUTH:
- gui_401login_open(query->url, query->data.auth.realm, cb, cbpw);
+ gui_401login_open(nsurl_access(query->url),
+ query->data.auth.realm, cb, cbpw);
break;
case LLCACHE_QUERY_REDIRECT:
/** \todo Need redirect query dialog */
/* For now, do nothing, as this query type isn't emitted yet */
break;
case LLCACHE_QUERY_SSL:
- gui_cert_verify(query->url, query->data.ssl.certs,
+ gui_cert_verify(nsurl_access(query->url), query->data.ssl.certs,
query->data.ssl.num, cb, cbpw);
break;
}