Skip to content

Commit 69ce215

Browse files
committed
follow-up to 39f98bf rgba() was missed
1 parent eb35449 commit 69ce215

File tree

1 file changed

+20
-9
lines changed

1 file changed

+20
-9
lines changed

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

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,26 @@
3333
public class RGBA extends RGB {
3434
static final String functionname = "rgba";
3535

36-
public static final CssIdent r, g, b, a;
36+
public static final CssIdent[] colorRelativeValues;
3737

3838
static {
39-
r = CssIdent.getIdent("r");
40-
g = CssIdent.getIdent("g");
41-
b = CssIdent.getIdent("b");
42-
a = CssIdent.getIdent("alpha");
39+
String[] _allowed_values = {"r", "g", "b", "alpha"};
40+
colorRelativeValues = new CssIdent[_allowed_values.length];
41+
int i = 0;
42+
for (String s : _allowed_values) {
43+
colorRelativeValues[i++] = CssIdent.getIdent(s);
44+
}
4345
}
4446

47+
public static boolean isColorRelativeValue(CssIdent ident) {
48+
for (CssIdent id : colorRelativeValues) {
49+
if (id.equals(ident)) {
50+
return true;
51+
}
52+
}
53+
return false;
54+
}
55+
4556
private String output = null;
4657
String fname;
4758

@@ -263,7 +274,7 @@ public static RGBA parseModernRGBA(ApplContext ac, CssExpression exp, CssColor c
263274
break;
264275
case CssTypes.CSS_IDENT:
265276
if ((CssColor.none.equals(val.getIdent()) && rgba.isModernCss) ||
266-
(rgba.isRelative && r.equals(val.getIdent()))) {
277+
(rgba.isRelative && isColorRelativeValue(val.getIdent()))) {
267278
rgba.setRed(ac, val);
268279
break;
269280
}
@@ -301,7 +312,7 @@ public static RGBA parseModernRGBA(ApplContext ac, CssExpression exp, CssColor c
301312
break;
302313
case CssTypes.CSS_IDENT:
303314
if ((CssColor.none.equals(val.getIdent()) && rgba.isModernCss) ||
304-
(rgba.isRelative && g.equals(val.getIdent()))) {
315+
(rgba.isRelative && isColorRelativeValue(val.getIdent()))) {
305316
rgba.setGreen(ac, val);
306317
break;
307318
}
@@ -338,7 +349,7 @@ public static RGBA parseModernRGBA(ApplContext ac, CssExpression exp, CssColor c
338349
break;
339350
case CssTypes.CSS_IDENT:
340351
if ((CssColor.none.equals(val.getIdent()) && rgba.isModernCss) ||
341-
(rgba.isRelative && b.equals(val.getIdent()))) {
352+
(rgba.isRelative && isColorRelativeValue(val.getIdent()))) {
342353
rgba.setBlue(ac, val);
343354
break;
344355
}
@@ -382,7 +393,7 @@ public static RGBA parseModernRGBA(ApplContext ac, CssExpression exp, CssColor c
382393
break;
383394
case CssTypes.CSS_IDENT:
384395
if ((CssColor.none.equals(val.getIdent()) && rgba.isModernCss) ||
385-
(rgba.isRelative && a.equals(val.getIdent()))) {
396+
(rgba.isRelative && isColorRelativeValue(val.getIdent()))) {
386397
rgba.setAlpha(ac, val);
387398
break;
388399
}

0 commit comments

Comments
 (0)