From 1a5533e5286b24ceea69a5eb015a03c1df3ed890 Mon Sep 17 00:00:00 2001 From: Sam Atkins Date: Sun, 20 Aug 2023 13:07:43 +0100 Subject: [PATCH] LibWeb: Tokenize CSS numbers as doubles Every later stage uses doubles, so dropping that precision right at the start of parsing is a little silly. :^) --- Userland/Libraries/LibWeb/CSS/Parser/Tokenizer.cpp | 4 ++-- Userland/Libraries/LibWeb/CSS/Parser/Tokenizer.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Userland/Libraries/LibWeb/CSS/Parser/Tokenizer.cpp b/Userland/Libraries/LibWeb/CSS/Parser/Tokenizer.cpp index 9526a888789..68433560ba4 100644 --- a/Userland/Libraries/LibWeb/CSS/Parser/Tokenizer.cpp +++ b/Userland/Libraries/LibWeb/CSS/Parser/Tokenizer.cpp @@ -574,11 +574,11 @@ Number Tokenizer::consume_a_number() } // https://www.w3.org/TR/css-syntax-3/#convert-string-to-number -float Tokenizer::convert_a_string_to_a_number(StringView string) +double Tokenizer::convert_a_string_to_a_number(StringView string) { // FIXME: We already found the whole part, fraction part and exponent during // validation, we could probably skip - return string.to_float(AK::TrimWhitespace::No).release_value(); + return string.to_double(AK::TrimWhitespace::No).release_value(); } // https://www.w3.org/TR/css-syntax-3/#consume-name diff --git a/Userland/Libraries/LibWeb/CSS/Parser/Tokenizer.h b/Userland/Libraries/LibWeb/CSS/Parser/Tokenizer.h index 404b9eec492..353f92adc54 100644 --- a/Userland/Libraries/LibWeb/CSS/Parser/Tokenizer.h +++ b/Userland/Libraries/LibWeb/CSS/Parser/Tokenizer.h @@ -87,7 +87,7 @@ private: [[nodiscard]] ErrorOr consume_a_numeric_token(); [[nodiscard]] ErrorOr consume_an_ident_like_token(); [[nodiscard]] Number consume_a_number(); - [[nodiscard]] float convert_a_string_to_a_number(StringView); + [[nodiscard]] double convert_a_string_to_a_number(StringView); [[nodiscard]] ErrorOr consume_an_ident_sequence(); [[nodiscard]] u32 consume_escaped_code_point(); [[nodiscard]] ErrorOr consume_a_url_token();