From 57d51d23c81c918ef3caab06e74436b15c602878 Mon Sep 17 00:00:00 2001 From: "cbiesinger%web.de" Date: Wed, 7 Sep 2005 12:51:17 +0000 Subject: [PATCH] bug 305243 set an XML content-type hint on XMLHttpRequest channels, to always parse local files as XML. Also, make TestXMLExtras convert non-ASCII bytes to UTF-16 correctly. r=jst sr=bz --- extensions/xmlextras/base/src/nsXMLHttpRequest.cpp | 5 +++++ extensions/xmlextras/tests/TestXMLExtras.cpp | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) 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 ) );