get charset information from nsIWebShell to implement META charset reload

git-svn-id: svn://10.0.0.236/trunk@32189 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
ftang%netscape.com
1999-05-19 00:24:41 +00:00
parent 13637ff3b0
commit 7d0cd1a7e1
2 changed files with 18 additions and 4 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,12 @@ 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)
charset = requestCharset;
}
}
NS_IF_RELEASE(webShell);
#endif
@@ -331,8 +340,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);