| Index: Source/core/rendering/RenderBlockFlow.cpp
|
| diff --git a/Source/core/rendering/RenderBlockFlow.cpp b/Source/core/rendering/RenderBlockFlow.cpp
|
| index ace7c2d43f56633d9b8cdfd3900a51c68c072d3d..580c9b24546acd287f74bac660d43a247f1084a8 100644
|
| --- a/Source/core/rendering/RenderBlockFlow.cpp
|
| +++ b/Source/core/rendering/RenderBlockFlow.cpp
|
| @@ -42,6 +42,7 @@
|
| #include "core/rendering/RenderFlowThread.h"
|
| #include "core/rendering/RenderLayer.h"
|
| #include "core/rendering/RenderMultiColumnFlowThread.h"
|
| +#include "core/rendering/RenderMultiColumnSpannerPlaceholder.h"
|
| #include "core/rendering/RenderPagedFlowThread.h"
|
| #include "core/rendering/RenderText.h"
|
| #include "core/rendering/RenderView.h"
|
| @@ -1057,6 +1058,11 @@ void RenderBlockFlow::layoutBlockChildren(bool relayoutChildren, SubtreeLayoutSc
|
| adjustFloatingBlock(marginInfo);
|
| continue;
|
| }
|
| + if (child->isColumnSpanAll()) {
|
| + // This is not the containing block of the spanner. The spanner's placeholder will lay
|
| + // it out in due course.
|
| + continue;
|
| + }
|
|
|
| // Lay out the child.
|
| layoutBlockChild(*child, marginInfo, previousFloatLogicalBottom);
|
| @@ -1971,6 +1977,16 @@ void RenderBlockFlow::styleDidChange(StyleDifference diff, const RenderStyle* ol
|
| createOrDestroyMultiColumnFlowThreadIfNeeded(oldStyle);
|
| }
|
|
|
| +void RenderBlockFlow::updateBlockChildDirtyBitsBeforeLayout(bool relayoutChildren, RenderBox& child)
|
| +{
|
| + if (child.isRenderMultiColumnSpannerPlaceholder() && toRenderMultiColumnSpannerPlaceholder(child).rendererInFlowThread()->needsLayout()) {
|
| + // The containing block of a spanner is the multicol container (|this| block), but the spanner
|
| + // is laid out via its spanner set (|child|), so we need to make sure that we enter it.
|
| + child.setChildNeedsLayout(MarkOnlyThis);
|
| + }
|
| + RenderBlock::updateBlockChildDirtyBitsBeforeLayout(relayoutChildren, child);
|
| +}
|
| +
|
| void RenderBlockFlow::updateStaticInlinePositionForChild(RenderBox& child, LayoutUnit logicalTop)
|
| {
|
| if (child.style()->isOriginalDisplayInlineType())
|
|
|