summaryrefslogtreecommitdiff
path: root/desktop/browser.c
diff options
context:
space:
mode:
Diffstat (limited to 'desktop/browser.c')
-rw-r--r--desktop/browser.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/desktop/browser.c b/desktop/browser.c
index 40cc381c0..af877e14b 100644
--- a/desktop/browser.c
+++ b/desktop/browser.c
@@ -693,8 +693,23 @@ void browser_window_refresh(void *p)
bw->current_content->refresh)))
history_add = false;
- browser_window_go_unverifiable(bw, bw->current_content->refresh,
- bw->current_content->url, history_add);
+ LOG(("Refresh: %d", bw->refresh_interval));
+
+ /* Treat an (almost) immediate refresh in a top-level browser window as
+ * if it were an HTTP redirect, and thus make the resulting fetch
+ * verifiable.
+ *
+ * See fetchcache.c for why redirected fetches should be verifiable at
+ * all.
+ */
+ if (bw->refresh_interval <= 100 &&
+ bw->browser_window_type == BROWSER_WINDOW_NORMAL) {
+ browser_window_go(bw, bw->current_content->refresh,
+ bw->current_content->url, history_add);
+ } else {
+ browser_window_go_unverifiable(bw, bw->current_content->refresh,
+ bw->current_content->url, history_add);
+ }
}