rv = StreamConvService->AsyncConvertData(from_w.GetUnicode(), to_w.GetUnicode(),
rv = StreamConvService->AsyncConvertData(from_w.get(), to_w.get(),
nsresult nsDocumentOpenInfo::RetargetOutput(nsIRequest *request, const char * aSrcContentType, const char * aOutContentType,                                            nsIStreamListener * aStreamListener){  nsresult rv = NS_OK;  // catch the case when some joker server sends back a content type of "*/*"  // because we said we could handle "*/*" in our accept headers  if (aOutContentType && *aOutContentType && nsCRT::strcasecmp(aSrcContentType, aOutContentType) && nsCRT::strcmp(aSrcContentType, "*/*"))  {      NS_WITH_SERVICE(nsIStreamConverterService, StreamConvService, kStreamConverterServiceCID, &rv);      if (NS_FAILED(rv)) return rv;      nsAutoString from_w; from_w.AssignWithConversion (aSrcContentType);      nsAutoString to_w; to_w.AssignWithConversion (aOutContentType);            nsDocumentOpenInfo* nextLink;      // When applying stream decoders, it is necessary to "insert" an       // intermediate nsDocumentOpenInfo instance to handle the targeting of      // the "final" stream or streams.      //      // For certain content types (ie. multi-part/x-mixed-replace) the input      // stream is split up into multiple destination streams.  This      // intermediate instance is used to target these "decoded" streams...      //      nextLink = Clone();      if (!nextLink) return NS_ERROR_OUT_OF_MEMORY;      NS_ADDREF(nextLink);      // Set up the final destination listener.      nextLink->m_targetStreamListener = nsnull;      // The following call binds this channelListener's mNextListener (typically      // the nsDocumentBindInfo) to the underlying stream converter, and returns      // the underlying stream converter which we then set to be this channelListener's      // mNextListener. This effectively nestles the stream converter down right      // in between the raw stream and the final listener.      rv = StreamConvService->AsyncConvertData(from_w.GetUnicode(),                                                to_w.GetUnicode(),                                                nextLink,                                                request,                                               getter_AddRefs(m_targetStreamListener));      NS_RELEASE(nextLink);  }  else    m_targetStreamListener = aStreamListener; // no converter necessary so use a direct pipe  return rv;}