зеркало из https://github.com/mozilla/gecko-dev.git
get charset information from nsIWebShell to implement META charset reload
This commit is contained in:
Родитель
33209658c1
Коммит
f5709e3ef9
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
Загрузка…
Ссылка в новой задаче