summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
authorJames Bursa <james@netsurf-browser.org>2003-06-26 11:41:26 +0000
committerJames Bursa <james@netsurf-browser.org>2003-06-26 11:41:26 +0000
commit1145b231d4b682478bdf052efbade9dbd2df11e8 (patch)
tree98d3e275e25e89358c158a0fba87b78d8644f510 /desktop
parent1246f7b9703e3085cece064699909f240e00effc (diff)
downloadnetsurf-1145b231d4b682478bdf052efbade9dbd2df11e8.tar.gz
netsurf-1145b231d4b682478bdf052efbade9dbd2df11e8.tar.bz2
[project @ 2003-06-26 11:41:26 by bursa]
Implement HTTP redirects. svn path=/import/netsurf/; revision=187
Diffstat (limited to 'desktop')
-rw-r--r--desktop/browser.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/desktop/browser.c b/desktop/browser.c
index 13fdd7d36..cc7f651a9 100644
--- a/desktop/browser.c
+++ b/desktop/browser.c
@@ -1,5 +1,5 @@
/**
- * $Id: browser.c,v 1.40 2003/06/17 19:24:21 bursa Exp $
+ * $Id: browser.c,v 1.41 2003/06/26 11:41:26 bursa Exp $
*/
#include "netsurf/content/cache.h"
@@ -238,6 +238,7 @@ void browser_window_open_location(struct browser_window* bw, const char* url0)
assert(bw != 0 && url0 != 0);
url = url_join(url0, bw->url);
browser_window_open_location_historical(bw, url);
+ /* TODO: move this to somewhere below CONTENT_MSG_READY below */
if (bw->history == NULL)
bw->history = history_create(NULL, url);
else
@@ -318,6 +319,13 @@ void browser_window_callback(content_msg msg, struct content *c,
browser_window_set_status(bw, c->status_message);
break;
+ case CONTENT_MSG_REDIRECT:
+ bw->loading_content = 0;
+ browser_window_set_status(bw, "Redirecting");
+ /* error actually holds the new URL */
+ browser_window_open_location(bw, error);
+ break;
+
default:
assert(0);
}