| Index: third_party/WebKit/Source/core/layout/ng/ng_space_utils.cc
|
| diff --git a/third_party/WebKit/Source/core/layout/ng/ng_space_utils.cc b/third_party/WebKit/Source/core/layout/ng/ng_space_utils.cc
|
| index 4c8143b0da7fa63c5812017555a174c167f47114..d63d5e735af824d58c93b3ab1c90a835c1aa3770 100644
|
| --- a/third_party/WebKit/Source/core/layout/ng/ng_space_utils.cc
|
| +++ b/third_party/WebKit/Source/core/layout/ng/ng_space_utils.cc
|
| @@ -19,11 +19,14 @@ WTF::Optional<T> OptionalMax(const WTF::Optional<T>& value1,
|
| return value2;
|
| }
|
|
|
| +bool IsOutOfFlowPositioned(const EPosition& position) {
|
| + return position == EPosition::kAbsolute || position == EPosition::kFixed;
|
| +}
|
| +
|
| } // namespace
|
|
|
| -bool IsNewFormattingContextForInFlowBlockLevelChild(
|
| - const NGConstraintSpace& space,
|
| - const ComputedStyle& style) {
|
| +bool IsNewFormattingContextForBlockLevelChild(const NGConstraintSpace& space,
|
| + const ComputedStyle& style) {
|
| // TODO(layout-dev): This doesn't capture a few cases which can't be computed
|
| // directly from style yet:
|
| // - The child is a <fieldset>.
|
| @@ -31,6 +34,9 @@ bool IsNewFormattingContextForInFlowBlockLevelChild(
|
| // in a multi-col formatting context).
|
| // (https://drafts.csswg.org/css-multicol-1/#valdef-column-span-all)
|
|
|
| + if (style.isFloating() || IsOutOfFlowPositioned(style.position()))
|
| + return true;
|
| +
|
| if (style.specifiesColumns() || style.containsPaint() ||
|
| style.containsLayout())
|
| return true;
|
|
|