forked from mirrors/gecko-dev
Bug 1897092 - Don't clamp hsl/hwb channels for modern syntax colors r=layout-reviewers,emilio
If hsl/hwb colors were created with rcs, then they are assumed to be modern syntax and thens hould not be gamut mapped/clipped in any way. Differential Revision: https://phabricator.services.mozilla.com/D210615
This commit is contained in:
parent
d390640225
commit
dbd7895df6
3 changed files with 28 additions and 64 deletions
|
|
@ -114,8 +114,20 @@ impl ColorFunction {
|
||||||
let mut result = AbsoluteColor::new(
|
let mut result = AbsoluteColor::new(
|
||||||
ColorSpace::Hsl,
|
ColorSpace::Hsl,
|
||||||
value!(h).map(|angle| normalize_hue(angle.degrees())),
|
value!(h).map(|angle| normalize_hue(angle.degrees())),
|
||||||
value!(s).map(|s| s.to_number(SATURATION_RANGE).clamp(0.0, SATURATION_RANGE)),
|
value!(s).map(|s| {
|
||||||
value!(l).map(|l| l.to_number(LIGHTNESS_RANGE).clamp(0.0, LIGHTNESS_RANGE)),
|
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),
|
alpha!(alpha),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -133,8 +145,20 @@ impl ColorFunction {
|
||||||
let mut result = AbsoluteColor::new(
|
let mut result = AbsoluteColor::new(
|
||||||
ColorSpace::Hwb,
|
ColorSpace::Hwb,
|
||||||
value!(h).map(|angle| normalize_hue(angle.degrees())),
|
value!(h).map(|angle| normalize_hue(angle.degrees())),
|
||||||
value!(w).map(|w| w.to_number(WHITENESS_RANGE).clamp(0.0, WHITENESS_RANGE)),
|
value!(w).map(|w| {
|
||||||
value!(b).map(|b| b.to_number(BLACKNESS_RANGE).clamp(0.0, BLACKNESS_RANGE)),
|
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),
|
alpha!(alpha),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,9 +16,3 @@
|
||||||
|
|
||||||
[Property color value 'lch(from color(srgb 0.25 0.5 0.75) l c h)']
|
[Property color value 'lch(from color(srgb 0.25 0.5 0.75) l c h)']
|
||||||
expected: FAIL
|
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
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
|
||||||
Loading…
Reference in a new issue