if (IsListNode(aParent) && (aTag == "__moz_text")) return PR_FALSE;  return nsEditor::CanContainTag(aParent, aTag);
if (!aParent) return PR_FALSE;  static nsAutoString ulTag = "ul"; static nsAutoString olTag = "ol"; static nsAutoString liTag = "li"; static nsAutoString bodyTag = "body"; static nsAutoString tdTag = "td"; static nsAutoString thTag = "th"; static nsAutoString bqTag = "blockquote";  nsCOMPtr<nsIAtom> pTagAtom = GetTag(aParent); nsAutoString pTag; pTagAtom->ToString(pTag);     if (aTag.EqualsIgnoreCase(ulTag) || aTag.EqualsIgnoreCase(olTag) ) { if (pTag.EqualsIgnoreCase(bodyTag) || pTag.EqualsIgnoreCase(tdTag) || pTag.EqualsIgnoreCase(thTag) || pTag.EqualsIgnoreCase(ulTag) || pTag.EqualsIgnoreCase(olTag) || pTag.EqualsIgnoreCase(liTag) || pTag.EqualsIgnoreCase(bqTag) ) { return PR_TRUE; } } else if (aTag.EqualsIgnoreCase(bqTag) ) { if (pTag.EqualsIgnoreCase(bodyTag) || pTag.EqualsIgnoreCase(tdTag) || pTag.EqualsIgnoreCase(thTag) || pTag.EqualsIgnoreCase(liTag) || pTag.EqualsIgnoreCase(bqTag) ) { return PR_TRUE; } } return PR_FALSE;
nsHTMLEditor::CanContainTag(nsIDOMNode* aParent, const nsString &aTag){  // CNavDTD gives some unwanted results.  We override them here.  // if parent is a list and tag is text, say "no".   if (IsListNode(aParent) && (aTag == "__moz_text"))    return PR_FALSE;  // else fall thru  return nsEditor::CanContainTag(aParent, aTag);}