printf(": ClearPastFloaters: mPrevBottomMargin=%d saveY=%d oldY=%d newY=%d deltaY=%d\n",
PRINTF(": ClearPastFloaters: mPrevBottomMargin=%d saveY=%d oldY=%d newY=%d deltaY=%d\n",
nsBlockReflowState::ClearPastFloaters(PRUint8 aBreakType){  nscoord saveY, deltaY;  PRBool applyTopMargin = PR_FALSE;  switch (aBreakType) {  case NS_STYLE_CLEAR_LEFT:  case NS_STYLE_CLEAR_RIGHT:  case NS_STYLE_CLEAR_LEFT_AND_RIGHT:    // Apply the previous margin before clearing    saveY = mY + mPrevBottomMargin;    ClearFloaters(saveY, aBreakType);#ifdef NOISY_FLOATER_CLEARING    nsFrame::ListTag(stdout, mBlock);    printf(": ClearPastFloaters: mPrevBottomMargin=%d saveY=%d oldY=%d newY=%d deltaY=%d\n",           mPrevBottomMargin, saveY, saveY - mPrevBottomMargin, mY,           mY - saveY);#endif    // Determine how far we just moved. If we didn't move then there    // was nothing to clear to don't mess with the normal margin    // collapsing behavior. In either case we need to restore the Y    // coordinate to what it was before the clear.    deltaY = mY - saveY;    if (0 != deltaY) {      // Pretend that the distance we just moved is a previous      // blocks bottom margin. Note that GetAvailableSpace has been      // done so that the available space calculations will be done      // after clearing the appropriate floaters.      //      // What we are doing here is applying CSS2 section 9.5.2's      // rules for clearing - "The top margin of the generated box      // is increased enough that the top border edge is below the      // bottom outer edge of the floating boxes..."      //      // What this will do is cause the top-margin of the block      // frame we are about to reflow to be collapsed with that      // distance.      mPrevBottomMargin = deltaY;      mY = saveY;      // Force margin to be applied in this circumstance      applyTopMargin = PR_TRUE;    }    else {      // Put aState.mY back to its original value since no clearing      // happened. That way the previous blocks bottom margin will      // be applied properly.      mY = saveY - mPrevBottomMargin;    }    break;  }  return applyTopMargin;}