m_DocLoader->FireOnStartDocumentLoad((nsIDocumentLoader *) m_DocLoader, url, m_Command);
nsresult nsDocumentBindInfo::Bind(nsIURI* aURL, nsIStreamListener* aListener){  nsresult rv = NS_OK;  m_Url = aURL;  NS_ADDREF(m_Url);#if defined(DEBUG)#ifdef NECKO  char *buffer;#else  const char *buffer;#endif  aURL->GetSpec(&buffer);  PR_LOG(gDocLoaderLog, PR_LOG_DEBUG,          ("DocumentBindInfo:%p: OnStartDocumentLoad(...) called for %s.\n",          this, buffer));#ifdef NECKO  nsCRT::free(buffer);#endif#endif /* DEBUG */  //  m_DocLoader->FireOnStartDocumentLoad(aURL, m_Command);  /* Set up the stream listener (if provided)... */  if (nsnull != aListener) {    m_NextStream = aListener;    NS_ADDREF(m_NextStream);  }#ifndef NECKO  /* Start the URL binding process... */  nsINetService *inet = nsnull;  rv = nsServiceManager::GetService(kNetServiceCID,                                    kINetServiceIID,                                    (nsISupports **)&inet);  if (NS_SUCCEEDED(rv)) {    rv = inet->OpenStream(m_Url, this);    nsServiceManager::ReleaseService(kNetServiceCID, inet);  }#else  NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv);  if (NS_FAILED(rv)) return rv;  nsIURI *uri = nsnull;  rv = m_Url->QueryInterface(nsIURI::GetIID(), (void**)&uri);  if (NS_FAILED(rv)) return rv;    nsIChannel *channel = nsnull;  // XXX NECKO verb? sinkGetter?  rv = service->NewChannelFromURI("load", uri, nsnull, &channel);  NS_RELEASE(uri);  if (NS_FAILED(rv)) return rv;  nsIEventQueue *eventQ = nsnull;  NS_WITH_SERVICE(nsIEventQueueService, eqService, kEventQueueServiceCID, &rv);  if (NS_FAILED(rv)) return rv;  rv = eqService->GetThreadEventQueue(PR_CurrentThread(), &eventQ);  if (NS_FAILED(rv)) return rv;  rv = channel->AsyncRead(0, -1, nsnull, eventQ, this);  NS_RELEASE(eventQ);#endif // NECKO  return rv;}