rv = convServ->AsyncConvertData(NS_LITERAL_STRING("multipart/x-mixed-replace").get(), NS_LITERAL_STRING("*/*").get(),
rv = convServ->AsyncConvertData("multipart/x-mixed-replace", "*/*",
nsMultipartProxyListener::OnStartRequest(nsIRequest *aRequest,                                         nsISupports *ctxt){  nsCOMPtr<nsIChannel> channel(do_QueryInterface(aRequest));  NS_ENSURE_TRUE(channel, NS_ERROR_UNEXPECTED);  nsCAutoString contentType;  nsresult rv = channel->GetContentType(contentType);  if (!contentType.EqualsLiteral("multipart/x-mixed-replace")) {    return NS_ERROR_INVALID_ARG;  }  // If multipart/x-mixed-replace content, we'll insert a MIME  // decoder in the pipeline to handle the content and pass it along  // to our original listener.  nsCOMPtr<nsIStreamConverterService> convServ =    do_GetService("@mozilla.org/streamConverters;1", &rv);  if (NS_SUCCEEDED(rv)) {    nsCOMPtr<nsIStreamListener> toListener(mDestListener);    nsCOMPtr<nsIStreamListener> fromListener;    rv = convServ->AsyncConvertData(NS_LITERAL_STRING("multipart/x-mixed-replace").get(),                                    NS_LITERAL_STRING("*/*").get(),                                    toListener,                                    nsnull,                                    getter_AddRefs(fromListener));    NS_ENSURE_TRUE(NS_SUCCEEDED(rv) && fromListener, NS_ERROR_UNEXPECTED);    mDestListener = fromListener;  }  return mDestListener->OnStartRequest(aRequest, ctxt);}