nsIFrame* frame = mDocument->GetShellAt(0)->GetPrimaryFrameFor(embed);
nsIPresShell* shell = mDocument->GetShellAt(0); if (!shell) {  return NS_BINDING_ABORTED; }  nsIFrame* frame = shell->GetPrimaryFrameFor(embed);
nsPluginStreamListener::OnStartRequest(nsIRequest* request, nsISupports *ctxt){  nsresult rv = nsMediaDocumentStreamListener::OnStartRequest(request, ctxt);  if (NS_FAILED(rv)) {    return rv;  }  nsIContent* embed = mPluginDoc->GetPluginContent();  // Now we have a frame for our <embed>, start the load  nsIFrame* frame = mDocument->GetShellAt(0)->GetPrimaryFrameFor(embed);  if (!frame) {    return rv;  }  nsIObjectFrame* objFrame;  CallQueryInterface(frame, &objFrame);  if (!objFrame) {    return NS_ERROR_UNEXPECTED;  }  rv = objFrame->Instantiate(mPluginDoc->GetType().get(),                             mDocument->nsIDocument::GetDocumentURI());  if (NS_FAILED(rv)) {    return rv;  }  NS_ASSERTION(mNextStream, "We should have a listener by now");  return mNextStream->OnStartRequest(request, ctxt);}