rv = NS_NewHTMLTextAreaElement(aResult, aNodeInfo);
MakeContentObject(nsHTMLTag aNodeType, nsINodeInfo *aNodeInfo,                  nsIDOMHTMLFormElement* aForm, nsIDocShell* aDocShell,                  nsIHTMLContent** aResult, PRBool aInsideNoXXXTag,                  PRBool aFromParser){  nsresult rv = NS_OK;  switch (aNodeType) {  case eHTMLTag_a:    rv = NS_NewHTMLAnchorElement(aResult, aNodeInfo);    break;  case eHTMLTag_applet:    rv = NS_NewHTMLAppletElement(aResult, aNodeInfo);    break;  case eHTMLTag_area:    rv = NS_NewHTMLAreaElement(aResult, aNodeInfo);    break;  case eHTMLTag_base:    rv = NS_NewHTMLBaseElement(aResult, aNodeInfo);    break;  case eHTMLTag_basefont:    rv = NS_NewHTMLBaseFontElement(aResult, aNodeInfo);    break;  case eHTMLTag_blockquote:    rv = NS_NewHTMLQuoteElement(aResult, aNodeInfo);    break;  case eHTMLTag_body:    rv = NS_NewHTMLBodyElement(aResult, aNodeInfo);    break;  case eHTMLTag_br:    rv = NS_NewHTMLBRElement(aResult, aNodeInfo);    break;  case eHTMLTag_button:    rv = NS_NewHTMLButtonElement(aResult, aNodeInfo);    if (!aInsideNoXXXTag) {      SetForm(*aResult, aForm);    }    break;  case eHTMLTag_caption:    rv = NS_NewHTMLTableCaptionElement(aResult, aNodeInfo);    break;  case eHTMLTag_col:    rv = NS_NewHTMLTableColElement(aResult, aNodeInfo);    break;  case eHTMLTag_colgroup:    rv = NS_NewHTMLTableColGroupElement(aResult, aNodeInfo);    break;  case eHTMLTag_dir:    rv = NS_NewHTMLDirectoryElement(aResult, aNodeInfo);    break;  case eHTMLTag_del:    rv = NS_NewHTMLDelElement(aResult, aNodeInfo);    break;  case eHTMLTag_div:  case eHTMLTag_marquee:  case eHTMLTag_noembed:  case eHTMLTag_noframes:  case eHTMLTag_noscript:  case eHTMLTag_parsererror:  case eHTMLTag_sourcetext:    rv = NS_NewHTMLDivElement(aResult, aNodeInfo);    break;  case eHTMLTag_dl:    rv = NS_NewHTMLDListElement(aResult, aNodeInfo);    break;  case eHTMLTag_embed:    rv = NS_NewHTMLEmbedElement(aResult, aNodeInfo);    break;  case eHTMLTag_fieldset:    rv = NS_NewHTMLFieldSetElement(aResult, aNodeInfo);    if (!aInsideNoXXXTag) {      SetForm(*aResult, aForm);    }    break;  case eHTMLTag_font:    rv = NS_NewHTMLFontElement(aResult, aNodeInfo);    break;  case eHTMLTag_form:    // the form was already created    if (aForm) {      rv = CallQueryInterface(aForm, aResult);    } else {      rv = NS_NewHTMLFormElement(aResult, aNodeInfo);    }    break;  case eHTMLTag_frame:    rv = NS_NewHTMLFrameElement(aResult, aNodeInfo);    break;  case eHTMLTag_frameset:    rv = NS_NewHTMLFrameSetElement(aResult, aNodeInfo);    break;  case eHTMLTag_h1:  case eHTMLTag_h2:  case eHTMLTag_h3:  case eHTMLTag_h4:  case eHTMLTag_h5:  case eHTMLTag_h6:    rv = NS_NewHTMLHeadingElement(aResult, aNodeInfo);    break;  case eHTMLTag_head:    rv = NS_NewHTMLHeadElement(aResult, aNodeInfo);    break;  case eHTMLTag_hr:    rv = NS_NewHTMLHRElement(aResult, aNodeInfo);    break;  case eHTMLTag_html:    rv = NS_NewHTMLHtmlElement(aResult, aNodeInfo);    break;  case eHTMLTag_iframe:    rv = NS_NewHTMLIFrameElement(aResult, aNodeInfo);    break;  case eHTMLTag_img:    rv = NS_NewHTMLImageElement(aResult, aNodeInfo);    break;  case eHTMLTag_input:    rv = NS_NewHTMLInputElement(aResult, aNodeInfo, aFromParser);    if (!aInsideNoXXXTag) {      SetForm(*aResult, aForm);    }    break;  case eHTMLTag_ins:    rv = NS_NewHTMLInsElement(aResult, aNodeInfo);    break;  case eHTMLTag_isindex:    rv = NS_NewHTMLIsIndexElement(aResult, aNodeInfo);    break;  case eHTMLTag_label:    rv = NS_NewHTMLLabelElement(aResult, aNodeInfo);    if (!aInsideNoXXXTag) {      SetForm(*aResult, aForm);    }    break;  case eHTMLTag_legend:    rv = NS_NewHTMLLegendElement(aResult, aNodeInfo);    if (!aInsideNoXXXTag) {      SetForm(*aResult, aForm);    }    break;  case eHTMLTag_li:    rv = NS_NewHTMLLIElement(aResult, aNodeInfo);    break;  case eHTMLTag_link:    rv = NS_NewHTMLLinkElement(aResult, aNodeInfo);    break;  case eHTMLTag_map:    rv = NS_NewHTMLMapElement(aResult, aNodeInfo);    break;  case eHTMLTag_menu:    rv = NS_NewHTMLMenuElement(aResult, aNodeInfo);    break;  case eHTMLTag_meta:    rv = NS_NewHTMLMetaElement(aResult, aNodeInfo);    break;  case eHTMLTag_object:    rv = NS_NewHTMLObjectElement(aResult, aNodeInfo);    if (!aInsideNoXXXTag) {      SetForm(*aResult, aForm);    }    break;  case eHTMLTag_ol:    rv = NS_NewHTMLOListElement(aResult, aNodeInfo);    break;  case eHTMLTag_optgroup:    rv = NS_NewHTMLOptGroupElement(aResult, aNodeInfo);    break;  case eHTMLTag_option:    rv = NS_NewHTMLOptionElement(aResult, aNodeInfo);    break;  case eHTMLTag_p:    rv = NS_NewHTMLParagraphElement(aResult, aNodeInfo);    break;  case eHTMLTag_pre:    rv = NS_NewHTMLPreElement(aResult, aNodeInfo);    break;  case eHTMLTag_param:    rv = NS_NewHTMLParamElement(aResult, aNodeInfo);    break;  case eHTMLTag_q:    rv = NS_NewHTMLQuoteElement(aResult, aNodeInfo);    break;  case eHTMLTag_script:    rv = NS_NewHTMLScriptElement(aResult, aNodeInfo);    break;  case eHTMLTag_select:    rv = NS_NewHTMLSelectElement(aResult, aNodeInfo, aFromParser);    if (!aInsideNoXXXTag) {      SetForm(*aResult, aForm);    }    break;  case eHTMLTag_spacer:    rv = NS_NewHTMLSpacerElement(aResult, aNodeInfo);    break;  case eHTMLTag_style:    rv = NS_NewHTMLStyleElement(aResult, aNodeInfo);    break;  case eHTMLTag_table:    rv = NS_NewHTMLTableElement(aResult, aNodeInfo);    break;  case eHTMLTag_tbody:  case eHTMLTag_thead:  case eHTMLTag_tfoot:    rv = NS_NewHTMLTableSectionElement(aResult, aNodeInfo);    break;  case eHTMLTag_td:  case eHTMLTag_th:    rv = NS_NewHTMLTableCellElement(aResult, aNodeInfo);    break;  case eHTMLTag_textarea:    rv = NS_NewHTMLTextAreaElement(aResult, aNodeInfo);    if (!aInsideNoXXXTag) {      SetForm(*aResult, aForm);    }    break;  case eHTMLTag_title:    rv = NS_NewHTMLTitleElement(aResult, aNodeInfo);    break;  case eHTMLTag_tr:    rv = NS_NewHTMLTableRowElement(aResult, aNodeInfo);    break;  case eHTMLTag_ul:    rv = NS_NewHTMLUListElement(aResult, aNodeInfo);    break;  case eHTMLTag_wbr:    rv = NS_NewHTMLWBRElement(aResult, aNodeInfo);    break;  case eHTMLTag_unknown:  case eHTMLTag_userdefined:    rv = NS_NewHTMLUnknownElement(aResult, aNodeInfo);    break;  default:    rv = NS_NewHTMLSpanElement(aResult, aNodeInfo);    break;  }  return rv;}