if (mListener) mListener->OnFileAvailable(pathAndFilename); } #else if(nsnull != mStreamFile) { fclose(mStreamFile); mStreamFile = nsnull;  if (mListener) mListener->OnFileAvailable(mFileName); } #endif return NS_OK;
NS_IMETHODIMP nsPluginStreamListenerPeer::OnStopRequest(nsIURI* aURL, nsresult aStatus, const PRUnichar* aMsg)#endif // NECKO{  nsresult rv = NS_OK;#ifdef NECKO  nsCOMPtr<nsIURI> aURL;  rv = channel->GetURI(getter_AddRefs(aURL));  if (NS_FAILED(rv)) return rv;#endif // NECKO  // nsPluginReason  reason = nsPluginReason_NoReason;  if(nsnull != mPStreamListener)  {#ifdef NECKO    char* urlString;#else	const char* urlString;#endif	aURL->GetSpec(&urlString);	mPluginStreamInfo->SetURL(urlString);#ifdef NECKO    nsCRT::free(urlString);#endif	// tell the plugin that the stream has ended only if the cache is done	if(mCacheDone)		mPStreamListener->OnStopBinding((nsIPluginStreamInfo*)mPluginStreamInfo, aStatus);	else // otherwise, we store the status so we can report it later in OnFileAvailable		mStatus = aStatus;  }  mOnStopRequest = PR_TRUE;  return rv;}