diff --git a/components/layout_2020/sizing.rs b/components/layout_2020/sizing.rs index 310816207bc..4a4cb5d4dfa 100644 --- a/components/layout_2020/sizing.rs +++ b/components/layout_2020/sizing.rs @@ -172,7 +172,7 @@ pub(crate) fn outer_inline( }; get_content_size(&constraint_space) }); - let resolve_non_initial = |inline_size| { + let resolve_non_initial = |inline_size, stretch_values| { Some(match inline_size { Size::Initial => return None, Size::Numeric(numeric) => (numeric, numeric, false), @@ -186,24 +186,25 @@ pub(crate) fn outer_inline( content_size.sizes.max_content, content_size.depends_on_block_constraints, ), - Size::Stretch | Size::FitContent => ( + Size::FitContent => ( content_size.sizes.min_content, content_size.sizes.max_content, content_size.depends_on_block_constraints, ), + Size::Stretch => return stretch_values, }) }; let (mut preferred_min_content, preferred_max_content, preferred_depends_on_block_constraints) = - resolve_non_initial(content_box_sizes.inline.preferred) - .unwrap_or_else(|| resolve_non_initial(Size::FitContent).unwrap()); + resolve_non_initial(content_box_sizes.inline.preferred, None) + .unwrap_or_else(|| resolve_non_initial(Size::FitContent, None).unwrap()); let (mut min_min_content, mut min_max_content, mut min_depends_on_block_constraints) = - resolve_non_initial(content_box_sizes.inline.min).unwrap_or(( - auto_minimum.inline, - auto_minimum.inline, - false, - )); + resolve_non_initial( + content_box_sizes.inline.min, + Some((Au::zero(), Au::zero(), false)), + ) + .unwrap_or((auto_minimum.inline, auto_minimum.inline, false)); let (mut max_min_content, max_max_content, max_depends_on_block_constraints) = - resolve_non_initial(content_box_sizes.inline.max) + resolve_non_initial(content_box_sizes.inline.max, None) .map(|(min_content, max_content, depends_on_block_constraints)| { ( Some(min_content), diff --git a/tests/wpt/meta/MANIFEST.json b/tests/wpt/meta/MANIFEST.json index 2a5c5b46f87..80553cc10ef 100644 --- a/tests/wpt/meta/MANIFEST.json +++ b/tests/wpt/meta/MANIFEST.json @@ -596233,7 +596233,7 @@ ] ], "keyword-sizes-for-intrinsic-contributions.html": [ - "5a2a9ab615368d1cc3181cf84d9ebdefaf79368a", + "dc287b195907e2b114a4d035470dde94f4039b84", [ null, {} diff --git a/tests/wpt/meta/css/css-sizing/keyword-sizes-for-intrinsic-contributions.html.ini b/tests/wpt/meta/css/css-sizing/keyword-sizes-for-intrinsic-contributions.html.ini deleted file mode 100644 index 20dd43c39b9..00000000000 --- a/tests/wpt/meta/css/css-sizing/keyword-sizes-for-intrinsic-contributions.html.ini +++ /dev/null @@ -1,18 +0,0 @@ -[keyword-sizes-for-intrinsic-contributions.html] - [.test 15] - expected: FAIL - - [.test 19] - expected: FAIL - - [.test 23] - expected: FAIL - - [.test 27] - expected: FAIL - - [.test 31] - expected: FAIL - - [.test 35] - expected: FAIL diff --git a/tests/wpt/tests/css/css-sizing/keyword-sizes-for-intrinsic-contributions.html b/tests/wpt/tests/css/css-sizing/keyword-sizes-for-intrinsic-contributions.html index 5a2a9ab6153..dc287b19590 100644 --- a/tests/wpt/tests/css/css-sizing/keyword-sizes-for-intrinsic-contributions.html +++ b/tests/wpt/tests/css/css-sizing/keyword-sizes-for-intrinsic-contributions.html @@ -47,20 +47,20 @@