PRBool isLeftFloater; FlowAndPlaceFloater(fc, &isLeftFloater, aReflowStatus);
PlaceFloater(aPlaceholder);
nsBlockReflowState::AddFloater(nsLineLayout&       aLineLayout,                               nsPlaceholderFrame* aPlaceholder,                               PRBool              aInitialReflow,                               nsReflowStatus&     aReflowStatus){  NS_PRECONDITION(mBlock->end_lines() != mCurrentLine, "null ptr");  aReflowStatus = NS_FRAME_COMPLETE;  // Allocate a nsFloaterCache for the floater  nsFloaterCache* fc = mFloaterCacheFreeList.Alloc();  fc->mPlaceholder = aPlaceholder;  fc->mIsCurrentLineFloater = aLineLayout.CanPlaceFloaterNow();  // Now place the floater immediately if possible. Otherwise stash it  // away in mPendingFloaters and place it later.  if (fc->mIsCurrentLineFloater) {    // Record this floater in the current-line list    mCurrentLineFloaters.Append(fc);    // Because we are in the middle of reflowing a placeholder frame    // within a line (and possibly nested in an inline frame or two    // that's a child of our block) we need to restore the space    // manager's translation to the space that the block resides in    // before placing the floater.    nscoord ox, oy;    mSpaceManager->GetTranslation(ox, oy);    nscoord dx = ox - mSpaceManagerX;    nscoord dy = oy - mSpaceManagerY;    mSpaceManager->Translate(-dx, -dy);    // And then place it    PRBool isLeftFloater;    FlowAndPlaceFloater(fc, &isLeftFloater, aReflowStatus);        // Pass on updated available space to the current inline reflow engine    GetAvailableSpace();    aLineLayout.UpdateBand(mAvailSpaceRect.x + BorderPadding().left, mY,                           GetFlag(BRS_UNCONSTRAINEDWIDTH) ? NS_UNCONSTRAINEDSIZE : mAvailSpaceRect.width,                           mAvailSpaceRect.height,                           isLeftFloater,                           aPlaceholder->GetOutOfFlowFrame());    // Restore coordinate system    mSpaceManager->Translate(dx, dy);  }  else {    // This floater will be placed after the line is done (it is a    // below-current-line floater).    mBelowCurrentLineFloaters.Append(fc);  }}