nsIFrame* kid; nsresult rv = FirstChild(nsnull, &kid); while (NS_SUCCEEDED(rv) && nsnull != kid) { kid->SetSelected(nsnull,aSelected,eSpreadDown);  rv = kid->GetNextSibling(&kid);
nsIFrame* kid = GetFirstChild(nsnull); while (kid) { kid->SetSelected(nsnull, aSelected, eSpreadDown); kid = kid->GetNextSibling();
nsTableFrame::SetSelected(nsIPresContext* aPresContext,                          nsIDOMRange *aRange,                          PRBool aSelected,                          nsSpread aSpread){#if 0  //traverse through children unselect tables  if ((aSpread == eSpreadDown)){    nsIFrame* kid;    nsresult rv = FirstChild(nsnull, &kid);    while (NS_SUCCEEDED(rv) && nsnull != kid) {      kid->SetSelected(nsnull,aSelected,eSpreadDown);      rv = kid->GetNextSibling(&kid);    }  }#endif  // Must call base class to set mSelected state and trigger repaint of frame  // Note that in current version, aRange and aSpread are ignored,  //   only this frame is considered  nsFrame::SetSelected(aPresContext, aRange, aSelected, aSpread);  return NS_OK;//return nsFrame::SetSelected(aRange,aSelected,eSpreadNone);  }