diff options
-rw-r--r-- | components/layout_2020/flow/mod.rs | 10 | ||||
-rw-r--r-- | tests/wpt/meta/css/CSS2/normal-flow/margin-collapse-through-percentage-height-block.html.ini | 2 |
2 files changed, 8 insertions, 4 deletions
diff --git a/components/layout_2020/flow/mod.rs b/components/layout_2020/flow/mod.rs index 54915964e39..7f76abd9db8 100644 --- a/components/layout_2020/flow/mod.rs +++ b/components/layout_2020/flow/mod.rs @@ -656,13 +656,14 @@ fn layout_in_flow_non_replaced_block_level( NonReplacedContents::EstablishesAnIndependentFormattingContext(_) => false, }; + let computed_block_size = style.content_block_size(); let start_margin_can_collapse_with_children = block_is_same_formatting_context && pbm.padding.block_start == Length::zero() && pbm.border.block_start == Length::zero(); let end_margin_can_collapse_with_children = block_is_same_formatting_context && pbm.padding.block_end == Length::zero() && pbm.border.block_end == Length::zero() && - block_size == LengthOrAuto::Auto; + computed_block_size.is_auto(); let mut clearance = None; let parent_containing_block_position_info; @@ -763,12 +764,13 @@ fn layout_in_flow_non_replaced_block_level( } else { content_block_size += collapsible_margins_in_children.end.solve(); } + let computed_min_block_size = style.min_block_size(); block_margins_collapsed_with_children.collapsed_through = collapsible_margins_in_children.collapsed_through && - block_is_same_formatting_context && pbm.padding_border_sums.block == Length::zero() && - block_size.auto_is(|| Length::zero()) == Length::zero() && - min_box_size.block == Length::zero(); + (computed_block_size.is_definitely_zero() || computed_block_size.is_auto()) && + (computed_min_block_size.is_definitely_zero() || + computed_min_block_size.is_auto()); }, NonReplacedContents::EstablishesAnIndependentFormattingContext(non_replaced) => { let independent_layout = non_replaced.layout( diff --git a/tests/wpt/meta/css/CSS2/normal-flow/margin-collapse-through-percentage-height-block.html.ini b/tests/wpt/meta/css/CSS2/normal-flow/margin-collapse-through-percentage-height-block.html.ini new file mode 100644 index 00000000000..79c0cdd9cab --- /dev/null +++ b/tests/wpt/meta/css/CSS2/normal-flow/margin-collapse-through-percentage-height-block.html.ini @@ -0,0 +1,2 @@ +[margin-collapse-through-percentage-height-block.html] + expected: FAIL |