Deal better with innerHTML for documents whose types we don't have encoders

for.  Bug 155723, r+sr=jst, a=bsmedberg


git-svn-id: svn://10.0.0.236/trunk@176268 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
bzbarsky%mit.edu
2005-07-19 21:11:07 +00:00
parent 2f35dfa9b1
commit 9f67a5131d

View File

@@ -880,6 +880,18 @@ nsGenericHTMLElement::GetInnerHTML(nsAString& aInnerHTML)
nsDependentCString(NS_DOC_ENCODER_CONTRACTID_BASE) +
NS_ConvertUTF16toUTF8(contentType)
).get());
if (!docEncoder) {
// This could be some type for which we create a synthetic document. Try
// again as HTML if the document is case-insensitive and as XML if it's
// case-sensitive
if (doc->IsCaseSensitive()) {
contentType.AssignLiteral("application/xml");
docEncoder = do_CreateInstance(NS_DOC_ENCODER_CONTRACTID_BASE "application/xml");
} else {
contentType.AssignLiteral("text/html");
docEncoder = do_CreateInstance(NS_DOC_ENCODER_CONTRACTID_BASE "text/html");
}
}
NS_ENSURE_TRUE(docEncoder, NS_ERROR_FAILURE);