*getter_AddRefs(nodeInfo));
getter_AddRefs(nodeInfo));
HTMLContentSink::ProcessMETATag(const nsIParserNode& aNode){  nsIHTMLContent* parent = nsnull;  if (mCurrentContext) {    parent = mCurrentContext->mStack[mCurrentContext->mStackPos - 1].mContent;  }  if (!parent) {    return NS_OK;  }  nsresult rv = NS_OK;  // Create content object  nsCOMPtr<nsINodeInfo> nodeInfo;  rv = mNodeInfoManager->GetNodeInfo(NS_LITERAL_STRING("meta"), nsnull,                                     kNameSpaceID_None,                                     *getter_AddRefs(nodeInfo));  NS_ENSURE_SUCCESS(rv, rv);  nsCOMPtr<nsIHTMLContent> it;  rv = NS_NewHTMLMetaElement(getter_AddRefs(it), nodeInfo);  NS_ENSURE_SUCCESS(rv, rv);  // Add in the attributes and add the meta content object to the head  // container.  it->SetDocument(mDocument, PR_FALSE, PR_TRUE);  rv = AddAttributes(aNode, it);  if (NS_FAILED(rv)) {    return rv;  }  parent->AppendChildTo(it, PR_FALSE, PR_FALSE);  // XXX It's just not sufficient to check if the parent is head. Also  // check for the preference.  if (!mInsideNoXXXTag) {    // Bug 40072: Don't evaluate METAs after FRAMESET.    if (!mFrameset) {      // set any HTTP-EQUIV data into document's header data as well as url      nsAutoString header;      it->GetAttr(kNameSpaceID_None, nsHTMLAtoms::httpEquiv, header);      if (!header.IsEmpty()) {        nsAutoString result;        it->GetAttr(kNameSpaceID_None, nsHTMLAtoms::content, result);        if (!result.IsEmpty()) {          ToLowerCase(header);          nsCOMPtr<nsIAtom> fieldAtom = do_GetAtom(header);          rv = ProcessHeaderData(fieldAtom, result, it);        }      }    }  }  return rv;}