diff options
Diffstat (limited to 'desktop/browser.c')
-rw-r--r-- | desktop/browser.c | 19 |
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); + } } |