265333 NS_NewInputStreamChannel should not overwrite a content charset set from

the content type with an empty string r+sr=darin
This commit is contained in:
cbiesinger@web.de
2004-10-25 13:15:25 +00:00
parent 49f189869c
commit bd5d985df0
5 changed files with 30 additions and 11 deletions

View File

@@ -136,8 +136,7 @@ EmbedStream::OpenStream(const char *aBaseURI, const char *aContentType)
// create a new input stream channel // create a new input stream channel
rv = NS_NewInputStreamChannel(getter_AddRefs(mChannel), uri, rv = NS_NewInputStreamChannel(getter_AddRefs(mChannel), uri,
NS_STATIC_CAST(nsIInputStream *, this), NS_STATIC_CAST(nsIInputStream *, this),
nsDependentCString(aContentType), nsDependentCString(aContentType));
EmptyCString());
if (NS_FAILED(rv)) if (NS_FAILED(rv))
return rv; return rv;

View File

@@ -119,8 +119,7 @@ EmbedStream::OpenStream(const char *aBaseURI, const char *aContentType)
// create a new input stream channel // create a new input stream channel
rv = NS_NewInputStreamChannel(getter_AddRefs(mChannel), uri, rv = NS_NewInputStreamChannel(getter_AddRefs(mChannel), uri,
NS_STATIC_CAST(nsIInputStream *, this), NS_STATIC_CAST(nsIInputStream *, this),
nsDependentCString(aContentType), nsDependentCString(aContentType));
NS_LITERAL_CSTRING("") );
if (NS_FAILED(rv)) if (NS_FAILED(rv))
return rv; return rv;

View File

@@ -141,8 +141,7 @@ EmbedStream::OpenStream(const char *aBaseURI, const char *aContentType)
// create a new input stream channel // create a new input stream channel
rv = NS_NewInputStreamChannel(getter_AddRefs(mChannel), uri, rv = NS_NewInputStreamChannel(getter_AddRefs(mChannel), uri,
this, this,
nsDependentCString(aContentType), nsDependentCString(aContentType));
EmptyCString());
if (NS_FAILED(rv)) if (NS_FAILED(rv))
return rv; return rv;

View File

@@ -131,8 +131,7 @@ nsEmbedStream::OpenStream(const char *aBaseURI, const char *aContentType)
// create a new input stream channel // create a new input stream channel
rv = NS_NewInputStreamChannel(getter_AddRefs(mChannel), uri, rv = NS_NewInputStreamChannel(getter_AddRefs(mChannel), uri,
NS_STATIC_CAST(nsIInputStream *, this), NS_STATIC_CAST(nsIInputStream *, this),
nsDependentCString(aContentType), nsDependentCString(aContentType));
EmptyCString());
if (NS_FAILED(rv)) if (NS_FAILED(rv))
return rv; return rv;

View File

@@ -1,4 +1,5 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/* vim:set ts=4 sw=4 sts=4 et cin: */
/* ***** BEGIN LICENSE BLOCK ***** /* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
* *
@@ -287,8 +288,8 @@ inline nsresult
NS_NewInputStreamChannel(nsIChannel **result, NS_NewInputStreamChannel(nsIChannel **result,
nsIURI *uri, nsIURI *uri,
nsIInputStream *stream, nsIInputStream *stream,
const nsACString &contentType = EmptyCString(), const nsACString &contentType,
const nsACString &contentCharset = EmptyCString()) const nsACString *contentCharset)
{ {
nsresult rv; nsresult rv;
static NS_DEFINE_CID(kInputStreamChannelCID, NS_INPUTSTREAMCHANNEL_CID); static NS_DEFINE_CID(kInputStreamChannelCID, NS_INPUTSTREAMCHANNEL_CID);
@@ -298,13 +299,35 @@ NS_NewInputStreamChannel(nsIChannel **result,
rv |= channel->SetURI(uri); rv |= channel->SetURI(uri);
rv |= channel->SetContentStream(stream); rv |= channel->SetContentStream(stream);
rv |= channel->SetContentType(contentType); rv |= channel->SetContentType(contentType);
rv |= channel->SetContentCharset(contentCharset); if (contentCharset && !contentCharset->IsEmpty()) {
rv |= channel->SetContentCharset(*contentCharset);
}
if (NS_SUCCEEDED(rv)) if (NS_SUCCEEDED(rv))
NS_ADDREF(*result = channel); NS_ADDREF(*result = channel);
} }
return rv; return rv;
} }
inline nsresult
NS_NewInputStreamChannel(nsIChannel **result,
nsIURI *uri,
nsIInputStream *stream,
const nsACString &contentType = EmptyCString())
{
return NS_NewInputStreamChannel(result, uri, stream, contentType, nsnull);
}
inline nsresult
NS_NewInputStreamChannel(nsIChannel **result,
nsIURI *uri,
nsIInputStream *stream,
const nsACString &contentType,
const nsACString &contentCharset)
{
return NS_NewInputStreamChannel(result, uri, stream, contentType,
&contentCharset);
}
inline nsresult inline nsresult
NS_NewInputStreamPump(nsIInputStreamPump **result, NS_NewInputStreamPump(nsIInputStreamPump **result,
nsIInputStream *stream, nsIInputStream *stream,