diff --git a/extensions/xmlextras/base/src/nsXMLHttpRequest.cpp b/extensions/xmlextras/base/src/nsXMLHttpRequest.cpp index 03f9d469b50b..bac2b0afbbf6 100644 --- a/extensions/xmlextras/base/src/nsXMLHttpRequest.cpp +++ b/extensions/xmlextras/base/src/nsXMLHttpRequest.cpp @@ -1579,6 +1579,11 @@ nsXMLHttpRequest::Send(nsIVariant *aBody) listener = this; } + // Since we expect XML data, set the type hint accordingly + // This means that we always try to parse local files as XML + // ignoring return value, as this is not critical + mChannel->SetContentType(NS_LITERAL_CSTRING("application/xml")); + // Start reading from the channel ChangeState(XML_HTTP_REQUEST_SENT); rv = mChannel->AsyncOpen(listener, nsnull); diff --git a/extensions/xmlextras/tests/TestXMLExtras.cpp b/extensions/xmlextras/tests/TestXMLExtras.cpp index 441b0393bc91..0d47821c6bf8 100644 --- a/extensions/xmlextras/tests/TestXMLExtras.cpp +++ b/extensions/xmlextras/tests/TestXMLExtras.cpp @@ -57,6 +57,7 @@ #include #include "nsContentCID.h" #include "nsReadableUtils.h" +#include "nsNativeCharsetUtils.h" static NS_DEFINE_CID( kXMLDocumentCID, NS_XMLDOCUMENT_CID ); #if 0 @@ -152,7 +153,8 @@ int main (int argc, char* argv[]) &rv ); if (NS_SUCCEEDED( rv )) { - nsString str; str.AssignWithConversion(argv[2]); + nsString str; + NS_CopyNativeToUnicode(nsDependentCString(argv[2]), str); rv = pDOMParser->ParseFromString(str.get(), "application/xml", getter_AddRefs( pDOMDocument ) );