Index: third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp |
diff --git a/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp b/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp |
index 8872d9016e7e66048e593dad232b9c7db6ef8038..27eeefd666ba7f375958fa9fcd9d04d9a717cba0 100644 |
--- a/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp |
+++ b/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp |
@@ -1143,8 +1143,7 @@ void LayoutBlockFlow::layoutBlockChildren(bool relayoutChildren, SubtreeLayoutSc |
BlockChildrenLayoutInfo layoutInfo(this, beforeEdge, afterEdge); |
MarginInfo& marginInfo = layoutInfo.marginInfo(); |
- // Fieldsets need to find their legend and position it inside the border of the object. |
- // The legend then gets skipped during normal layout. The same is true for ruby text. |
+ // Ruby text needs to find their legend and position it inside the border of the object. |
// It doesn't get included in the normal layout process but is instead skipped. |
LayoutObject* childToExclude = layoutSpecialExcludedChild(relayoutChildren, layoutScope); |
@@ -1158,7 +1157,7 @@ void LayoutBlockFlow::layoutBlockChildren(bool relayoutChildren, SubtreeLayoutSc |
child->setMayNeedPaintInvalidation(); |
if (childToExclude == child) |
- continue; // Skip this child, since it will be positioned by the specialized subclass (fieldsets and ruby runs). |
+ continue; // Skip this child, since it will be positioned by the specialized subclass (ruby runs). |
updateBlockChildDirtyBitsBeforeLayout(relayoutChildren, *child); |
@@ -2397,7 +2396,7 @@ void LayoutBlockFlow::addChild(LayoutObject* newChild, LayoutObject* beforeChild |
// that isn't sufficient for us, and can only cause trouble at this point. |
LayoutBox::addChild(newChild, beforeChild); |
- if (madeBoxesNonInline && parent() && isAnonymousBlock() && parent()->isLayoutBlock()) { |
+ if (madeBoxesNonInline && parent() && isAnonymousBlock() && parent()->isLayoutBlock() && !parent()->createsAnonymousWrapper()) { |
toLayoutBlock(parent())->removeLeftoverAnonymousBlock(this); |
// |this| may be dead now. |
} |
@@ -3523,11 +3522,6 @@ void LayoutBlockFlow::createOrDestroyMultiColumnFlowThreadIfNeeded(const Compute |
if (isRuby()) |
return; |
- // Fieldsets look for a legend special child (layoutSpecialExcludedChild()). We currently only |
- // support one special child per layout object, and the flow thread would make for a second one. |
- if (isFieldset()) |
- return; |
- |
// Form controls are replaced content, and are therefore not supposed to support multicol. |
if (isFileUploadControl() || isTextControl() || isListBox()) |
return; |