From cd276235d767fa660decd6e7860e5ea0ff07e58d Mon Sep 17 00:00:00 2001 From: Timothy Flynn Date: Sun, 3 Aug 2025 10:45:05 -0400 Subject: [PATCH] AK: Add a couple of validation-skipping UTF-16 string factories String and FlyString are known to be valid UTF-8, so we can skip validation when constructing a UTF-16 string from them. --- AK/Utf16FlyString.h | 2 ++ AK/Utf16String.h | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/AK/Utf16FlyString.h b/AK/Utf16FlyString.h index ba130866b5d..9e4039f670b 100644 --- a/AK/Utf16FlyString.h +++ b/AK/Utf16FlyString.h @@ -21,6 +21,8 @@ public: constexpr Utf16FlyString() = default; static Utf16FlyString from_utf8(StringView); + static Utf16FlyString from_utf8(String const& string) { return from_utf8_without_validation(string); } + static Utf16FlyString from_utf8(FlyString const& string) { return from_utf8_without_validation(string); } static Utf16FlyString from_utf8_without_validation(StringView); static Utf16FlyString from_utf8_but_should_be_ported_to_utf16(StringView string) { return from_utf8_without_validation(string); } diff --git a/AK/Utf16String.h b/AK/Utf16String.h index eb611ad8c69..089567d1908 100644 --- a/AK/Utf16String.h +++ b/AK/Utf16String.h @@ -45,6 +45,11 @@ public: return from_utf8_without_validation(utf8_string); } + ALWAYS_INLINE static Utf16String from_utf8(FlyString const& utf8_string) + { + return from_utf8_without_validation(utf8_string); + } + enum class WithBOMHandling { No, Yes,