nsXPIDLCString buffer;  GetURIStringFromChannel(aChannel, buffer);
NS_METHOD nsDocumentBindInfo::OnProgress(nsIURI* aURL, PRUint32 aProgress, PRUint32 aProgressMax)#endif{    nsresult rv = NS_OK;#ifdef NECKO    nsCOMPtr<nsIChannel> channel = do_QueryInterface(ctxt);    if (channel == nsnull) return NS_ERROR_FAILURE;    nsCOMPtr<nsIURI> aURL;    rv = channel->GetURI(getter_AddRefs(aURL));    if (NS_FAILED(rv)) return rv;#endif#if defined(DEBUG)#ifdef NECKO    char* spec;#else    const char* spec;#endif    (void)aURL->GetSpec(&spec);    PR_LOG(gDocLoaderLog, PR_LOG_DEBUG,            ("DocumentBindInfo:%p: OnProgress(...) called for %s.  Progress: %d.  ProgressMax: %d\n",             this, spec, aProgress, aProgressMax));#ifdef NECKO    nsCRT::free(spec);#endif#endif /* DEBUG */    /* Pass the notification out to the next stream listener... */    if (nsnull != m_NextStream) {#ifdef NECKO//        rv = m_NextStream->OnProgress(channel, aProgress, aProgressMax);        NS_ASSERTION(0, "help");#else        rv = m_NextStream->OnProgress(aURL, aProgress, aProgressMax);#endif    }    /* Pass the notification out to any observers... */#ifdef NECKO    m_DocLoader->FireOnProgressURLLoad((nsIDocumentLoader *) m_DocLoader, channel, aProgress, aProgressMax);#else    m_DocLoader->FireOnProgressURLLoad((nsIDocumentLoader *) m_DocLoader, aURL, aProgress, aProgressMax);#endif    /* Pass the notification out to the Observer... */    if (nsnull != m_Observer) {        /* XXX: Should we ignore the return value? */#ifdef NECKO//        (void) m_Observer->OnProgress(channel, aProgress, aProgressMax);        NS_ASSERTION(0, "help");#else        (void) m_Observer->OnProgress(aURL, aProgress, aProgressMax);#endif    }    return rv;}