diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2009-03-10 09:10:43 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2009-03-10 09:10:43 +0000 |
commit | 2ace72c587b1dad4e90991fa2c37e278d81fbacb (patch) | |
tree | 51ec056cb0a55d59d924fd66b025597e4fba5d5c /desktop/browser.c | |
parent | 502879043bb5262b0ef0dca7ca87477a6be7e801 (diff) | |
download | netsurf-2ace72c587b1dad4e90991fa2c37e278d81fbacb.tar.gz netsurf-2ace72c587b1dad4e90991fa2c37e278d81fbacb.tar.bz2 |
Treat short meta refreshes in top-level browser windows as if they were HTTP redirects for the purposes of verifiability.
svn path=/trunk/netsurf/; revision=6751
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); + } } |