| Index: Source/core/rendering/RenderMultiColumnFlowThread.cpp
|
| diff --git a/Source/core/rendering/RenderMultiColumnFlowThread.cpp b/Source/core/rendering/RenderMultiColumnFlowThread.cpp
|
| index 2bf3688076bea847ab957e761b7e1b2a44a64c28..5e3c26f867c93f802db79296e3b408e9aa4a5fa7 100644
|
| --- a/Source/core/rendering/RenderMultiColumnFlowThread.cpp
|
| +++ b/Source/core/rendering/RenderMultiColumnFlowThread.cpp
|
| @@ -95,14 +95,25 @@ void RenderMultiColumnFlowThread::autoGenerateRegionsToBlockOffset(LayoutUnit /*
|
| firstSet = RenderMultiColumnSet::createAnonymous(this);
|
| firstSet->setStyle(RenderStyle::createAnonymousStyleWithDisplay(parentBlock->style(), BLOCK));
|
| parentBlock->RenderBlock::addChild(firstSet);
|
| -
|
| - // Even though we aren't placed yet, we can go ahead and set up our size.
|
| - firstSet->updateLogicalWidth();
|
| - firstSet->updateLogicalHeight();
|
|
|
| - firstSet->setRequiresBalancing(parentBlock->requiresBalancing());
|
| -
|
| + // Even though we aren't placed yet, we can go ahead and set up our size. At this point we're
|
| + // typically in the middle of laying out the thread, attempting to paginate, and we need to do
|
| + // some rudimentary "layout" of the set now, so that pagination will work.
|
| + firstSet->prepareForLayout();
|
| +
|
| validateRegions();
|
| }
|
|
|
| +void RenderMultiColumnFlowThread::setPageBreak(LayoutUnit offset, LayoutUnit spaceShortage)
|
| +{
|
| + if (RenderMultiColumnSet* multicolSet = toRenderMultiColumnSet(regionAtBlockOffset(offset)))
|
| + multicolSet->recordSpaceShortage(spaceShortage);
|
| +}
|
| +
|
| +void RenderMultiColumnFlowThread::updateMinimumPageHeight(LayoutUnit offset, LayoutUnit minHeight)
|
| +{
|
| + if (RenderMultiColumnSet* multicolSet = toRenderMultiColumnSet(regionAtBlockOffset(offset)))
|
| + multicolSet->updateMinimumColumnHeight(minHeight);
|
| +}
|
| +
|
| }
|
|
|