diff --git a/components/layout_2020/geom.rs b/components/layout_2020/geom.rs index 6dd87b5e087..a385a1d1085 100644 --- a/components/layout_2020/geom.rs +++ b/components/layout_2020/geom.rs @@ -979,28 +979,6 @@ impl Sizes { get_content_size: impl FnOnce() -> ContentSizes, is_table: bool, ) -> Au { - let (preferred, min, max) = self.resolve_each( - axis, - automatic_size, - automatic_minimum_size, - stretch_size, - get_content_size, - is_table, - ); - preferred.clamp_between_extremums(min, max) - } - - /// Resolves each of the three sizes into a numerical value, separately. - #[inline] - pub(crate) fn resolve_each( - &self, - axis: Direction, - automatic_size: Size, - automatic_minimum_size: Au, - stretch_size: Option, - get_content_size: impl FnOnce() -> ContentSizes, - is_table: bool, - ) -> (Au, Au, Option) { // The provided `get_content_size` is a FnOnce but we may need its result multiple times. // A LazyCell will only invoke it once if needed, and then reuse the result. let content_size = LazyCell::new(get_content_size); @@ -1010,7 +988,7 @@ impl Sizes { // but it can be a smaller amount if there are collapsed rows. // Therefore, disregard sizing properties and just defer to the intrinsic size. // This is being discussed in https://github.com/w3c/csswg-drafts/issues/11408 - return (content_size.max_content, content_size.min_content, None); + return content_size.max_content; } let preferred = @@ -1028,7 +1006,7 @@ impl Sizes { min.max_assign(content_size.min_content); } let max = self.max.resolve_for_max(stretch_size, &content_size); - (preferred, min, max) + preferred.clamp_between_extremums(min, max) } /// Tries to extrinsically resolve the three sizes into a single [`SizeConstraint`]. diff --git a/components/layout_2020/replaced.rs b/components/layout_2020/replaced.rs index 5039b8cb91a..a14240e52b0 100644 --- a/components/layout_2020/replaced.rs +++ b/components/layout_2020/replaced.rs @@ -535,7 +535,7 @@ impl ReplacedContents { ) .into() }; - let (preferred_inline, min_inline, max_inline) = sizes.inline.resolve_each( + let inline_size = sizes.inline.resolve( Direction::Inline, automatic_size.inline, Au::zero(), @@ -543,19 +543,10 @@ impl ReplacedContents { get_inline_content_size, false, /* is_table */ ); - let inline_size = preferred_inline.clamp_between_extremums(min_inline, max_inline); // Now we can compute the block size, using the inline size from above. let block_content_size = LazyCell::new(|| -> ContentSizes { - let get_inline_size = || { - if sizes.inline.preferred.is_initial() { - // TODO: do we really need to special-case `auto`? - // https://github.com/w3c/csswg-drafts/issues/11236 - SizeConstraint::MinMax(min_inline, max_inline) - } else { - SizeConstraint::Definite(inline_size) - } - }; + let get_inline_size = || SizeConstraint::Definite(inline_size); self.content_size( Direction::Block, preferred_aspect_ratio, diff --git a/tests/wpt/meta/MANIFEST.json b/tests/wpt/meta/MANIFEST.json index 28ef2f13014..79668fb0ad6 100644 --- a/tests/wpt/meta/MANIFEST.json +++ b/tests/wpt/meta/MANIFEST.json @@ -594924,14 +594924,14 @@ ] ], "replaced-element-043.html": [ - "9ad35c1a316dfdd5163e63f671f58f3c85892100", + "01b23ffbf20afacddd12825b0c655b5fabf3e2be", [ null, {} ] ], - "replaced-element-044.tentative.html": [ - "58a4b9b76ff32010a82c49d1e5d42090d794a081", + "replaced-element-044.html": [ + "10bbf297d47028f1660c3b2345a32895e92b6cb7", [ null, {} @@ -595281,7 +595281,7 @@ ] ], "keyword-sizes-on-replaced-element.html": [ - "497f87ca5fca68e6423c6aba94a34d3de938c1b1", + "39b2e591d5396587377dbdcd3ff78529157e0de0", [ null, {} @@ -716308,7 +716308,7 @@ ] ], "video-intrinsic-width-height.html": [ - "c66a79344cd9deafe42772b05ee2e6c6cc3392d2", + "047c832da35246278ce58a255037c64bb1d8b723", [ null, {} diff --git a/tests/wpt/meta/css/css-align/abspos/stretch-intrinsic-size-htb-htb.html.ini b/tests/wpt/meta/css/css-align/abspos/stretch-intrinsic-size-htb-htb.html.ini index 9a95e86df94..3eace3ac760 100644 --- a/tests/wpt/meta/css/css-align/abspos/stretch-intrinsic-size-htb-htb.html.ini +++ b/tests/wpt/meta/css/css-align/abspos/stretch-intrinsic-size-htb-htb.html.ini @@ -10,6 +10,3 @@ [.item 7] expected: FAIL - - [.item 10] - expected: FAIL diff --git a/tests/wpt/meta/css/css-align/abspos/stretch-intrinsic-size-htb-vrl.html.ini b/tests/wpt/meta/css/css-align/abspos/stretch-intrinsic-size-htb-vrl.html.ini index eb589946ec3..ef794c639fa 100644 --- a/tests/wpt/meta/css/css-align/abspos/stretch-intrinsic-size-htb-vrl.html.ini +++ b/tests/wpt/meta/css/css-align/abspos/stretch-intrinsic-size-htb-vrl.html.ini @@ -10,6 +10,3 @@ [.item 7] expected: FAIL - - [.item 10] - expected: FAIL diff --git a/tests/wpt/tests/css/css-sizing/aspect-ratio/replaced-element-043.html b/tests/wpt/tests/css/css-sizing/aspect-ratio/replaced-element-043.html index 9ad35c1a316..01b23ffbf20 100644 --- a/tests/wpt/tests/css/css-sizing/aspect-ratio/replaced-element-043.html +++ b/tests/wpt/tests/css/css-sizing/aspect-ratio/replaced-element-043.html @@ -4,6 +4,7 @@ + + data-expected-width="15" data-expected-height="8"> + data-expected-width="15" data-expected-height="8"> + data-expected-width="20" data-expected-height="10"> min-height + data-expected-width="15" data-expected-height="8"> + data-expected-width="15" data-expected-height="8"> + data-expected-width="20" data-expected-height="10"> + data-expected-width="15" data-expected-height="8"> + data-expected-width="15" data-expected-height="8"> + data-expected-width="15" data-expected-height="8"> + data-expected-width="15" data-expected-height="8"> @@ -117,24 +118,24 @@ canvas { + data-expected-width="15" data-expected-height="8"> + data-expected-width="15" data-expected-height="8"> + data-expected-width="15" data-expected-height="8"> + data-expected-width="15" data-expected-height="8"> min-width, min-height + data-expected-width="15" data-expected-height="8"> + data-expected-width="15" data-expected-height="8"> + data-expected-width="20" data-expected-height="10">
+ data-expected-width="15" data-expected-height="8"> + data-expected-width="15" data-expected-height="8"> + data-expected-width="20" data-expected-height="10">
+ data-expected-width="20" data-expected-height="10"> + data-expected-width="20" data-expected-height="10"> + data-expected-width="20" data-expected-height="10"> + data-expected-width="15" data-expected-height="8"> + data-expected-width="15" data-expected-height="8"> + data-expected-width="15" data-expected-height="8"> + data-expected-width="15" data-expected-height="8">
+ data-expected-width="15" data-expected-height="8"> + data-expected-width="15" data-expected-height="8"> + data-expected-width="15" data-expected-height="8"> + data-expected-width="15" data-expected-height="8">
@@ -244,11 +245,11 @@ canvas { + data-expected-width="20" data-expected-height="10"> + data-expected-width="20" data-expected-height="10"> + data-expected-width="20" data-expected-height="10">
@@ -320,9 +321,9 @@ canvas { data-expected-width="10" data-expected-height="25">
+ data-expected-width="15" data-expected-height="8"> + data-expected-width="15" data-expected-height="8">
+ data-expected-width="15" data-expected-height="8"> + data-expected-width="15" data-expected-height="8"> + data-expected-width="20" data-expected-height="10">
+ data-expected-width="15" data-expected-height="8"> + data-expected-width="15" data-expected-height="8"> + data-expected-width="20" data-expected-height="10">
+ data-expected-width="15" data-expected-height="8"> + data-expected-width="15" data-expected-height="8"> + data-expected-width="20" data-expected-height="10"> + data-expected-width="15" data-expected-height="8"> + data-expected-width="15" data-expected-height="8"> + data-expected-width="15" data-expected-height="8"> + data-expected-width="15" data-expected-height="8">
+ data-expected-width="15" data-expected-height="8"> + data-expected-width="15" data-expected-height="8"> + data-expected-width="15" data-expected-height="8"> + data-expected-width="15" data-expected-height="8">
+ data-expected-width="15" data-expected-height="8"> + data-expected-width="15" data-expected-height="8"> + data-expected-width="15" data-expected-height="8"> + data-expected-width="15" data-expected-height="8">
+ data-expected-width="15" data-expected-height="8"> + data-expected-width="15" data-expected-height="8"> + data-expected-width="15" data-expected-height="8"> + data-expected-width="15" data-expected-height="8"> diff --git a/tests/wpt/tests/css/css-sizing/aspect-ratio/replaced-element-044.tentative.html b/tests/wpt/tests/css/css-sizing/aspect-ratio/replaced-element-044.html similarity index 88% rename from tests/wpt/tests/css/css-sizing/aspect-ratio/replaced-element-044.tentative.html rename to tests/wpt/tests/css/css-sizing/aspect-ratio/replaced-element-044.html index 58a4b9b76ff..10bbf297d47 100644 --- a/tests/wpt/tests/css/css-sizing/aspect-ratio/replaced-element-044.tentative.html +++ b/tests/wpt/tests/css/css-sizing/aspect-ratio/replaced-element-044.html @@ -8,8 +8,6 @@ + data-expected-width="50" data-expected-height="50"> + data-expected-width="10" data-expected-height="10"> + data-expected-width="510" data-expected-height="510"> + data-expected-width="60" data-expected-height="60"> @@ -217,7 +217,7 @@ + data-expected-width="160" data-expected-height="160"> diff --git a/tests/wpt/tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/video-intrinsic-width-height.html b/tests/wpt/tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/video-intrinsic-width-height.html index c66a79344cd..047c832da35 100644 --- a/tests/wpt/tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/video-intrinsic-width-height.html +++ b/tests/wpt/tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/video-intrinsic-width-height.html @@ -26,6 +26,10 @@ verify that width/height does not influence intrinsic ratio --> + +