Chromium Code Reviews| 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. |
|
Manuel Rego
2016/07/22 06:16:07
This comment doesn't seem accurate. What has to do
Gleb Lanbin
2016/07/22 22:16:15
Done.
|
| // 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; |