mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-03 14:50:18 +00:00
LibWeb/CSS: Make non-finite Numbers serialize as themselves
We're required to serialize NaN, infinity, and -infinity as their keyword names, even after they've been converted to Numbers.
This commit is contained in:
parent
c3d61020e7
commit
46b9497a66
Notes:
github-actions[bot]
2025-01-30 18:33:39 +00:00
Author: https://github.com/AtkinsSJ
Commit: 46b9497a66
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/3383
5 changed files with 31 additions and 10 deletions
25
Libraries/LibWeb/CSS/Number.cpp
Normal file
25
Libraries/LibWeb/CSS/Number.cpp
Normal file
|
@ -0,0 +1,25 @@
|
|||
/*
|
||||
* Copyright (c) 2022-2025, Sam Atkins <sam@ladybird.org>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#include <AK/Math.h>
|
||||
#include <LibWeb/CSS/Number.h>
|
||||
|
||||
namespace Web::CSS {
|
||||
|
||||
String Number::to_string() const
|
||||
{
|
||||
if (m_type == Type::IntegerWithExplicitSign)
|
||||
return MUST(String::formatted("{:+}", m_value));
|
||||
if (m_value == AK::Infinity<double>)
|
||||
return "infinity"_string;
|
||||
if (m_value == -AK::Infinity<double>)
|
||||
return "-infinity"_string;
|
||||
if (isnan(m_value))
|
||||
return "NaN"_string;
|
||||
return String::number(m_value);
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue