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
This commit is contained in:
law%netscape.com
2000-10-07 02:24:50 +00:00
parent f845bee819
commit 69077d80b4

View File

@@ -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);