Bug 99461 and it's ilk. Remove hack that blasts tables into the same space. r=dbaron, sr=attinasi.

This commit is contained in:
waterson%netscape.com 2002-01-09 03:01:13 +00:00
Родитель 91f5477965
Коммит c92c1f3024
4 изменённых файлов: 12 добавлений и 34 удалений

Просмотреть файл

@ -1900,7 +1900,7 @@ nsBlockFrame::PrepareResizeReflow(nsBlockReflowState& aState)
IndentBy(stdout, gNoiseIndent + 1);
printf("skipped: line=%p next=%p %s %s %s%s%s breakType=%d xmost=%d\n",
NS_STATIC_CAST(void*, line.get()),
NS_STATIC_CAST(void*, line.next().get()),
NS_STATIC_CAST(void*, (line.next() != end_lines() ? line.next().get() : nsnull)),
line->IsBlock() ? "block" : "inline",
"wrapping",
line->HasBreak() ? "has-break " : "",

Просмотреть файл

@ -831,10 +831,6 @@ nsBlockReflowState::FlowAndPlaceFloater(nsFloaterCache* aFloaterCache,
// content.
nscoord saveY = mY;
// Grab the compatibility mode
nsCompatibility mode;
mPresContext->GetCompatibilityMode(&mode);
nsIFrame* floater = aFloaterCache->mPlaceholder->GetOutOfFlowFrame();
// Grab the floater's display information
@ -890,18 +886,11 @@ nsBlockReflowState::FlowAndPlaceFloater(nsFloaterCache* aFloaterCache,
(NS_STYLE_FLOAT_RIGHT == floaterDisplay->mFloats),
"invalid float type");
// In backwards compatibility mode, we don't bother to see if a
// floated table can ``really'' fit: in old browsers, floating
// tables are horizontally stacked regardless of available space.
// (See bug 43086 about tables vs. non-tables.)
if ((eCompatibility_NavQuirks != mode) ||
(NS_STYLE_DISPLAY_TABLE != floaterDisplay->mDisplay)) {
// Can the floater fit here?
while (! CanPlaceFloater(region, floaterDisplay->mFloats)) {
// Nope. Advance to the next band.
mY += mAvailSpaceRect.height;
GetAvailableSpace();
}
// Can the floater fit here?
while (! CanPlaceFloater(region, floaterDisplay->mFloats)) {
// Nope. Advance to the next band.
mY += mAvailSpaceRect.height;
GetAvailableSpace();
}
// Assign an x and y coordinate to the floater. Note that the x,y

Просмотреть файл

@ -1900,7 +1900,7 @@ nsBlockFrame::PrepareResizeReflow(nsBlockReflowState& aState)
IndentBy(stdout, gNoiseIndent + 1);
printf("skipped: line=%p next=%p %s %s %s%s%s breakType=%d xmost=%d\n",
NS_STATIC_CAST(void*, line.get()),
NS_STATIC_CAST(void*, line.next().get()),
NS_STATIC_CAST(void*, (line.next() != end_lines() ? line.next().get() : nsnull)),
line->IsBlock() ? "block" : "inline",
"wrapping",
line->HasBreak() ? "has-break " : "",

Просмотреть файл

@ -831,10 +831,6 @@ nsBlockReflowState::FlowAndPlaceFloater(nsFloaterCache* aFloaterCache,
// content.
nscoord saveY = mY;
// Grab the compatibility mode
nsCompatibility mode;
mPresContext->GetCompatibilityMode(&mode);
nsIFrame* floater = aFloaterCache->mPlaceholder->GetOutOfFlowFrame();
// Grab the floater's display information
@ -890,18 +886,11 @@ nsBlockReflowState::FlowAndPlaceFloater(nsFloaterCache* aFloaterCache,
(NS_STYLE_FLOAT_RIGHT == floaterDisplay->mFloats),
"invalid float type");
// In backwards compatibility mode, we don't bother to see if a
// floated table can ``really'' fit: in old browsers, floating
// tables are horizontally stacked regardless of available space.
// (See bug 43086 about tables vs. non-tables.)
if ((eCompatibility_NavQuirks != mode) ||
(NS_STYLE_DISPLAY_TABLE != floaterDisplay->mDisplay)) {
// Can the floater fit here?
while (! CanPlaceFloater(region, floaterDisplay->mFloats)) {
// Nope. Advance to the next band.
mY += mAvailSpaceRect.height;
GetAvailableSpace();
}
// Can the floater fit here?
while (! CanPlaceFloater(region, floaterDisplay->mFloats)) {
// Nope. Advance to the next band.
mY += mAvailSpaceRect.height;
GetAvailableSpace();
}
// Assign an x and y coordinate to the floater. Note that the x,y