From 2dad1f0fd7bdca70acacb0c1e22e11ef2a54736c Mon Sep 17 00:00:00 2001 From: CanadaHonk Date: Mon, 13 Mar 2023 11:38:45 +0000 Subject: [PATCH] style: Infinity angles should degenerate compute to 0 Also adjusted WPT tests to always expect deg like similar past changes. WPT tests: https://github.com/web-platform-tests/wpt/blob/master/css/css-values/calc-infinity-nan-computed.html#L57-L71 Differential Revision: https://phabricator.services.mozilla.com/D172401 --- components/style/values/specified/angle.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/components/style/values/specified/angle.rs b/components/style/values/specified/angle.rs index 7f6c1a9dca4..212aa5fb03b 100644 --- a/components/style/values/specified/angle.rs +++ b/components/style/values/specified/angle.rs @@ -114,7 +114,14 @@ impl ToComputedValue for Angle { #[inline] fn to_computed_value(&self, _context: &Context) -> Self::ComputedValue { - ComputedAngle::from_degrees(crate::values::normalize(self.degrees())) + let degrees = self.degrees(); + + // NaN and +-infinity should degenerate to 0: https://github.com/w3c/csswg-drafts/issues/6105 + ComputedAngle::from_degrees(if degrees.is_finite() { + degrees + } else { + 0.0 + }) } #[inline]