| Index: Source/core/rendering/RenderMultiColumnSpannerPlaceholder.cpp | 
| diff --git a/Source/core/rendering/RenderMultiColumnSpannerPlaceholder.cpp b/Source/core/rendering/RenderMultiColumnSpannerPlaceholder.cpp | 
| index b0555a5b2af6c9766a4a282382d2e39e16ee7c6e..f028dcf4b871ce38e4399eadaad1ad898b759ece 100644 | 
| --- a/Source/core/rendering/RenderMultiColumnSpannerPlaceholder.cpp | 
| +++ b/Source/core/rendering/RenderMultiColumnSpannerPlaceholder.cpp | 
| @@ -7,12 +7,23 @@ | 
|  | 
| namespace blink { | 
|  | 
| +static void copyMarginProperties(RenderStyle* placeholderStyle, const RenderStyle* spannerStyle) | 
| +{ | 
| +    // We really only need the block direction margins, but there are no setters for that in | 
| +    // RenderStyle. Just copy all margin sides. The inline ones don't matter anyway. | 
| +    placeholderStyle->setMarginLeft(spannerStyle->marginLeft()); | 
| +    placeholderStyle->setMarginRight(spannerStyle->marginRight()); | 
| +    placeholderStyle->setMarginTop(spannerStyle->marginTop()); | 
| +    placeholderStyle->setMarginBottom(spannerStyle->marginBottom()); | 
| +} | 
| + | 
| RenderMultiColumnSpannerPlaceholder* RenderMultiColumnSpannerPlaceholder::createAnonymous(RenderStyle* parentStyle, RenderBox* rendererInFlowThread) | 
| { | 
| RenderMultiColumnSpannerPlaceholder* newSpanner = new RenderMultiColumnSpannerPlaceholder(rendererInFlowThread); | 
| Document& document = rendererInFlowThread->document(); | 
| newSpanner->setDocumentForAnonymous(&document); | 
| RefPtr<RenderStyle> newStyle = RenderStyle::createAnonymousStyleWithDisplay(parentStyle, BLOCK); | 
| +    copyMarginProperties(newStyle.get(), rendererInFlowThread->style()); | 
| newSpanner->setStyle(newStyle); | 
| return newSpanner; | 
| } | 
| @@ -32,6 +43,13 @@ void RenderMultiColumnSpannerPlaceholder::spannerWillBeRemoved() | 
| // |this| should be destroyed by now. | 
| } | 
|  | 
| +void RenderMultiColumnSpannerPlaceholder::updateMarginProperties() | 
| +{ | 
| +    RefPtr<RenderStyle> newStyle = RenderStyle::clone(style()); | 
| +    copyMarginProperties(newStyle.get(), m_rendererInFlowThread->style()); | 
| +    setStyle(newStyle); | 
| +} | 
| + | 
| void RenderMultiColumnSpannerPlaceholder::willBeRemovedFromTree() | 
| { | 
| if (m_rendererInFlowThread) | 
| @@ -62,6 +80,8 @@ void RenderMultiColumnSpannerPlaceholder::computeLogicalHeight(LayoutUnit, Layou | 
| { | 
| computedValues.m_extent = m_rendererInFlowThread->logicalHeight(); | 
| computedValues.m_position = logicalTop; | 
| +    computedValues.m_margins.m_before = marginBefore(); | 
| +    computedValues.m_margins.m_after = marginAfter(); | 
| } | 
|  | 
| void RenderMultiColumnSpannerPlaceholder::invalidateTreeIfNeeded(const PaintInvalidationState& paintInvalidationState) | 
|  |