else if (nsLayoutAtoms::tableCellFrame == aPseudoFrames.mLowestType) {
else if (IS_TABLE_CELL(aPseudoFrames.mLowestType)) {
ProcessPseudoFrames(nsIPresContext* aPresContext,                    nsPseudoFrames& aPseudoFrames,                    nsIAtom*        aHighestType,                    nsIFrame*&      aHighestFrame){  nsresult rv = NS_OK;  if (!aPresContext) return rv;  aHighestFrame = nsnull;  if (nsLayoutAtoms::tableFrame == aPseudoFrames.mLowestType) {    rv = ProcessPseudoTableFrame(aPresContext, aPseudoFrames, aHighestFrame);    if (nsLayoutAtoms::tableOuterFrame == aHighestType) return rv;        if (aPseudoFrames.mCellOuter.mFrame) {      rv = ProcessPseudoCellFrame(aPresContext, aPseudoFrames, aHighestFrame);      if (nsLayoutAtoms::tableCellFrame == aHighestType) return rv;    }    if (aPseudoFrames.mRow.mFrame) {      rv = ProcessPseudoFrame(aPresContext, aPseudoFrames.mRow, aHighestFrame);      if (nsLayoutAtoms::tableRowFrame == aHighestType) return rv;    }    if (aPseudoFrames.mRowGroup.mFrame) {      rv = ProcessPseudoFrame(aPresContext, aPseudoFrames.mRowGroup, aHighestFrame);      if (nsLayoutAtoms::tableRowGroupFrame == aHighestType) return rv;    }  }  else if (nsLayoutAtoms::tableRowGroupFrame == aPseudoFrames.mLowestType) {    rv = ProcessPseudoFrame(aPresContext, aPseudoFrames.mRowGroup, aHighestFrame);    if (nsLayoutAtoms::tableRowGroupFrame == aHighestType) return rv;    if (aPseudoFrames.mTableOuter.mFrame) {      rv = ProcessPseudoTableFrame(aPresContext, aPseudoFrames, aHighestFrame);      if (nsLayoutAtoms::tableOuterFrame == aHighestType) return rv;    }    if (aPseudoFrames.mCellOuter.mFrame) {      rv = ProcessPseudoCellFrame(aPresContext, aPseudoFrames, aHighestFrame);      if (nsLayoutAtoms::tableCellFrame == aHighestType) return rv;    }    if (aPseudoFrames.mRow.mFrame) {      rv = ProcessPseudoFrame(aPresContext, aPseudoFrames.mRow, aHighestFrame);      if (nsLayoutAtoms::tableRowFrame == aHighestType) return rv;    }  }  else if (nsLayoutAtoms::tableRowFrame == aPseudoFrames.mLowestType) {    rv = ProcessPseudoFrame(aPresContext, aPseudoFrames.mRow, aHighestFrame);    if (nsLayoutAtoms::tableRowFrame == aHighestType) return rv;    if (aPseudoFrames.mRowGroup.mFrame) {      rv = ProcessPseudoFrame(aPresContext, aPseudoFrames.mRowGroup, aHighestFrame);      if (nsLayoutAtoms::tableRowGroupFrame == aHighestType) return rv;    }    if (aPseudoFrames.mTableOuter.mFrame) {      rv = ProcessPseudoTableFrame(aPresContext, aPseudoFrames, aHighestFrame);      if (nsLayoutAtoms::tableOuterFrame == aHighestType) return rv;    }    if (aPseudoFrames.mCellOuter.mFrame) {      rv = ProcessPseudoCellFrame(aPresContext, aPseudoFrames, aHighestFrame);      if (nsLayoutAtoms::tableCellFrame == aHighestType) return rv;    }  }  else if (nsLayoutAtoms::tableCellFrame == aPseudoFrames.mLowestType) {    rv = ProcessPseudoCellFrame(aPresContext, aPseudoFrames, aHighestFrame);    if (nsLayoutAtoms::tableCellFrame == aHighestType) return rv;    if (aPseudoFrames.mRow.mFrame) {      rv = ProcessPseudoFrame(aPresContext, aPseudoFrames.mRow, aHighestFrame);      if (nsLayoutAtoms::tableRowFrame == aHighestType) return rv;    }    if (aPseudoFrames.mRowGroup.mFrame) {      rv = ProcessPseudoFrame(aPresContext, aPseudoFrames.mRowGroup, aHighestFrame);      if (nsLayoutAtoms::tableRowGroupFrame == aHighestType) return rv;    }    if (aPseudoFrames.mTableOuter.mFrame) {      rv = ProcessPseudoTableFrame(aPresContext, aPseudoFrames, aHighestFrame);    }  }  else if (aPseudoFrames.mColGroup.mFrame) {     // process the col group frame    rv = ProcessPseudoFrame(aPresContext, aPseudoFrames.mColGroup, aHighestFrame);  }  return rv;}