nsGenericElement::GetAttribute(const nsAString& aName, nsAString& aReturn) { nsCOMPtr<nsINodeInfo> ni; NormalizeAttrString(aName, *getter_AddRefs(ni)); NS_ENSURE_TRUE(ni, NS_ERROR_FAILURE);  PRInt32 nsid; nsCOMPtr<nsIAtom> nameAtom;  ni->GetNamespaceID(nsid); ni->GetNameAtom(*getter_AddRefs(nameAtom));  nsresult rv = NS_STATIC_CAST(nsIContent *, this)->GetAttr(nsid, nameAtom, aReturn);  if (rv == NS_CONTENT_ATTR_NOT_THERE) { SetDOMStringToNull(aReturn);
nsresult    GetAttribute(const nsString& aName, nsString& aReturn) { return nsGenericElement::GetAttribute(aName, aReturn);
nsGenericElement::GetAttribute(const nsAString& aName,                               nsAString& aReturn){  nsCOMPtr<nsINodeInfo> ni;  NormalizeAttrString(aName, *getter_AddRefs(ni));  NS_ENSURE_TRUE(ni, NS_ERROR_FAILURE);  PRInt32 nsid;  nsCOMPtr<nsIAtom> nameAtom;  ni->GetNamespaceID(nsid);  ni->GetNameAtom(*getter_AddRefs(nameAtom));  nsresult rv = NS_STATIC_CAST(nsIContent *,                               this)->GetAttr(nsid, nameAtom, aReturn);  if (rv == NS_CONTENT_ATTR_NOT_THERE) {    SetDOMStringToNull(aReturn);  }  return NS_OK;}