Index: Source/core/rendering/RenderBlockFlow.cpp |
diff --git a/Source/core/rendering/RenderBlockFlow.cpp b/Source/core/rendering/RenderBlockFlow.cpp |
index d65f741ff88c6f6488d9b67be75c46320848aff7..20164e019d3a005ea6590ececd5523e0fc62f8fb 100644 |
--- a/Source/core/rendering/RenderBlockFlow.cpp |
+++ b/Source/core/rendering/RenderBlockFlow.cpp |
@@ -648,6 +648,8 @@ void RenderBlockFlow::layoutBlockChild(RenderBox* child, MarginInfo& marginInfo, |
LayoutUnit newHeight = applyAfterBreak(child, logicalHeight(), marginInfo); |
if (newHeight != height()) |
setLogicalHeight(newHeight); |
+ if (RenderFlowThread* flowThread = flowThreadContainingBlock()) |
+ flowThread->flowThreadDescendantBoxLaidOut(child, offsetFromLogicalTopOfFirstPage() + newHeight); |
Julien - ping for review
2014/06/18 00:51:59
I don't like this pattern because it makes little
mstensho (USE GERRIT)
2014/08/26 09:43:57
Done.
mstensho (USE GERRIT)
2014/08/26 09:43:57
Got rid of this by setting 'always' on column-brea
|
} |
if (!RuntimeEnabledFeatures::repaintAfterLayoutEnabled()) { |
@@ -1884,9 +1886,23 @@ void RenderBlockFlow::addChild(RenderObject* newChild, RenderObject* beforeChild |
flowThread->addChild(newChild, beforeChild); |
return; |
} |
+ if (beforeChild) { |
+ if (RenderFlowThread* containingFlowThread = flowThreadContainingBlock()) |
+ beforeChild = containingFlowThread->resolveMovedChild(beforeChild); |
+ } |
RenderBlock::addChild(newChild, beforeChild); |
} |
+void RenderBlockFlow::removeChild(RenderObject* oldChild) |
+{ |
+ if (!documentBeingDestroyed()) { |
+ RenderFlowThread* flowThread = multiColumnFlowThread(); |
+ if (flowThread && flowThread != oldChild) |
+ flowThread->flowThreadRelativeWillBeRemoved(oldChild); |
+ } |
+ RenderBlock::removeChild(oldChild); |
+} |
+ |
void RenderBlockFlow::moveAllChildrenIncludingFloatsTo(RenderBlock* toBlock, bool fullRemoveInsert) |
{ |
RenderBlockFlow* toBlockFlow = toRenderBlockFlow(toBlock); |