Skip to content

Commit 2c05610

Browse files
committed
LCH (and OKLCH) accept percentage as well
1 parent 13f8c0b commit 2c05610

File tree

1 file changed

+14
-7
lines changed

1 file changed

+14
-7
lines changed

org/w3c/css/values/color/LCH.java

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,11 @@ public static final LCH parseLCHColor(ApplContext ac, CssExpression exp, CssColo
9191

9292
// L
9393
switch (val.getType()) {
94-
case CssTypes.CSS_PERCENTAGE:
9594
case CssTypes.CSS_VARIABLE:
95+
exp.markCssVariable();
96+
caller.markCssVariable();
97+
case CssTypes.CSS_NUMBER:
98+
case CssTypes.CSS_PERCENTAGE:
9699
lch.setL(ac, val);
97100
break;
98101
case CssTypes.CSS_IDENT:
@@ -116,8 +119,11 @@ public static final LCH parseLCHColor(ApplContext ac, CssExpression exp, CssColo
116119
}
117120

118121
switch (val.getType()) {
119-
case CssTypes.CSS_NUMBER:
120122
case CssTypes.CSS_VARIABLE:
123+
exp.markCssVariable();
124+
caller.markCssVariable();
125+
case CssTypes.CSS_NUMBER:
126+
case CssTypes.CSS_PERCENTAGE:
121127
lch.setC(ac, val);
122128
break;
123129
case CssTypes.CSS_IDENT:
@@ -141,9 +147,11 @@ public static final LCH parseLCHColor(ApplContext ac, CssExpression exp, CssColo
141147
}
142148

143149
switch (val.getType()) {
150+
case CssTypes.CSS_VARIABLE:
151+
exp.markCssVariable();
152+
caller.markCssVariable();
144153
case CssTypes.CSS_NUMBER:
145154
case CssTypes.CSS_ANGLE:
146-
case CssTypes.CSS_VARIABLE:
147155
lch.setH(ac, val);
148156
break;
149157
case CssTypes.CSS_IDENT:
@@ -214,13 +222,12 @@ public static final CssValue filterC(ApplContext ac, CssValue val)
214222
// TODO add warning about uncheckability
215223
// might need to extend...
216224
} else {
217-
if (val.getType() == CssTypes.CSS_NUMBER) {
225+
if ((val.getType() == CssTypes.CSS_NUMBER) ||
226+
(val.getType() == CssTypes.CSS_PERCENTAGE)) {
218227
CssCheckableValue v = val.getCheckableValue();
219228
if (!v.isPositive()) {
220229
ac.getFrame().addWarning("out-of-range", val.toString());
221-
CssNumber nb = new CssNumber();
222-
nb.setValue(BigDecimal.ZERO);
223-
return nb;
230+
val.getCheckableValue().setValue(BigDecimal.ZERO);
224231
}
225232
}
226233
}

0 commit comments

Comments
 (0)