NS_ABORT_IF_FALSE(0,"unexpected link verb");
;
nsWebShell::HandleLinkClickEvent(nsIContent *aContent,                                 nsLinkVerb aVerb,                                 const PRUnichar* aURLSpec,                                 const PRUnichar* aTargetSpec,                                 nsIInputStream* aPostDataStream,                                 nsIInputStream* aHeadersDataStream){  nsresult rv;  nsAutoString target(aTargetSpec);  switch(aVerb) {    case eLinkVerb_New:      target.Assign(NS_LITERAL_STRING("_blank"));      // Fall into replace case    case eLinkVerb_Undefined:      // Fall through, this seems like the most reasonable action    case eLinkVerb_Replace:      {        // for now, just hack the verb to be view-link-clicked        // and down in the load document code we'll detect this and        // set the correct uri loader command        nsCOMPtr<nsIURI> uri;        NS_NewURI(getter_AddRefs(uri), nsDependentString(aURLSpec), nsnull);        // No URI object? This may indicate the URLspec is for an        // unrecognized protocol. Embedders might still be interested        // in handling the click, so we fire a notification before        // throwing the click away.        if (!uri && NS_SUCCEEDED(EnsureContentListener()))        {            nsCOMPtr<nsIURIContentListener> listener = do_QueryInterface(mContentListener);            nsCAutoString spec; spec.AssignWithConversion(aURLSpec);            PRBool abort = PR_FALSE;            uri = do_CreateInstance(kSimpleURICID, &rv);            NS_ASSERTION(NS_SUCCEEDED(rv), "can't create simple uri");            if (NS_SUCCEEDED(rv))            {                rv = uri->SetSpec(spec.get());                NS_ASSERTION(NS_SUCCEEDED(rv), "spec is invalid");                if (NS_SUCCEEDED(rv))                {                    listener->OnStartURIOpen(uri, &abort);                }            }            return;        }        rv = InternalLoad(uri,                // New URI                          mCurrentURI,        // Referer URI                          nsnull,             // No onwer                          PR_TRUE,            // Inherit owner from document                          target.get(),       // Window target                          aPostDataStream,    // Post data stream                          aHeadersDataStream, // Headers stream                          LOAD_LINK,          // Load type                          nsnull,             // No SHEntry                          PR_TRUE);           // first party site      }      break;    case eLinkVerb_Embed:      // XXX TODO Should be similar to the HTML IMG ALT attribute handling      //          in NS 4.x    default:      NS_ABORT_IF_FALSE(0,"unexpected link verb");  }}