mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-12 02:59:45 +00:00
LibWeb: Add AO for "normalize non-finite values"
We had implemented this in two different ways. Add an AO to to align the implementations.
This commit is contained in:
parent
897b5dfe8b
commit
e5d03e382e
Notes:
sideshowbarker
2024-07-17 08:38:37 +09:00
Author: https://github.com/shannonbooth
Commit: e5d03e382e
Pull-request: https://github.com/SerenityOS/serenity/pull/24200
Reviewed-by: https://github.com/ADKaster ✅
Reviewed-by: https://github.com/awesomekling
3 changed files with 27 additions and 12 deletions
|
@ -15,4 +15,23 @@ struct ScrollOptions {
|
|||
Bindings::ScrollBehavior behavior { Bindings::ScrollBehavior::Auto };
|
||||
};
|
||||
|
||||
// https://drafts.csswg.org/cssom-view/#normalize-non-finite-values
|
||||
[[nodiscard]] inline double normalize_non_finite_values(double value)
|
||||
{
|
||||
// When asked to normalize non-finite values for a value x, if x is one of the three special floating point
|
||||
// literal values (Infinity, -Infinity or NaN), then x must be changed to the value 0. [WEBIDL]
|
||||
if (isinf(value) || isnan(value))
|
||||
return 0;
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
// https://drafts.csswg.org/cssom-view/#normalize-non-finite-values
|
||||
[[nodiscard]] inline double normalize_non_finite_values(Optional<double> const& value)
|
||||
{
|
||||
if (!value.has_value())
|
||||
return 0;
|
||||
return normalize_non_finite_values(value.value());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue