зеркало из https://github.com/mozilla/gecko-dev.git
Bug 99461 and it's ilk. Remove hack that blasts tables into the same space. r=dbaron, sr=attinasi.
This commit is contained in:
Родитель
91f5477965
Коммит
c92c1f3024
|
@ -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,19 +886,12 @@ 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();
|
||||
}
|
||||
}
|
||||
|
||||
// Assign an x and y coordinate to the floater. Note that the x,y
|
||||
// coordinates are computed <b>relative to the translation in the
|
||||
|
|
|
@ -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,19 +886,12 @@ 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();
|
||||
}
|
||||
}
|
||||
|
||||
// Assign an x and y coordinate to the floater. Note that the x,y
|
||||
// coordinates are computed <b>relative to the translation in the
|
||||
|
|
Загрузка…
Ссылка в новой задаче