commit d539b6b594e02868a1b2f903d7d0195ad0dcbe4a
parent 89e077094a322ffe5cb14cf2c01d675e615f23e8
Author: Oriol Brufau <obrufau@igalia.com>
Date: Tue, 7 Oct 2025 23:16:10 +0000
Bug 1992880 - Add method to obtain TextTransformCase from TextTransform. r=firefox-style-system-reviewers,emilio
This is useful for Servo.
Differential Revision: https://phabricator.services.mozilla.com/D267702
Diffstat:
1 file changed, 12 insertions(+), 0 deletions(-)
diff --git a/servo/components/style/values/specified/text.rs b/servo/components/style/values/specified/text.rs
@@ -453,6 +453,18 @@ impl TextTransform {
// Case bits are exclusive with each other.
case.is_empty() || case.bits().is_power_of_two()
}
+
+ /// Returns the corresponding TextTransformCase.
+ pub fn case(&self) -> TextTransformCase {
+ match *self & Self::CASE_TRANSFORMS {
+ Self::NONE => TextTransformCase::None,
+ Self::UPPERCASE => TextTransformCase::Uppercase,
+ Self::LOWERCASE => TextTransformCase::Lowercase,
+ Self::CAPITALIZE => TextTransformCase::Capitalize,
+ Self::MATH_AUTO => TextTransformCase::MathAuto,
+ _ => unreachable!("Case bits are exclusive with each other"),
+ }
+ }
}
/// Specified and computed value of text-align-last.