if (NS_FAILED(rv)) return PR_FALSE;
nsXULContentBuilder::IsOpen(nsIContent* aElement){    nsresult rv;    // XXXhyatt - use XBL service to obtain base tag.    nsCOMPtr<nsIAtom> tag;    rv = aElement->GetTag(getter_AddRefs(tag));    if (NS_FAILED(rv)) return PR_FALSE;    // Treat the 'root' element as always open, -unless- it's a    // menu/menupopup. We don't need to "fake" these as being open.    if ((aElement == mRoot) && (tag.get() != nsXULAtoms::menu) &&        (tag.get() != nsXULAtoms::menubutton) &&        (tag.get() != nsXULAtoms::toolbarbutton) &&        (tag.get() != nsXULAtoms::button))      return PR_TRUE;    nsAutoString value;    rv = aElement->GetAttr(kNameSpaceID_None, nsXULAtoms::open, value);    NS_ASSERTION(NS_SUCCEEDED(rv), "unable to get open attribute");    if (NS_FAILED(rv)) return PR_FALSE;    if (rv == NS_CONTENT_ATTR_HAS_VALUE) {        if (value == NS_LITERAL_STRING("true"))            return PR_TRUE;    }        return PR_FALSE;}