}
nsPluginDocument::StartDocumentLoad(const char*         aCommand,                                    nsIChannel*         aChannel,                                    nsILoadGroup*       aLoadGroup,                                    nsISupports*        aContainer,                                    nsIStreamListener** aDocListener,                                    PRBool              aReset,                                    nsIContentSink*     aSink){  nsresult rv =    nsMediaDocument::StartDocumentLoad(aCommand, aChannel, aLoadGroup,                                       aContainer, aDocListener, aReset,                                       aSink);  if (NS_FAILED(rv)) {    return rv;  }  rv = aChannel->GetContentType(mMimeType);  if (NS_FAILED(rv)) {    return rv;  }  // Create synthetic document  rv = CreateSyntheticPluginDocument();  if (NS_FAILED(rv)) {    return rv;  }  mStreamListener = new nsMediaDocumentStreamListener(this);  if (!mStreamListener)    return NS_ERROR_OUT_OF_MEMORY;  NS_ASSERTION(aDocListener, "null aDocListener");  NS_ADDREF(*aDocListener = mStreamListener);  return rv;}