From 0f77b057a1f2210addb40c6b528c917affda6720 Mon Sep 17 00:00:00 2001 From: John Mark Bell Date: Wed, 25 Jan 2006 06:52:38 +0000 Subject: [project @ 2006-01-25 06:52:38 by jmb] Meta refresh support svn path=/import/netsurf/; revision=2039 --- desktop/browser.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'desktop/browser.c') diff --git a/desktop/browser.c b/desktop/browser.c index 41b1baed5..d4cec3fcd 100644 --- a/desktop/browser.c +++ b/desktop/browser.c @@ -51,6 +51,7 @@ struct browser_window *current_redraw_browser; static void browser_window_callback(content_msg msg, struct content *c, intptr_t p1, intptr_t p2, union content_msg_data data); +static void browser_window_refresh(void *p); static void browser_window_convert_to_download(struct browser_window *bw); static void browser_window_start_throbber(struct browser_window *bw); static void browser_window_stop_throbber(struct browser_window *bw); @@ -414,12 +415,37 @@ void browser_window_callback(content_msg msg, struct content *c, break; #endif + case CONTENT_MSG_REFRESH: + schedule(data.delay * 100, + browser_window_refresh, bw); + break; + default: assert(0); } } +/** + * Refresh browser window + * + * \param p Browser window to refresh + */ + +void browser_window_refresh(void *p) +{ + struct browser_window *bw = p; + + assert(bw->current_content->status == CONTENT_STATUS_READY || + bw->current_content->status == CONTENT_STATUS_DONE); + + /* mark this content as invalid so it gets flushed from the cache */ + bw->current_content->fresh = false; + + browser_window_go(bw, bw->current_content->refresh, + bw->current_content->url); +} + /** * Transfer the loading_content to a new download window. */ -- cgit v1.2.3