From 69077d80b4caa3bc875252cf87dca02e7bc6645d Mon Sep 17 00:00:00 2001 From: "law%netscape.com" Date: Sat, 7 Oct 2000 02:24:50 +0000 Subject: [PATCH] Bug 6119; r=radha@netscape.com; sr=waterson@netscape.com; Use nsIChannel::VALIDATE_NEVER when loading a page for view-source git-svn-id: svn://10.0.0.236/trunk@80641 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/docshell/base/nsDocShell.cpp | 86 +++++++++++++++------------- 1 file changed, 46 insertions(+), 40 deletions(-) diff --git a/mozilla/docshell/base/nsDocShell.cpp b/mozilla/docshell/base/nsDocShell.cpp index 2ccaeca06e6..91cf55308fc 100644 --- a/mozilla/docshell/base/nsDocShell.cpp +++ b/mozilla/docshell/base/nsDocShell.cpp @@ -3466,46 +3466,52 @@ NS_IMETHODIMP nsDocShell::DoChannelLoad(nsIChannel *aChannel, nsURILoadCommand a (void)aChannel->GetLoadAttributes(&loadAttribs); loadAttribs |= nsIChannel::LOAD_DOCUMENT_URI; - switch ( mLoadType ) - { - case LOAD_HISTORY: - loadAttribs |= nsIChannel::VALIDATE_NEVER; - break; - - case LOAD_RELOAD_NORMAL: - loadAttribs |= nsIChannel::FORCE_VALIDATION; - break; - - case LOAD_RELOAD_BYPASS_PROXY_AND_CACHE: - loadAttribs |= nsIChannel::FORCE_RELOAD; - break; - case LOAD_REFRESH: - loadAttribs |= nsIChannel::FORCE_RELOAD; - break; - case LOAD_NORMAL: - case LOAD_LINK: - // Set cache checking flags - if ( mPrefs ) - { - PRInt32 prefSetting; - if ( NS_SUCCEEDED( mPrefs->GetIntPref( "browser.cache.check_doc_frequency" , &prefSetting) ) ) - { - switch ( prefSetting ) - { - case 0: - loadAttribs |= nsIChannel::VALIDATE_ONCE_PER_SESSION; - break; - case 1: - loadAttribs |= nsIChannel::VALIDATE_ALWAYS; - break; - case 2: - loadAttribs |= nsIChannel::VALIDATE_NEVER; - break; - } - } - } - break; - } + // "View source" always wants VALIDATE_NEVER. + if ( mViewMode == viewSource ) { + loadAttribs |= nsIChannel::VALIDATE_NEVER; + } else { + // Load attributes depend on load type... + switch ( mLoadType ) + { + case LOAD_HISTORY: + loadAttribs |= nsIChannel::VALIDATE_NEVER; + break; + + case LOAD_RELOAD_NORMAL: + loadAttribs |= nsIChannel::FORCE_VALIDATION; + break; + + case LOAD_RELOAD_BYPASS_PROXY_AND_CACHE: + loadAttribs |= nsIChannel::FORCE_RELOAD; + break; + case LOAD_REFRESH: + loadAttribs |= nsIChannel::FORCE_RELOAD; + break; + case LOAD_NORMAL: + case LOAD_LINK: + // Set cache checking flags + if ( mPrefs ) + { + PRInt32 prefSetting; + if ( NS_SUCCEEDED( mPrefs->GetIntPref( "browser.cache.check_doc_frequency" , &prefSetting) ) ) + { + switch ( prefSetting ) + { + case 0: + loadAttribs |= nsIChannel::VALIDATE_ONCE_PER_SESSION; + break; + case 1: + loadAttribs |= nsIChannel::VALIDATE_ALWAYS; + break; + case 2: + loadAttribs |= nsIChannel::VALIDATE_NEVER; + break; + } + } + } + break; + } + } (void) aChannel->SetLoadAttributes(loadAttribs);