Bug 382383 - nsDocShell::LoadURI discards LOAD_FLAGS_FIRST_LOAD. r=bzbarsky, sr=cbiesinger

git-svn-id: svn://10.0.0.236/trunk@227772 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
sdwilsh%shawnwilsher.com
2007-06-10 23:28:27 +00:00
parent 5d5d2dcc50
commit 20de4ecc31
2 changed files with 13 additions and 7 deletions

View File

@@ -2767,12 +2767,11 @@ nsDocShell::LoadURI(const PRUnichar * aURI,
if (NS_FAILED(rv) || !uri)
return NS_ERROR_FAILURE;
// Don't pass the fixup flag to MAKE_LOAD_TYPE, since it isn't needed and
// confuses ConvertLoadTypeToDocShellLoadInfo. We do need to ensure that
// it is passed to LoadURI though, since it uses it to determine whether it
// can do fixup.
PRUint32 fixupFlag = (aLoadFlags & LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP);
aLoadFlags &= ~LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP;
// Don't pass certain flags that aren't needed and end up confusing
// ConvertLoadTypeToDocShellLoadInfo. We do need to ensure that they are
// passed to LoadURI though, since it uses them.
PRUint32 extraFlags = (aLoadFlags & EXTRA_LOAD_FLAGS);
aLoadFlags &= ~EXTRA_LOAD_FLAGS;
nsCOMPtr<nsIDocShellLoadInfo> loadInfo;
rv = CreateLoadInfo(getter_AddRefs(loadInfo));
@@ -2784,7 +2783,7 @@ nsDocShell::LoadURI(const PRUnichar * aURI,
loadInfo->SetReferrer(aReferringURI);
loadInfo->SetHeadersStream(aHeaderStream);
rv = LoadURI(uri, loadInfo, fixupFlag, PR_TRUE);
rv = LoadURI(uri, loadInfo, extraFlags, PR_TRUE);
return rv;
}