summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2006-01-25 06:52:38 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2006-01-25 06:52:38 +0000
commit0f77b057a1f2210addb40c6b528c917affda6720 (patch)
tree439c91d27ff59890d5093bdd05280b91036e746e /desktop
parent655eaf25ae253adfabdc69d531e3973d054d6042 (diff)
downloadnetsurf-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.c26
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.
*/