diff --git a/components/layout_2020/flow/mod.rs b/components/layout_2020/flow/mod.rs index 2187a15c7f5..b174c68ff3a 100644 --- a/components/layout_2020/flow/mod.rs +++ b/components/layout_2020/flow/mod.rs @@ -1969,11 +1969,12 @@ impl IndependentFormattingContext { let max_box_size = style.content_max_box_size(containing_block, &pbm); let min_box_size = style.content_min_box_size(containing_block, &pbm); - let available_inline_size = containing_block.inline_size - pbm_sums.inline_sum(); + let available_inline_size = + (containing_block.inline_size - pbm_sums.inline_sum()).max(Au::zero()); let available_block_size = containing_block .block_size .non_auto() - .map(|block_size| block_size - pbm_sums.block_sum()); + .map(|block_size| (block_size - pbm_sums.block_sum()).max(Au::zero())); let tentative_block_size = box_size .block .maybe_resolve_extrinsic(available_block_size) diff --git a/tests/wpt/meta/MANIFEST.json b/tests/wpt/meta/MANIFEST.json index 239e5bf47d6..beae54aaadf 100644 --- a/tests/wpt/meta/MANIFEST.json +++ b/tests/wpt/meta/MANIFEST.json @@ -569290,14 +569290,14 @@ ] ], "keyword-sizes-on-floated-element.html": [ - "adfffba8061aa983800822746a0cd5fc8f6f0fa8", + "42ea7ba26d7e1ffd26f8f12bad37e3b18abba0f6", [ null, {} ] ], "keyword-sizes-on-inline-block.html": [ - "d91d8e6ed9cd2ab7c7f0e418b7715fc88a03b4e1", + "7c41d902aa89c9f46a936dbac1d20b80bb5cdd98", [ null, {} diff --git a/tests/wpt/tests/css/css-sizing/keyword-sizes-on-floated-element.html b/tests/wpt/tests/css/css-sizing/keyword-sizes-on-floated-element.html index adfffba8061..42ea7ba26d7 100644 --- a/tests/wpt/tests/css/css-sizing/keyword-sizes-on-floated-element.html +++ b/tests/wpt/tests/css/css-sizing/keyword-sizes-on-floated-element.html @@ -119,6 +119,12 @@