if (aTopLevelChange < frameChange) { aTopLevelChange = frameChange; }
NS_UpdateHint(aTopLevelChange, frameChange);
FrameManager::ComputeStyleChangeFor(nsIPresContext* aPresContext,                                    nsIFrame* aFrame,                                     PRInt32 aAttrNameSpaceID,                                    nsIAtom* aAttribute,                                    nsStyleChangeList& aChangeList,                                    PRInt32 aMinChange,                                    PRInt32& aTopLevelChange){  NS_ENSURE_TRUE(mPresShell, NS_ERROR_NOT_AVAILABLE);  aTopLevelChange = NS_STYLE_HINT_NONE;  nsIFrame* frame = aFrame;#ifdef DEBUG  {    nsIFrame* prevInFlow;    frame->GetPrevInFlow(&prevInFlow);    NS_ASSERTION(!prevInFlow, "must start with the first in flow");  }#endif  do {    PRInt32 frameChange;    ReResolveStyleContext(aPresContext, frame, nsnull,                          aAttrNameSpaceID, aAttribute,                          aChangeList, aMinChange, frameChange);#ifdef NS_DEBUG    VerifyStyleTree(aPresContext, frame, nsnull);#endif    if (aTopLevelChange < frameChange) {      aTopLevelChange = frameChange;    }    if (aTopLevelChange >= NS_STYLE_HINT_FRAMECHANGE) {      // If it's going to cause a framechange, then don't bother with      // the continutaions since they'll be clobbered by the frame      // reconstruct anyway.#ifdef NS_DEBUG      nsIFrame* prevInFlow;      frame->GetPrevInFlow(&prevInFlow);      NS_ASSERTION(!prevInFlow, "continuing frame had more severe impact than first-in-flow");#endif      break;    }    frame->GetNextInFlow(&frame);  } while (frame);  return NS_OK;}