nsresult rv;  if (aAttribute == nsHTMLAtoms::rows && aNameSpaceID == kNameSpaceID_None) { PRInt32 oldRows = mNumRows; delete [] mRowSpecs; mRowSpecs = nsnull; mNumRows = 0;  ParseRowCol(aValue, mNumRows, &mRowSpecs);  if (mNumRows != oldRows) { mCurrentRowColHint = NS_STYLE_HINT_FRAMECHANGE; } } else if (aAttribute == nsHTMLAtoms::cols && aNameSpaceID == kNameSpaceID_None) { PRInt32 oldCols = mNumCols; delete [] mColSpecs; mColSpecs = nsnull; mNumCols = 0;  ParseRowCol(aValue, mNumCols, &mColSpecs);  if (mNumCols != oldCols) { mCurrentRowColHint = NS_STYLE_HINT_FRAMECHANGE; } }  rv = nsGenericHTMLContainerElement::SetAttr(aNameSpaceID, aAttribute, aValue, aNotify); mCurrentRowColHint = NS_STYLE_HINT_REFLOW;  return rv;
return nsGenericHTMLContainerElement::SetAttr(aNodeInfo, aValue, aNotify);
nsHTMLFrameSetElement::SetAttr(PRInt32 aNameSpaceID,                               nsIAtom* aAttribute,                               const nsAString& aValue,                               PRBool aNotify){  nsresult rv;  /* The main goal here is to see whether the _number_ of rows or   *  columns has changed.  If it has, we need to reframe; otherwise   *  we want to reflow.  So we set mCurrentRowColHint here, then call   *  nsGenericHTMLContainerElement::SetAttr, which will end up   *  calling GetAttributeChangeHint and notifying layout with that   *  hint.  Once nsGenericHTMLContainerElement::SetAttr returns, we   *  want to go back to our normal hint, which is   *  NS_STYLE_HINT_REFLOW.   */  if (aAttribute == nsHTMLAtoms::rows && aNameSpaceID == kNameSpaceID_None) {    PRInt32 oldRows = mNumRows;    delete [] mRowSpecs;    mRowSpecs = nsnull;    mNumRows = 0;    ParseRowCol(aValue, mNumRows, &mRowSpecs);        if (mNumRows != oldRows) {      mCurrentRowColHint = NS_STYLE_HINT_FRAMECHANGE;    }  } else if (aAttribute == nsHTMLAtoms::cols &&             aNameSpaceID == kNameSpaceID_None) {    PRInt32 oldCols = mNumCols;    delete [] mColSpecs;    mColSpecs = nsnull;    mNumCols = 0;    ParseRowCol(aValue, mNumCols, &mColSpecs);    if (mNumCols != oldCols) {      mCurrentRowColHint = NS_STYLE_HINT_FRAMECHANGE;    }  }    rv = nsGenericHTMLContainerElement::SetAttr(aNameSpaceID,                                              aAttribute,                                              aValue,                                              aNotify);  mCurrentRowColHint = NS_STYLE_HINT_REFLOW;    return rv;}