Chromium Code Reviews| 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); |