Skip to content

Commit 9d5a4df

Browse files
authored
Merge pull request w3c#216 from w3c/color-4
It misses color() and link to a published specification, it contain fixes for the new CSS syntax.
2 parents 445f7d9 + c898850 commit 9d5a4df

36 files changed

+1201
-533
lines changed

org/w3c/css/parser/analyzer/CssParser.java

Lines changed: 39 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,7 @@
66
import java.io.InputStreamReader;
77
import java.io.UnsupportedEncodingException;
88
import java.util.ArrayList;
9-
import java.util.Iterator;
109
import java.net.URL;
11-
import java.math.BigDecimal;
1210

1311
import org.w3c.css.values.CssValue;
1412
import org.w3c.css.values.CssOperator;
@@ -39,7 +37,6 @@
3937
import org.w3c.css.values.CssTypes;
4038
import org.w3c.css.values.CssVolume;
4139
import org.w3c.css.properties.css.CssProperty;
42-
import org.w3c.css.parser.Frame;
4340
import org.w3c.css.parser.CssError;
4441
import org.w3c.css.parser.CssErrorToken;
4542
import org.w3c.css.parser.CssSelectors;
@@ -63,7 +60,6 @@
6360
import org.w3c.css.util.InvalidParamException;
6461
import org.w3c.css.util.WarningParamException;
6562
import org.w3c.css.util.Util;
66-
import org.w3c.css.util.Messages;
6763

