зеркало из 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);
|
IndentBy(stdout, gNoiseIndent + 1);
|
||||||
printf("skipped: line=%p next=%p %s %s %s%s%s breakType=%d xmost=%d\n",
|
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.get()),
|
||||||
NS_STATIC_CAST(void*, line.next().get()),
|
NS_STATIC_CAST(void*, (line.next() != end_lines() ? line.next().get() : nsnull)),
|
||||||
line->IsBlock() ? "block" : "inline",
|
line->IsBlock() ? "block" : "inline",
|
||||||
"wrapping",
|
"wrapping",
|
||||||
line->HasBreak() ? "has-break " : "",
|
line->HasBreak() ? "has-break " : "",
|
||||||
|
|
|
@ -831,10 +831,6 @@ nsBlockReflowState::FlowAndPlaceFloater(nsFloaterCache* aFloaterCache,
|
||||||
// content.
|
// content.
|
||||||
nscoord saveY = mY;
|
nscoord saveY = mY;
|
||||||
|
|
||||||
// Grab the compatibility mode
|
|
||||||
nsCompatibility mode;
|
|
||||||
mPresContext->GetCompatibilityMode(&mode);
|
|
||||||
|
|
||||||
nsIFrame* floater = aFloaterCache->mPlaceholder->GetOutOfFlowFrame();
|
nsIFrame* floater = aFloaterCache->mPlaceholder->GetOutOfFlowFrame();
|
||||||
|
|
||||||
// Grab the floater's display information
|
// Grab the floater's display information
|
||||||
|
@ -890,18 +886,11 @@ nsBlockReflowState::FlowAndPlaceFloater(nsFloaterCache* aFloaterCache,
|
||||||
(NS_STYLE_FLOAT_RIGHT == floaterDisplay->mFloats),
|
(NS_STYLE_FLOAT_RIGHT == floaterDisplay->mFloats),
|
||||||
"invalid float type");
|
"invalid float type");
|
||||||
|
|
||||||
// In backwards compatibility mode, we don't bother to see if a
|
// Can the floater fit here?
|
||||||
// floated table can ``really'' fit: in old browsers, floating
|
while (! CanPlaceFloater(region, floaterDisplay->mFloats)) {
|
||||||
// tables are horizontally stacked regardless of available space.
|
// Nope. Advance to the next band.
|
||||||
// (See bug 43086 about tables vs. non-tables.)
|
mY += mAvailSpaceRect.height;
|
||||||
if ((eCompatibility_NavQuirks != mode) ||
|
GetAvailableSpace();
|
||||||
(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
|
// 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);
|
IndentBy(stdout, gNoiseIndent + 1);
|
||||||
printf("skipped: line=%p next=%p %s %s %s%s%s breakType=%d xmost=%d\n",
|
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.get()),
|
||||||
NS_STATIC_CAST(void*, line.next().get()),
|
NS_STATIC_CAST(void*, (line.next() != end_lines() ? line.next().get() : nsnull)),
|
||||||
line->IsBlock() ? "block" : "inline",
|
line->IsBlock() ? "block" : "inline",
|
||||||
"wrapping",
|
"wrapping",
|
||||||
line->HasBreak() ? "has-break " : "",
|
line->HasBreak() ? "has-break " : "",
|
||||||
|
|
|
@ -831,10 +831,6 @@ nsBlockReflowState::FlowAndPlaceFloater(nsFloaterCache* aFloaterCache,
|
||||||
// content.
|
// content.
|
||||||
nscoord saveY = mY;
|
nscoord saveY = mY;
|
||||||
|
|
||||||
// Grab the compatibility mode
|
|
||||||
nsCompatibility mode;
|
|
||||||
mPresContext->GetCompatibilityMode(&mode);
|
|
||||||
|
|
||||||
nsIFrame* floater = aFloaterCache->mPlaceholder->GetOutOfFlowFrame();
|
nsIFrame* floater = aFloaterCache->mPlaceholder->GetOutOfFlowFrame();
|
||||||
|
|
||||||
// Grab the floater's display information
|
// Grab the floater's display information
|
||||||
|
@ -890,18 +886,11 @@ nsBlockReflowState::FlowAndPlaceFloater(nsFloaterCache* aFloaterCache,
|
||||||
(NS_STYLE_FLOAT_RIGHT == floaterDisplay->mFloats),
|
(NS_STYLE_FLOAT_RIGHT == floaterDisplay->mFloats),
|
||||||
"invalid float type");
|
"invalid float type");
|
||||||
|
|
||||||
// In backwards compatibility mode, we don't bother to see if a
|
// Can the floater fit here?
|
||||||
// floated table can ``really'' fit: in old browsers, floating
|
while (! CanPlaceFloater(region, floaterDisplay->mFloats)) {
|
||||||
// tables are horizontally stacked regardless of available space.
|
// Nope. Advance to the next band.
|
||||||
// (See bug 43086 about tables vs. non-tables.)
|
mY += mAvailSpaceRect.height;
|
||||||
if ((eCompatibility_NavQuirks != mode) ||
|
GetAvailableSpace();
|
||||||
(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
|
// Assign an x and y coordinate to the floater. Note that the x,y
|
||||||
|
|
Загрузка…
Ссылка в новой задаче