diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2006-01-25 06:52:38 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2006-01-25 06:52:38 +0000 |
commit | 0f77b057a1f2210addb40c6b528c917affda6720 (patch) | |
tree | 439c91d27ff59890d5093bdd05280b91036e746e /desktop | |
parent | 655eaf25ae253adfabdc69d531e3973d054d6042 (diff) | |
download | netsurf-0f77b057a1f2210addb40c6b528c917affda6720.tar.gz netsurf-0f77b057a1f2210addb40c6b528c917affda6720.tar.bz2 |
[project @ 2006-01-25 06:52:38 by jmb]
Meta refresh support
svn path=/import/netsurf/; revision=2039
Diffstat (limited to 'desktop')
-rw-r--r-- | desktop/browser.c | 26 |
1 files changed, 26 insertions, 0 deletions
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,6 +415,11 @@ 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); } @@ -421,6 +427,26 @@ void browser_window_callback(content_msg msg, struct content *c, /** + * 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. */ |