bug 588 (text justification) for Robert O'Callahan <roc+moz@cs.cmu.edu>
r=buster bug 18545 ([FLOAT] Problem Centering <TABLE> with <DIV> tag) r=troy bugs 18827, 19579, 22327 24782, 26512, 30124, 31849, 32846 (floater behavior wrong) The primary change here is to determine if a block is impacted by a floater, and if so mark the block's lines dirty when appropriate. r=troy no bug number. performance work. reduced the size of some reflow data structures by collapsing multiple fields into a single bit field. r=troy git-svn-id: svn://10.0.0.236/trunk@66201 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -81,6 +81,10 @@ nsBlockBandData::GetAvailableSpace(nscoord aY, nsRect& aResult)
|
||||
// between any left and right floaters.
|
||||
ComputeAvailSpaceRect();
|
||||
aResult = mAvailSpace;
|
||||
#ifdef REALLY_NOISY_COMPUTEAVAILSPACERECT
|
||||
printf("nsBBD %p GetAvailableSpace(%d) returing (%d, %d, %d, %d)\n",
|
||||
this, aY, aResult.x, aResult.y, aResult.width, aResult.height);
|
||||
#endif
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
@@ -134,7 +138,7 @@ void
|
||||
nsBlockBandData::ComputeAvailSpaceRect()
|
||||
{
|
||||
#ifdef REALLY_NOISY_COMPUTEAVAILSPACERECT
|
||||
printf("nsBlockBandData::ComputeAvailSpaceRect %p \n", this);
|
||||
printf("nsBlockBandData::ComputeAvailSpaceRect %p with count %d\n", this, mCount);
|
||||
#endif
|
||||
if (0 == mCount) {
|
||||
mAvailSpace.x = 0;
|
||||
@@ -248,6 +252,11 @@ nsBlockBandData::ComputeAvailSpaceRect()
|
||||
if (NS_UNCONSTRAINEDSIZE == mSpace.width) {
|
||||
mAvailSpace.width = NS_UNCONSTRAINEDSIZE;
|
||||
}
|
||||
#ifdef REALLY_NOISY_COMPUTEAVAILSPACERECT
|
||||
printf(" ComputeAvailSpaceRect settting state mAvailSpace (%d,%d,%d,%d)\n",
|
||||
mAvailSpace.x, mAvailSpace.y, mAvailSpace.width, mAvailSpace.height);
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -471,3 +480,15 @@ nsBlockBandData::GetMaxElementSize(nsIPresContext* aPresContext,
|
||||
*aWidthResult = maxWidth;
|
||||
*aHeightResult = maxHeight;
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
void nsBlockBandData::List()
|
||||
{
|
||||
printf("nsBlockBandData %p sm=%p, sm coord = (%d,%d), mSpace = (%d,%d)\n",
|
||||
this, mSpaceManager, mSpaceManagerX, mSpaceManagerY,
|
||||
mSpace.width, mSpace.height);
|
||||
printf(" availSpace=(%d, %d, %d, %d), floaters l=%d r=%d\n",
|
||||
mAvailSpace.x, mAvailSpace.y, mAvailSpace.width, mAvailSpace.height,
|
||||
mLeftFloaters, mRightFloaters);
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user