From 5a6a7b7e5eaf22120f491a6aee89c9e722adf9dc Mon Sep 17 00:00:00 2001 From: Grubre Date: Tue, 29 Oct 2024 12:05:52 +0100 Subject: [PATCH] LibWeb: Pass locale to `to_lowercase()` from apply_text_transform Previously we passed `{}` which resulted in incorrect text when using some languages like `lt`. Fixes: http://wpt.fyi/results/css/css-text/text-transform/text-transform-upperlower-039.html --- .../DOM/Element-text-transform-lowercase.txt | 1 + .../DOM/Element-text-transform-lowercase.html | 27 +++++++++++++++++++ Userland/Libraries/LibWeb/Layout/TextNode.cpp | 2 +- 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 Tests/LibWeb/Text/expected/DOM/Element-text-transform-lowercase.txt create mode 100644 Tests/LibWeb/Text/input/DOM/Element-text-transform-lowercase.html diff --git a/Tests/LibWeb/Text/expected/DOM/Element-text-transform-lowercase.txt b/Tests/LibWeb/Text/expected/DOM/Element-text-transform-lowercase.txt new file mode 100644 index 00000000000..2a7c4b65321 --- /dev/null +++ b/Tests/LibWeb/Text/expected/DOM/Element-text-transform-lowercase.txt @@ -0,0 +1 @@ + i̇̀ i̇̀ i̇́ i̇́ i̇̃ i̇̃ i̇̀ i̇̀ j̇́ j̇́ į̇̃ į̇̃ diff --git a/Tests/LibWeb/Text/input/DOM/Element-text-transform-lowercase.html b/Tests/LibWeb/Text/input/DOM/Element-text-transform-lowercase.html new file mode 100644 index 00000000000..409e00aec45 --- /dev/null +++ b/Tests/LibWeb/Text/input/DOM/Element-text-transform-lowercase.html @@ -0,0 +1,27 @@ + + + + + + + + + +
+ Ì i̇̀ Í i̇́ Ĩ i̇̃ + Ì i̇̀ J́ j̇́ Į̃ į̇̃ +
+ + + + + diff --git a/Userland/Libraries/LibWeb/Layout/TextNode.cpp b/Userland/Libraries/LibWeb/Layout/TextNode.cpp index 4a2cac4a122..0663e00d935 100644 --- a/Userland/Libraries/LibWeb/Layout/TextNode.cpp +++ b/Userland/Libraries/LibWeb/Layout/TextNode.cpp @@ -285,7 +285,7 @@ static ErrorOr apply_text_transform(String const& string, CSS::TextTrans case CSS::TextTransform::Uppercase: return string.to_uppercase(locale); case CSS::TextTransform::Lowercase: - return string.to_lowercase(); + return string.to_lowercase(locale); case CSS::TextTransform::None: return string; case CSS::TextTransform::MathAuto: