Index: Source/core/rendering/RenderMultiColumnSpannerSet.cpp |
diff --git a/Source/core/rendering/RenderMultiColumnSpannerSet.cpp b/Source/core/rendering/RenderMultiColumnSpannerSet.cpp |
index ecd3760e570f979b2f9ad786125b415a6be42089..ddb84ca7bf14db5e634003b2a58ec847220a961e 100644 |
--- a/Source/core/rendering/RenderMultiColumnSpannerSet.cpp |
+++ b/Source/core/rendering/RenderMultiColumnSpannerSet.cpp |
@@ -14,7 +14,9 @@ RenderMultiColumnSpannerSet* RenderMultiColumnSpannerSet::createAnonymous(Render |
RenderMultiColumnSpannerSet* newSpanner = new RenderMultiColumnSpannerSet(flowThread, renderer); |
Document& document = flowThread->document(); |
newSpanner->setDocumentForAnonymous(&document); |
- newSpanner->setStyle(RenderStyle::createAnonymousStyleWithDisplay(parentStyle, BLOCK)); |
+ RefPtr<RenderStyle> newStyle = RenderStyle::createAnonymousStyleWithDisplay(parentStyle, BLOCK); |
+ newSpanner->updateMarginProperties(newStyle.get(), renderer); |
+ newSpanner->setStyle(newStyle); |
return newSpanner; |
} |
@@ -24,21 +26,32 @@ RenderMultiColumnSpannerSet::RenderMultiColumnSpannerSet(RenderMultiColumnFlowTh |
{ |
} |
+void RenderMultiColumnSpannerSet::updateMarginProperties(RenderStyle* newStyle, const RenderObject* spannerBlock) const |
+{ |
+ RefPtr<RenderStyle> spannerBlockStyle = spannerBlock->style(); |
+ newStyle->setMarginTop(spannerBlockStyle->marginTop()); |
+ newStyle->setMarginBottom(spannerBlockStyle->marginBottom()); |
+ newStyle->setMarginLeft(spannerBlockStyle->marginLeft()); |
+ newStyle->setMarginRight(spannerBlockStyle->marginRight()); |
+} |
+ |
bool RenderMultiColumnSpannerSet::recalculateColumnHeight(BalancedHeightCalculation calculationMode) |
{ |
- m_columnHeight = m_renderer->logicalHeight() + m_renderer->marginLogicalHeight(); |
+ m_columnHeight = m_renderer->logicalHeight(); |
return false; |
} |
void RenderMultiColumnSpannerSet::computeLogicalHeight(LayoutUnit, LayoutUnit logicalTop, LogicalExtentComputedValues& computedValues) const |
{ |
- computedValues.m_extent = m_renderer->logicalHeight() + m_renderer->marginLogicalHeight(); |
- computedValues.m_position = logicalTop; |
+ computedValues.m_extent = m_renderer->logicalHeight(); |
+ computedValues.m_position = logicalTop + m_renderer->marginTop(); |
+ computedValues.m_margins.m_before = marginBefore(); |
+ computedValues.m_margins.m_after = marginAfter(); |
} |
LayoutUnit RenderMultiColumnSpannerSet::pageLogicalHeight() const |
{ |
- return m_renderer->logicalHeight() + m_renderer->marginLogicalHeight(); |
+ return m_renderer->logicalHeight(); |
} |
const char* RenderMultiColumnSpannerSet::renderName() const |