NS_FORWARD_NSIDOMNODE_NO_CLONENODE(nsGenericElement::)
nsXULElement::GetChildNodes(nsIDOMNodeList** aChildNodes) { nsresult rv;  nsRDFDOMNodeList* children; rv = nsRDFDOMNodeList::Create(&children); NS_ASSERTION(NS_SUCCEEDED(rv), "unable to create DOM node list"); if (NS_FAILED(rv)) return rv;  PRInt32 count; rv = ChildCount(count); NS_ASSERTION(NS_SUCCEEDED(rv), "unable to get child count"); if (NS_FAILED(rv)) return rv;  for (PRInt32 i = 0; i < count; ++i) { nsCOMPtr<nsIContent> child; rv = ChildAt(i, *getter_AddRefs(child)); NS_ASSERTION(NS_SUCCEEDED(rv), "unable to get child"); if (NS_FAILED(rv)) break;  nsCOMPtr<nsIDOMNode> domNode; rv = child->QueryInterface(NS_GET_IID(nsIDOMNode), (void**) getter_AddRefs(domNode)); if (NS_FAILED(rv)) { NS_WARNING("child content doesn't support nsIDOMNode"); continue; }  rv = children->AppendNode(domNode); NS_ASSERTION(NS_SUCCEEDED(rv), "unable to append node to list"); if (NS_FAILED(rv)) break; }   *aChildNodes = children; return NS_OK; }
    NS_FORWARD_NSIDOMNODE_NO_CLONENODE(nsGenericElement::)