fix bug 6740. approved by christ hofmann

git-svn-id: svn://10.0.0.236/trunk@32576 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
ftang%netscape.com
1999-05-25 02:30:03 +00:00
parent c0131df702
commit 3f23cb5ab3
3 changed files with 27 additions and 35 deletions

View File

@@ -308,6 +308,9 @@ nsHTMLDocument::StartDocumentLoad(nsIURL *aURL,
nsAutoString charset = "ISO-8859-1"; // fallback value in case webShell return error
nsCharsetSource charsetSource = kCharsetFromDocTypeDefault;
const PRUnichar* requestCharset = nsnull;
nsCharsetSource requestCharsetSource = kCharsetUninitialized;
#ifdef rickgdebug
nsString outString; // added out. Redirect to stdout if desired -- gpk 04/01/99
@@ -324,6 +327,15 @@ nsHTMLDocument::StartDocumentLoad(nsIURL *aURL,
charset = defaultCharsetFromWebShell;
charsetSource = kCharsetFromUserDefault;
}
// for html, we need to find out the Meta tag from the hint.
rv = webShell->GetCharacterSetHint(&requestCharset, &requestCharsetSource);
if(NS_SUCCEEDED(rv)) {
if(requestCharsetSource > charsetSource)
{
charsetSource = requestCharsetSource;
charset = requestCharset;
}
}
}
NS_IF_RELEASE(webShell);
#endif
@@ -331,8 +343,6 @@ nsHTMLDocument::StartDocumentLoad(nsIURL *aURL,
// XXXX
// We should take care two more cases here
// 1. The charset attribute from HTTP header
// 2. The charset parameter from the META Tag -
// which explicit pass to nsWebShell from nsCharsetObserver
if (NS_SUCCEEDED(rv)) {
rv = this->SetDocumentCharacterSet(charset);