rv = lh->OnLinkClick(content, eLinkVerb_Replace, fullurl.GetUnicode(), unitarget.GetUnicode(), postDataStream);
if (postDataStream) { rv = lh->OnLinkClick(content, eLinkVerb_Replace, fullurl.GetUnicode(), unitarget.GetUnicode(), postDataStream); } else { rv = lh->OnLinkClick(content, eLinkVerb_Replace, fullurl.GetUnicode(), unitarget.GetUnicode(), nsnull); }
NS_IMETHODIMP nsPluginInstanceOwner::GetURL(const char *aURL, const char *aTarget, void *aPostData, PRUint32 aPostDataLen){  nsISupports     *container;  nsILinkHandler  *lh;  nsresult        rv;  nsIView         *view;  nsPoint         origin;  if ((nsnull != mOwner) && (nsnull != mContext))  {    rv = mOwner->GetOffsetFromView(mContext, origin, &view);    if (NS_OK == rv)    {      rv = mContext->GetContainer(&container);      if (NS_OK == rv)      {        rv = container->QueryInterface(kILinkHandlerIID, (void **)&lh);        if (NS_OK == rv)        {          nsAutoString  uniurl; uniurl.AssignWithConversion(aURL);          nsAutoString  unitarget; unitarget.AssignWithConversion(aTarget);          nsAutoString  fullurl;          nsIURI* baseURL;          mOwner->GetFullURL(baseURL);          // Create an absolute URL          rv = NS_MakeAbsoluteURI(fullurl, uniurl, baseURL);          NS_IF_RELEASE(baseURL);          if (NS_OK == rv) {            nsIContent* content = nsnull;            mOwner->GetContent(&content);            nsCOMPtr<nsISupports> result = nsnull;            nsCOMPtr<nsIInputStream> postDataStream = nsnull;            if (aPostData) {              NS_NewByteInputStream(getter_AddRefs(result),                                    (const char *) aPostData, aPostDataLen);              if (result) {                postDataStream = do_QueryInterface(result, &rv);              }            }            rv = lh->OnLinkClick(content, eLinkVerb_Replace,                                  fullurl.GetUnicode(),                                  unitarget.GetUnicode(),                                  postDataStream);            NS_IF_RELEASE(content);          }          NS_RELEASE(lh);        }        NS_RELEASE(container);      }    }  }  else    rv = NS_ERROR_FAILURE;  return rv;}