6864
import org.w3c.css.selectors.AdjacentSiblingSelector;
6965
import org.w3c.css.selectors.AttributeSelector;
@@ -6097,19 +6093,31 @@ final public boolean prio() throws ParseException {
60976093
jj_consume_token(LPARAN);
60986094
String funcname = n.image.toLowerCase();
60996095
if (funcname.equals("rgb(")) {
6100-
color.setRGBColor(exp, ac);
6096+
color.setRGBColor(ac, exp);
61016097
{if ("" != null) return color;}
61026098
} else if (funcname.equals("rgba(")) {
6103-
color.setRGBAColor(exp, ac);
6099+
color.setRGBAColor(ac, exp);
61046100
{if ("" != null) return color;}
61056101
} else if (funcname.equals("hsl(")) {
6106-
color.setHSLColor(exp, ac);
6102+
color.setHSLColor(ac, exp);
61076103
{if ("" != null) return color;}
61086104
} else if (funcname.equals("hsla(")) {
6109-
color.setHSLAColor(exp, ac);
6105+
color.setHSLColor(ac, exp);
61106106
{if ("" != null) return color;}
61116107
} else if (funcname.equals("hwb(")) {
6112-
color.setHWBColor(exp, ac);
6108+
color.setHWBColor(ac, exp);
6109+
{if ("" != null) return color;}
6110+
} else if (funcname.equals("lab(")) {
6111+
color.setLABColor(ac, exp);
6112+
{if ("" != null) return color;}
6113+
} else if (funcname.equals("gray(")) {
6114+
color.setGrayColor(ac, exp);
6115+
{if ("" != null) return color;}
6116+
} else if (funcname.equals("lch(")) {
6117+
color.setLCHColor(ac, exp);
6118+
{if ("" != null) return color;}
6119+
} else if (funcname.equals("device-cmyk(")) {
6120+
color.setDeviceCMYKColor(ac, exp);
61136121
{if ("" != null) return color;}
61146122
} else if (funcname.equals("image(")) {
61156123
CssImage img = new CssImage();
@@ -6133,7 +6141,7 @@ final public boolean prio() throws ParseException {
61336141
{if ("" != null) return img;}
61346142
} else if (funcname.equals("atsc-rgba(")) {
61356143
if (getAtRule().toString().equals("@media atsc-tv")) {
6136-
color.setATSCRGBAColor(exp, ac);
6144+
color.setATSCRGBAColor(ac, exp);
61376145
{if ("" != null) return color;}
61386146
} else {
61396147
addError(new InvalidParamException("onlyATSC", "", ac),
@@ -6975,15 +6983,15 @@ private boolean jj_3R_200()
69756983
return false;
69766984
}
69776985

6978-
private boolean jj_3R_211()
6986+
private boolean jj_3R_199()
69796987
{
6980-
if (jj_scan_token(COMMA)) return true;
6988+
if (jj_scan_token(IMPORTANT_NOT)) return true;
69816989
return false;
69826990
}
69836991

6984-
private boolean jj_3R_199()
6992+
private boolean jj_3R_211()
69856993
{
6986-
if (jj_scan_token(IMPORTANT_NOT)) return true;
6994+
if (jj_scan_token(COMMA)) return true;
69876995
return false;
69886996
}
69896997

@@ -7023,6 +7031,17 @@ private boolean jj_3R_216()
70237031
return false;
70247032
}
70257033

7034+
private boolean jj_3R_214()
7035+
{
7036+
Token xsp;
7037+
xsp = jj_scanpos;
7038+
if (jj_scan_token(39)) {
7039+
jj_scanpos = xsp;
7040+
if (jj_scan_token(40)) return true;
7041+
}
7042+
return false;
7043+
}
7044+
70267045
private boolean jj_3R_197()
70277046
{
70287047
if (jj_scan_token(DIMEN)) return true;
@@ -7071,17 +7090,6 @@ private boolean jj_3R_190()
70717090
return false;
70727091
}
70737092

7074-
private boolean jj_3R_214()
7075-
{
7076-
Token xsp;
7077-
xsp = jj_scanpos;
7078-
if (jj_scan_token(39)) {
7079-
jj_scanpos = xsp;
7080-
if (jj_scan_token(40)) return true;
7081-
}
7082-
return false;
7083-
}
7084-
70857093
private boolean jj_3R_189()
70867094
{
70877095
if (jj_scan_token(ABSOLUTLENGTH)) return true;
@@ -7094,6 +7102,12 @@ private boolean jj_3R_188()
70947102
return false;
70957103
}
70967104

7105+
private boolean jj_3R_217()
7106+
{
7107+
if (jj_scan_token(IDENT)) return true;
7108+
return false;
7109+
}
7110+
70977111
private boolean jj_3R_187()
70987112
{
70997113
if (jj_scan_token(RELFONTLENGTH)) return true;
@@ -7194,12 +7208,6 @@ private boolean jj_3R_169()
71947208
return false;
71957209
}
71967210

7197-
private boolean jj_3R_217()
7198-
{
7199-
if (jj_scan_token(IDENT)) return true;
7200-
return false;
7201-
}
7202-
72037211
private boolean jj_3_1()
72047212
{
72057213
if (jj_3R_147()) return true;

org/w3c/css/parser/analyzer/CssParser.jj

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,7 @@ import java.io.InputStream;
2525
import java.io.InputStreamReader;
2626
import java.io.UnsupportedEncodingException;
2727
import java.util.ArrayList;
28-
import java.util.Iterator;
2928
import java.net.URL;
30-
import java.math.BigDecimal;
3129

3230
import org.w3c.css.values.CssValue;
3331
import org.w3c.css.values.CssOperator;
@@ -58,7 +56,6 @@ import org.w3c.css.values.CssSemitone;
5856
import org.w3c.css.values.CssTypes;
5957
import org.w3c.css.values.CssVolume;
6058
import org.w3c.css.properties.css.CssProperty;
61-
import org.w3c.css.parser.Frame;
6259
import org.w3c.css.parser.CssError;
6360
import org.w3c.css.parser.CssErrorToken;
6461
import org.w3c.css.parser.CssSelectors;
@@ -82,7 +79,6 @@ import org.w3c.css.util.CssVersion;
8279
import org.w3c.css.util.InvalidParamException;
8380
import org.w3c.css.util.WarningParamException;
8481
import org.w3c.css.util.Util;
85-
import org.w3c.css.util.Messages;
8682

8783
import org.w3c.css.selectors.AdjacentSiblingSelector;
8884
import org.w3c.css.selectors.AttributeSelector;
@@ -3037,19 +3033,31 @@ CssValue function() :
30373033
")" {
30383034
String funcname = n.image.toLowerCase();
30393035
if (funcname.equals("rgb(")) {
3040-
color.setRGBColor(exp, ac);
3036+
color.setRGBColor(ac, exp);
30413037
return color;
30423038
} else if (funcname.equals("rgba(")) {
3043-
color.setRGBAColor(exp, ac);
3039+
color.setRGBAColor(ac, exp);
30443040
return color;
30453041
} else if (funcname.equals("hsl(")) {
3046-
color.setHSLColor(exp, ac);
3042+
color.setHSLColor(ac, exp);
30473043
return color;
30483044
} else if (funcname.equals("hsla(")) {
3049-
color.setHSLAColor(exp, ac);
3045+
color.setHSLColor(ac, exp);
30503046
return color;
30513047
} else if (funcname.equals("hwb(")) {
3052-
color.setHWBColor(exp, ac);
3048+
color.setHWBColor(ac, exp);
3049+
return color;
3050+
} else if (funcname.equals("lab(")) {
3051+
color.setLABColor(ac, exp);
3052+
return color;
3053+
} else if (funcname.equals("gray(")) {
3054+
color.setGrayColor(ac, exp);
3055+
return color;
3056+
} else if (funcname.equals("lch(")) {
3057+
color.setLCHColor(ac, exp);
3058+
return color;
3059+
} else if (funcname.equals("device-cmyk(")) {
3060+
color.setDeviceCMYKColor(ac, exp);
30533061
return color;
30543062
} else if (funcname.equals("image(")) {
30553063
CssImage img = new CssImage();
@@ -3073,7 +3081,7 @@ CssValue function() :
30733081
return img;
30743082
} else if (funcname.equals("atsc-rgba(")) {
30753083
if (getAtRule().toString().equals("@media atsc-tv")) {
3076-
color.setATSCRGBAColor(exp, ac);
3084+
color.setATSCRGBAColor(ac, exp);
30773085
return color;
30783086
} else {
30793087
addError(new InvalidParamException("onlyATSC", "", ac),

org/w3c/css/parser/analyzer/CssParserTokenManager.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@
55
import java.io.InputStreamReader;
66
import java.io.UnsupportedEncodingException;
77
import java.util.ArrayList;
8-
import java.util.Iterator;
98
import java.net.URL;
10-
import java.math.BigDecimal;
119
import org.w3c.css.values.CssValue;
1210
import org.w3c.css.values.CssOperator;
1311
import org.w3c.css.values.CssAngle;
@@ -37,7 +35,6 @@
3735
import org.w3c.css.values.CssTypes;
3836
import org.w3c.css.values.CssVolume;
3937
import org.w3c.css.properties.css.CssProperty;
40-
import org.w3c.css.parser.Frame;
4138
import org.w3c.css.parser.CssError;
4239
import org.w3c.css.parser.CssErrorToken;
4340
import org.w3c.css.parser.CssSelectors;
@@ -61,7 +58,6 @@
6158
import org.w3c.css.util.InvalidParamException;
6259
import org.w3c.css.util.WarningParamException;
6360
import org.w3c.css.util.Util;
64-
import org.w3c.css.util.Messages;
6561
import org.w3c.css.selectors.AdjacentSiblingSelector;
6662
import org.w3c.css.selectors.AttributeSelector;
6763
import org.w3c.css.selectors.ChildSelector;

org/w3c/css/properties/css1/CssBackgroundColor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public CssBackgroundColor(ApplContext ac, CssExpression expression,
6363
switch (val.getType()) {
6464
case CssTypes.CSS_HASH_IDENT:
6565
org.w3c.css.values.CssColor c = new org.w3c.css.values.CssColor();
66-
c.setShortRGBColor(val.toString(), ac);
66+
c.setShortRGBColor(ac, val.toString());
6767
setColor(c);
6868
break;
6969
case CssTypes.CSS_COLOR:

org/w3c/css/properties/css1/CssBorder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ protected static SideValues checkBorderSide(ApplContext ac, CssProperty caller,
132132
break;
133133
case CssTypes.CSS_HASH_IDENT:
134134
org.w3c.css.values.CssColor c = new org.w3c.css.values.CssColor();
135-
c.setShortRGBColor(val.toString(), ac);
135+
c.setShortRGBColor(ac, val.toString());
136136
_color = c;
137137
break;
138138
case CssTypes.CSS_COLOR:

org/w3c/css/properties/css1/CssBorderColor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ public CssBorderColor(ApplContext ac, CssExpression expression,
7070
switch (val.getType()) {
7171
case CssTypes.CSS_HASH_IDENT:
7272
org.w3c.css.values.CssColor c = new org.w3c.css.values.CssColor();
73-
c.setShortRGBColor(val.toString(), ac);
73+
c.setShortRGBColor(ac, val.toString());
7474
res.add(c);
7575
break;
7676
case CssTypes.CSS_COLOR:

org/w3c/css/properties/css1/CssColor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public CssColor(ApplContext ac, CssExpression expression, boolean check)
4646
switch (val.getType()) {
4747
case CssTypes.CSS_HASH_IDENT:
4848
org.w3c.css.values.CssColor c = new org.w3c.css.values.CssColor();
49-
c.setShortRGBColor(val.toString(), ac);
49+
c.setShortRGBColor(ac, val.toString());
5050
color = c;
5151
break;
5252
case CssTypes.CSS_IDENT:

org/w3c/css/properties/css2/CssBackgroundColor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public CssBackgroundColor(ApplContext ac, CssExpression expression,
4949
switch (val.getType()) {
5050
case CssTypes.CSS_HASH_IDENT:
5151
org.w3c.css.values.CssColor c = new org.w3c.css.values.CssColor();
52-
c.setShortRGBColor(val.toString(), ac);
52+
c.setShortRGBColor(ac, val.toString());
5353
setColor(c);
5454
break;
5555
case CssTypes.CSS_COLOR:

org/w3c/css/properties/css2/CssBorder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ protected static SideValues checkBorderSide(ApplContext ac, CssProperty caller,
130130
break;
131131
case CssTypes.CSS_HASH_IDENT:
132132
org.w3c.css.values.CssColor c = new org.w3c.css.values.CssColor();
133-
c.setShortRGBColor(val.toString(), ac);
133+
c.setShortRGBColor(ac, val.toString());
134134
_color = c;
135135
break;
136136
case CssTypes.CSS_COLOR:

org/w3c/css/properties/css2/CssBorderColor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public CssBorderColor(ApplContext ac, CssExpression expression,
6666
switch (val.getType()) {
6767
case CssTypes.CSS_HASH_IDENT:
6868
org.w3c.css.values.CssColor c = new org.w3c.css.values.CssColor();
69-
c.setShortRGBColor(val.toString(), ac);
69+
c.setShortRGBColor(ac, val.toString());
7070
res.add(c);
7171
break;
7272
case CssTypes.CSS_COLOR:
@@ -148,7 +148,7 @@ protected static CssValue checkBorderSideColor(ApplContext ac, CssProperty calle
148148
switch (val.getType()) {
149149
case CssTypes.CSS_HASH_IDENT:
150150
org.w3c.css.values.CssColor c = new org.w3c.css.values.CssColor();
151-
c.setShortRGBColor(val.toString(), ac);
151+
c.setShortRGBColor(ac, val.toString());
152152
retval = c;
153153
break;
154154
case CssTypes.CSS_COLOR:

org/w3c/css/properties/css2/CssColor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public CssColor(ApplContext ac, CssExpression expression, boolean check)
4848
switch (val.getType()) {
4949
case CssTypes.CSS_HASH_IDENT:
5050
org.w3c.css.values.CssColor c = new org.w3c.css.values.CssColor();
51-
c.setShortRGBColor(val.toString(), ac);
51+
c.setShortRGBColor(ac, val.toString());
5252
color = c;
5353
break;
5454
case CssTypes.CSS_IDENT:

org/w3c/css/properties/css2/CssOutlineColor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public CssOutlineColor(ApplContext ac, CssExpression expression, boolean check)
5454
break;
5555
case CssTypes.CSS_HASH_IDENT:
5656
org.w3c.css.values.CssColor c = new org.w3c.css.values.CssColor();
57-
c.setShortRGBColor(val.toString(), ac);
57+
c.setShortRGBColor(ac, val.toString());
5858
value = c;
5959
break;
6060
case CssTypes.CSS_IDENT:

org/w3c/css/properties/css21/CssBackgroundColor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public CssBackgroundColor(ApplContext ac, CssExpression expression,
4545
switch (val.getType()) {
4646
case CssTypes.CSS_HASH_IDENT:
4747
org.w3c.css.values.CssColor c = new org.w3c.css.values.CssColor();
48-
c.setShortRGBColor(val.toString(), ac);
48+
c.setShortRGBColor(ac, val.toString());
4949
setColor(c);
5050
break;
5151
case CssTypes.CSS_COLOR:

org/w3c/css/properties/css21/CssBorder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ protected static SideValues checkBorderSide(ApplContext ac, CssProperty caller,
129129
break;
130130
case CssTypes.CSS_HASH_IDENT:
131131
org.w3c.css.values.CssColor c = new org.w3c.css.values.CssColor();
132-
c.setShortRGBColor(val.toString(), ac);
132+
c.setShortRGBColor(ac, val.toString());
133133
_color = c;
134134
break;
135135
case CssTypes.CSS_COLOR:

org/w3c/css/properties/css21/CssBorderColor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public CssBorderColor(ApplContext ac, CssExpression expression,
6666
switch (val.getType()) {
6767
case CssTypes.CSS_HASH_IDENT:
6868
org.w3c.css.values.CssColor c = new org.w3c.css.values.CssColor();
69-
c.setShortRGBColor(val.toString(), ac);
69+
c.setShortRGBColor(ac, val.toString());
7070
res.add(c);
7171
break;
7272
case CssTypes.CSS_COLOR:
@@ -149,7 +149,7 @@ protected static CssValue checkBorderSideColor(ApplContext ac, CssProperty calle
149149
switch (val.getType()) {
150150
case CssTypes.CSS_HASH_IDENT:
151151
org.w3c.css.values.CssColor c = new org.w3c.css.values.CssColor();
152-
c.setShortRGBColor(val.toString(), ac);
152+
c.setShortRGBColor(ac, val.toString());
153153
retval = c;
154154
break;
155155
case CssTypes.CSS_COLOR:

org/w3c/css/properties/css21/CssColor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public CssColor(ApplContext ac, CssExpression expression, boolean check)
4747
switch (val.getType()) {
4848
case CssTypes.CSS_HASH_IDENT:
4949
org.w3c.css.values.CssColor c = new org.w3c.css.values.CssColor();
50-
c.setShortRGBColor(val.toString(), ac);
50+
c.setShortRGBColor(ac, val.toString());
5151
color = c;
5252
break;
5353
case CssTypes.CSS_IDENT:

org/w3c/css/properties/css21/CssOutlineColor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public CssOutlineColor(ApplContext ac, CssExpression expression, boolean check)
5151
switch (val.getType()) {
5252
case CssTypes.CSS_HASH_IDENT:
5353
org.w3c.css.values.CssColor c = new org.w3c.css.values.CssColor();
54-
c.setShortRGBColor(val.toString(), ac);
54+
c.setShortRGBColor(ac, val.toString());
5555
value = c;
5656
break;
5757
case CssTypes.CSS_COLOR:

0 commit comments

Comments
 (0)