Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1309)

Unified Diff: Source/core/rendering/RenderBlockFlow.cpp

Issue 296413007: [New Multicolumn] Add support for column-span:all (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@359976
Patch Set: Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);

Powered by Google App Engine
This is Rietveld 408576698