From 619f221dea75ccd38ea65eacb222b3c94390e3dc Mon Sep 17 00:00:00 2001 From: Basilisk-Dev Date: Fri, 6 Mar 2026 16:17:40 -0500 Subject: [PATCH] Issue #2982 - Fix regressions in the previous regression fix commit. --- layout/style/nsCSSParser.cpp | 9 ++------- layout/style/test/test_computed_style.html | 8 ++++---- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/layout/style/nsCSSParser.cpp b/layout/style/nsCSSParser.cpp index 810aa0455e..6b6a65d72e 100644 --- a/layout/style/nsCSSParser.cpp +++ b/layout/style/nsCSSParser.cpp @@ -186,18 +186,13 @@ OKLabToSRGBColor(float aL, float aA, float aB, float aAlpha) uint8_t alpha = nsStyleUtil::FloatToColorComponent(mozilla::clamped(aAlpha, 0.0f, 1.0f)); - // Treat values extremely close to the endpoints as the endpoints to avoid - // tiny floating-point representation differences for percentage inputs. + // Treat values extremely close to zero as zero to avoid tiny floating-point + // representation differences for percentage inputs. static constexpr float kLightnessEndpointEpsilon = 0.000002f; - // If lightness is at either endpoint, the color is black/white regardless - // of chroma and hue (or a/b). if (lightness <= kLightnessEndpointEpsilon) { return NS_RGBA(0, 0, 0, alpha); } - if (lightness >= 1.0f - kLightnessEndpointEpsilon) { - return NS_RGBA(255, 255, 255, alpha); - } float lRoot = lightness + 0.3963377774f * aA + 0.2158037573f * aB; float mRoot = lightness - 0.1055613458f * aA - 0.0638541728f * aB; diff --git a/layout/style/test/test_computed_style.html b/layout/style/test/test_computed_style.html index 1fd98f23f4..4e7d629a06 100644 --- a/layout/style/test/test_computed_style.html +++ b/layout/style/test/test_computed_style.html @@ -401,14 +401,14 @@ var noframe_container = document.getElementById("content"); ["hsl(0 0% 0% / 0.5)", "rgba(0, 0, 0, 0.5)"], ["oklab(0 0 0 / 1)", "rgb(0, 0, 0)"], ["oklab(0 0 0 / 0.5)", "rgba(0, 0, 0, 0.5)"], - ["oklab(150% 0.5 0.2 / 1)", "rgb(255, 255, 255)"], + ["oklab(150% 0.5 0.2 / 1)", "rgb(255, 0, 0)"], ["oklch(0 0 0 / 1)", "rgb(0, 0, 0)"], ["oklch(0 0 0 / 0.5)", "rgba(0, 0, 0, 0.5)"], ["oklch(0.0001% 0.2 45 / 1)", "rgb(0, 0, 0)"], - ["oklch(99.9999% 0.2 45 / 1)", "rgb(255, 255, 255)"], + ["oklch(99.9999% 0.2 45 / 1)", "rgb(255, 207, 132)"], ["oklch(0% 1.1 60 / 1)", "rgb(0, 0, 0)"], - ["oklch(100% 110 60 / 1)", "rgb(255, 255, 255)"], - ["oklch(150% 0.5 50 / 1)", "rgb(255, 255, 255)"], + ["oklch(100% 110 60 / 1)", "rgb(0, 255, 0)"], + ["oklch(150% 0.5 50 / 1)", "rgb(255, 0, 0)"], ]; var p = document.createElement("p");