diff --git a/servo/components/style/color/color_function.rs b/servo/components/style/color/color_function.rs index 426256a2e92b..2898dc3fb113 100644 --- a/servo/components/style/color/color_function.rs +++ b/servo/components/style/color/color_function.rs @@ -114,8 +114,20 @@ impl ColorFunction { let mut result = AbsoluteColor::new( ColorSpace::Hsl, value!(h).map(|angle| normalize_hue(angle.degrees())), - value!(s).map(|s| s.to_number(SATURATION_RANGE).clamp(0.0, SATURATION_RANGE)), - value!(l).map(|l| l.to_number(LIGHTNESS_RANGE).clamp(0.0, LIGHTNESS_RANGE)), + value!(s).map(|s| { + if *is_legacy_syntax { + s.to_number(SATURATION_RANGE).clamp(0.0, SATURATION_RANGE) + } else { + s.to_number(SATURATION_RANGE) + } + }), + value!(l).map(|l| { + if *is_legacy_syntax { + l.to_number(LIGHTNESS_RANGE).clamp(0.0, LIGHTNESS_RANGE) + } else { + l.to_number(LIGHTNESS_RANGE) + } + }), alpha!(alpha), ); @@ -133,8 +145,20 @@ impl ColorFunction { let mut result = AbsoluteColor::new( ColorSpace::Hwb, value!(h).map(|angle| normalize_hue(angle.degrees())), - value!(w).map(|w| w.to_number(WHITENESS_RANGE).clamp(0.0, WHITENESS_RANGE)), - value!(b).map(|b| b.to_number(BLACKNESS_RANGE).clamp(0.0, BLACKNESS_RANGE)), + value!(w).map(|w| { + if *is_legacy_syntax { + w.to_number(WHITENESS_RANGE).clamp(0.0, WHITENESS_RANGE) + } else { + w.to_number(WHITENESS_RANGE) + } + }), + value!(b).map(|b| { + if *is_legacy_syntax { + b.to_number(BLACKNESS_RANGE).clamp(0.0, BLACKNESS_RANGE) + } else { + b.to_number(BLACKNESS_RANGE) + } + }), alpha!(alpha), ); diff --git a/testing/web-platform/meta/css/css-color/parsing/color-computed-relative-color.html.ini b/testing/web-platform/meta/css/css-color/parsing/color-computed-relative-color.html.ini index 214fb8ed1427..63845a806eb0 100644 --- a/testing/web-platform/meta/css/css-color/parsing/color-computed-relative-color.html.ini +++ b/testing/web-platform/meta/css/css-color/parsing/color-computed-relative-color.html.ini @@ -16,9 +16,3 @@ [Property color value 'lch(from color(srgb 0.25 0.5 0.75) l c h)'] expected: FAIL - - [Property color value 'color(from hsl(from color(xyz-d50 0.99 0.88 0.77) h s l) xyz-d50 x y z)'] - expected: FAIL - - [Property color value 'color(from hsl(from color(xyz-d65 0.99 0.88 0.77) h s l) xyz-d65 x y z)'] - expected: FAIL diff --git a/testing/web-platform/meta/css/css-color/parsing/relative-color-out-of-gamut.html.ini b/testing/web-platform/meta/css/css-color/parsing/relative-color-out-of-gamut.html.ini deleted file mode 100644 index 0c8198b02fb5..000000000000 --- a/testing/web-platform/meta/css/css-color/parsing/relative-color-out-of-gamut.html.ini +++ /dev/null @@ -1,54 +0,0 @@ -[relative-color-out-of-gamut.html] - [Property color value 'hsl(from color(display-p3 0 1 0) h s l / alpha)'] - expected: FAIL - - [Property color value 'hsl(from lab(100 104.3 -50.9) h s l)'] - expected: FAIL - - [Property color value 'hsl(from lab(0 104.3 -50.9) h s l)'] - expected: FAIL - - [Property color value 'hsl(from lch(100 116 334) h s l)'] - expected: FAIL - - [Property color value 'hsl(from lch(0 116 334) h s l)'] - expected: FAIL - - [Property color value 'hsl(from oklab(1 0.365 -0.16) h s l)'] - expected: FAIL - - [Property color value 'hsl(from oklab(0 0.365 -0.16) h s l)'] - expected: FAIL - - [Property color value 'hsl(from oklch(1 0.399 336.3) h s l)'] - expected: FAIL - - [Property color value 'hsl(from oklch(0 0.399 336.3) h s l)'] - expected: FAIL - - [Property color value 'hwb(from color(display-p3 0 1 0) h w b / alpha)'] - expected: FAIL - - [Property color value 'hwb(from lab(100 104.3 -50.9) h w b)'] - expected: FAIL - - [Property color value 'hwb(from lab(0 104.3 -50.9) h w b)'] - expected: FAIL - - [Property color value 'hwb(from lch(100 116 334) h w b)'] - expected: FAIL - - [Property color value 'hwb(from lch(0 116 334) h w b)'] - expected: FAIL - - [Property color value 'hwb(from oklab(1 0.365 -0.16) h w b)'] - expected: FAIL - - [Property color value 'hwb(from oklab(0 0.365 -0.16) h w b)'] - expected: FAIL - - [Property color value 'hwb(from oklch(1 0.399 336.3) h w b)'] - expected: FAIL - - [Property color value 'hwb(from oklch(0 0.399 336.3) h w b)'] - expected: FAIL