Skip to content

Commit b6a7c3b

Browse files
committed
proper check for css-wide idents
1 parent 6376862 commit b6a7c3b

19 files changed

+69
-86
lines changed

org/w3c/css/properties/css3/CssAccentColor.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,13 +61,14 @@ public CssAccentColor(ApplContext ac, CssExpression expression, boolean check)
6161
expression.next();
6262
break;
6363
case CssTypes.CSS_IDENT:
64-
if (auto.equals(val)) {
65-
value = auto;
64+
CssIdent id = val.getIdent();
65+
if (auto.equals(id)) {
66+
value = val;
6667
expression.next();
6768
break;
6869
}
69-
if (inherit.equals(val)) {
70-
value = inherit;
70+
if (CssIdent.isCssWide(id)) {
71+
value = val;
7172
expression.next();
7273
break;
7374
}

org/w3c/css/properties/css3/CssAspectRatio.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -78,16 +78,17 @@ public CssAspectRatio(ApplContext ac, CssExpression expression, boolean check)
7878
throw new InvalidParamException("value", val.toString(),
7979
getPropertyName(), ac);
8080
case CssTypes.CSS_IDENT:
81-
if (inherit.equals(val)) {
81+
CssIdent id = val.getIdent();
82+
if (inherit.equals(id)) {
8283
if (expression.getCount() > 1) {
8384
throw new InvalidParamException("value", val.toString(),
8485
getPropertyName(), ac);
8586
}
86-
v.add(inherit);
87+
v.add(val);
8788
break;
8889
}
89-
if (auto.equals(val)) {
90-
v.add(auto);
90+
if (auto.equals(id)) {
91+
v.add(val);
9192
break;
9293
}
9394
// unrecognize ident, let it fail

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import org.w3c.css.util.InvalidParamException;
1111
import org.w3c.css.values.CssExpression;
1212
import org.w3c.css.values.CssFunction;
13+
import org.w3c.css.values.CssIdent;
1314
import org.w3c.css.values.CssTypes;
1415
import org.w3c.css.values.CssValue;
1516

@@ -55,7 +56,7 @@ public CssColor(ApplContext ac, CssExpression expression, boolean check)
5556
}
5657
break;
5758
case CssTypes.CSS_IDENT:
58-
if (inherit.equals(val.getIdent())) {
59+
if (CssIdent.isCssWide(val.getIdent())) {
5960
value = val;
6061
} else {
6162
color = new org.w3c.css.values.CssColor(ac, val.getIdent().toString());

org/w3c/css/properties/css3/CssColorScheme.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -78,28 +78,29 @@ public CssColorScheme(ApplContext ac, CssExpression expression, boolean check)
7878
getPropertyName(), ac);
7979
}
8080
// ident, so inherit, or allowed value
81-
if (inherit.equals(val)) {
81+
CssIdent id = val.getIdent();
82+
if (inherit.equals(id)) {
8283
if (expression.getCount() > 1) {
8384
throw new InvalidParamException("unrecognize", ac);
8485
}
85-
value = inherit;
86-
} else if (normal.equals(val)) {
86+
value = val;
87+
} else if (normal.equals(id)) {
8788
if (expression.getCount() > 1) {
8889
throw new InvalidParamException("unrecognize", ac);
8990
}
90-
value = normal;
91-
} else if (only.equals(val)) {
91+
value = val;
92+
} else if (only.equals(id)) {
9293
if (gotOnly) {
9394
throw new InvalidParamException("unrecognize", ac);
9495
}
9596
if (expression.getCount() > 2) {
9697
throw new InvalidParamException("unrecognize", ac);
9798
}
9899
gotOnly = true;
99-
values.add(only);
100-
} else if (light.equals(val)) {
100+
values.add(val);
101+
} else if (light.equals(id)) {
101102
gotLight = true;
102-
values.add(light);
103+
values.add(val);
103104
} else {
104105
values.add(val);
105106
}

org/w3c/css/properties/css3/CssCounterIncrement.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -51,14 +51,6 @@ public CssCounterIncrement(ApplContext ac, CssExpression expression, boolean che
5151
switch (val.getType()) {
5252
case CssTypes.CSS_IDENT:
5353
CssIdent id = val.getIdent();
54-
if (inherit.equals(id)) {
55-
value = val;
56-
if (expression.getCount() > 1) {
57-
throw new InvalidParamException("value", val,
58-
getPropertyName(), ac);
59-
}
60-
break;
61-
}
6254
if (none.equals(id)) {
6355
value = val;
6456
if (expression.getCount() > 1) {

org/w3c/css/properties/css3/CssCounterReset.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52,14 +52,6 @@ public CssCounterReset(ApplContext ac, CssExpression expression, boolean check)
5252
switch (val.getType()) {
5353
case CssTypes.CSS_IDENT:
5454
CssIdent id = val.getIdent();
55-
if (inherit.equals(id)) {
56-
value = val;
57-
if (expression.getCount() > 1) {
58-
throw new InvalidParamException("value", val,
59-
getPropertyName(), ac);
60-
}
61-
break;
62-
}
6355
if (none.equals(val)) {
6456
value = val;
6557
if (expression.getCount() > 1) {

org/w3c/css/properties/css3/CssCounterSet.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52,14 +52,6 @@ public CssCounterSet(ApplContext ac, CssExpression expression, boolean check)
5252
switch (val.getType()) {
5353
case CssTypes.CSS_IDENT:
5454
CssIdent id = val.getIdent();
55-
if (inherit.equals(id)) {
56-
value = val;
57-
if (expression.getCount() > 1) {
58-
throw new InvalidParamException("value", val,
59-
getPropertyName(), ac);
60-
}
61-
break;
62-
}
6355
if (none.equals(id)) {
6456
value = val;
6557
if (expression.getCount() > 1) {

org/w3c/css/properties/css3/CssCue.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import org.w3c.css.util.ApplContext;
1010
import org.w3c.css.util.InvalidParamException;
1111
import org.w3c.css.values.CssExpression;
12+
import org.w3c.css.values.CssIdent;
1213
import org.w3c.css.values.CssOperator;
1314
import org.w3c.css.values.CssTypes;
1415
import org.w3c.css.values.CssValue;
@@ -61,6 +62,8 @@ public CssCue(ApplContext ac, CssExpression expression, boolean check)
6162
}
6263
cssCueAfter = new CssCueAfter();
6364
cssCueAfter.value = checkCueValue(ac, expression, this);
65+
// FIXME check for double reserved keyword instead of just inherit
66+
// as a value
6467
if (cssCueBefore.value == inherit || cssCueAfter.value == inherit) {
6568
throw new InvalidParamException("value",
6669
inherit, getPropertyName(), ac);
@@ -113,17 +116,17 @@ protected static CssValue checkCueValue(ApplContext ac, CssExpression expression
113116
expression.next();
114117
return val;
115118
case CssTypes.CSS_IDENT:
116-
if (inherit.equals(val)) {
119+
if (CssIdent.isCssWide(val.getIdent())) {
117120
if (expression.getCount() > 1) {
118121
throw new InvalidParamException("value",
119-
inherit, caller.getPropertyName(), ac);
122+
val, caller.getPropertyName(), ac);
120123
}
121124
expression.next();
122-
return inherit;
125+
return val;
123126
}
124-
if (none.equals(val)) {
127+
if (none.equals(val.getIdent())) {
125128
expression.next();
126-
return none;
129+
return val;
127130
}
128131
default:
129132
throw new InvalidParamException("value",

org/w3c/css/properties/css3/CssDirection.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import org.w3c.css.util.ApplContext;
99
import org.w3c.css.util.InvalidParamException;
1010
import org.w3c.css.values.CssExpression;
11+
import org.w3c.css.values.CssIdent;
1112
import org.w3c.css.values.CssTypes;
1213
import org.w3c.css.values.CssValue;
1314

@@ -44,12 +45,13 @@ public CssDirection(ApplContext ac, CssExpression expression,
4445
throw new InvalidParamException("value", expression.getValue(),
4546
getPropertyName(), ac);
4647
}
47-
if (val.equals(inherit)) {
48-
value = inherit;
49-
} else if (val.equals(ltr)) {
50-
value = ltr;
51-
} else if (val.equals(rtl)) {
52-
value = rtl;
48+
CssIdent id = val.getIdent();
49+
if (CssIdent.isCssWide(id)) {
50+
value = val;
51+
} else if (id.equals(ltr)) {
52+
value = val;
53+
} else if (id.equals(rtl)) {
54+
value = val;
5355
} else {
5456
throw new InvalidParamException("value", expression.getValue(),
5557
getPropertyName(), ac);

org/w3c/css/properties/css3/CssGridTemplateColumns.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,7 @@ public CssGridTemplateColumns() {
3434
* Creates a new CssGridTemplateColumns
3535
*
3636
* @param expression The expression for this property
37-
* @throws org.w3c.css.util.InvalidParamException
38-
* Expressions are incorrect
37+
* @throws org.w3c.css.util.InvalidParamException Expressions are incorrect
3938
*/
4039
public CssGridTemplateColumns(ApplContext ac, CssExpression expression, boolean check)
4140
throws InvalidParamException {
@@ -50,19 +49,20 @@ public CssGridTemplateColumns(ApplContext ac, CssExpression expression, boolean
5049

5150
switch (val.getType()) {
5251
case CssTypes.CSS_IDENT:
53-
if (inherit.equals(val)) {
52+
CssIdent id = val.getIdent();
53+
if (CssIdent.isCssWide(id)) {
5454
if (expression.getCount() > 1) {
5555
throw new InvalidParamException("unrecognize", ac);
5656
}
57-
values.add(inherit);
57+
values.add(val);
5858
expression.next();
5959
break;
6060
}
61-
if (none.equals(val)) {
61+
if (none.equals(id)) {
6262
if (expression.getCount() > 1) {
6363
throw new InvalidParamException("unrecognize", ac);
6464
}
65-
values.add(none);
65+
values.add(val);
6666
expression.next();
6767
break;
6868
}

org/w3c/css/properties/css3/CssIcon.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,22 +54,23 @@ public CssIcon(ApplContext ac, CssExpression expression, boolean check)
5454
values.add(val);
5555
break;
5656
case CssTypes.CSS_IDENT:
57-
if (inherit.equals(val)) {
57+
CssIdent id = val.getIdent();
58+
if (CssIdent.isCssWide(id)) {
5859
if (expression.getCount() > 1) {
5960
throw new InvalidParamException("value",
60-
inherit.toString(),
61+
val.toString(),
6162
getPropertyName(), ac);
6263
}
63-
values.add(inherit);
64+
values.add(val);
6465
break;
6566
}
66-
if (auto.equals(val)) {
67+
if (auto.equals(id)) {
6768
if (expression.getCount() > 1) {
6869
throw new InvalidParamException("value",
69-
auto.toString(),
70+
val.toString(),
7071
getPropertyName(), ac);
7172
}
72-
values.add(auto);
73+
values.add(val);
7374
break;
7475
}
7576
default:

org/w3c/css/properties/css3/CssLetterSpacing.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,12 @@ public CssLetterSpacing(ApplContext ac, CssExpression expression,
5050
value = val;
5151
break;
5252
case CssTypes.CSS_IDENT:
53-
if (inherit.equals(val)) {
54-
value = inherit;
53+
CssIdent id = val.getIdent();
54+
if (CssIdent.isCssWide(id)) {
55+
value = val;
5556
break;
56-
} else if (normal.equals(val)) {
57-
value = normal;
57+
} else if (normal.equals(id)) {
58+
value = val;
5859
break;
5960
}
6061
default:

org/w3c/css/properties/css3/CssWhiteSpace.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public CssWhiteSpace(ApplContext ac, CssExpression expression, boolean check)
6666
throw new InvalidParamException("value", expression.getValue(),
6767
getPropertyName(), ac);
6868
}
69-
if (inherit.equals(val.getIdent())) {
69+
if (CssIdent.isCssWide(val.getIdent())) {
7070
value = val;
7171
} else if (getMatchingIdent(val.getIdent()) != null) {
7272
value = val;

org/w3c/css/properties/css3/CssWidows.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,7 @@ public CssWidows() {
3535
* @param ac The context
3636
* @param expression The expression for this property
3737
* @param check true will test the number of parameters
38-
* @throws org.w3c.css.util.InvalidParamException
39-
* The expression is incorrect
38+
* @throws org.w3c.css.util.InvalidParamException The expression is incorrect
4039
*/
4140
public CssWidows(ApplContext ac, CssExpression expression, boolean check)
4241
throws InvalidParamException {
@@ -56,8 +55,7 @@ public CssWidows(ApplContext ac, CssExpression expression, boolean check)
5655
value = val;
5756
break;
5857
case CssTypes.CSS_IDENT:
59-
CssIdent ide = val.getIdent();
60-
if (inherit.equals(ide)) {
58+
if (CssIdent.isCssWide(val.getIdent())) {
6159
value = val;
6260
break;
6361
}
@@ -73,8 +71,7 @@ public CssWidows(ApplContext ac, CssExpression expression, boolean check)
7371
*
7472
* @param ac, the Context
7573
* @param expression The expression for this property
76-
* @throws org.w3c.css.util.InvalidParamException
77-
* The expression is incorrect
74+
* @throws org.w3c.css.util.InvalidParamException The expression is incorrect
7875
*/
7976
public CssWidows(ApplContext ac, CssExpression expression)
8077
throws InvalidParamException {

org/w3c/css/properties/css3/CssWidth.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,11 +87,11 @@ public static final CssValue parseWidth(ApplContext ac, CssExpression expression
8787
CssValue val = expression.getValue();
8888
switch (val.getType()) {
8989
case CssTypes.CSS_IDENT:
90-
if (inherit.equals(val.getIdent())) {
90+
CssIdent id = val.getIdent();
91+
if (CssIdent.isCssWide(id)) {
9192
v = val;
9293
} else {
93-
CssIdent id = getAllowedIdent(val.getIdent());
94-
if (id != null) {
94+
if (getAllowedIdent(id) != null) {
9595
v = val;
9696
} else {
9797
throw new InvalidParamException("unrecognize", ac);

org/w3c/css/properties/css3/CssWordBreak.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public class CssWordBreak extends org.w3c.css.properties.css.CssWordBreak {
2222

2323
static {
2424
String[] _allowed_values = {"normal", "keep-all", "break-all",
25-
"break-word"};
25+
"break-word"};
2626
allowed_values = new CssIdent[_allowed_values.length];
2727
int i = 0;
2828
for (String s : _allowed_values) {
@@ -51,8 +51,7 @@ public CssWordBreak() {
5151
* Creates a new CssWorkBreak
5252
*
5353
* @param expression The expression for this property
54-
* @throws org.w3c.css.util.InvalidParamException
55-
* Expressions are incorrect
54+
* @throws org.w3c.css.util.InvalidParamException Expressions are incorrect
5655
*/
5756
public CssWordBreak(ApplContext ac, CssExpression expression, boolean check)
5857
throws InvalidParamException {
@@ -69,7 +68,7 @@ public CssWordBreak(ApplContext ac, CssExpression expression, boolean check)
6968

7069
if (val.getType() == CssTypes.CSS_IDENT) {
7170
CssIdent ident = val.getIdent();
72-
if (inherit.equals(ident)) {
71+
if (CssIdent.isCssWide(ident)) {
7372
value = val;
7473
} else {
7574
if (getAllowedValue(ident) == null) {
@@ -79,7 +78,7 @@ public CssWordBreak(ApplContext ac, CssExpression expression, boolean check)
7978
}
8079
value = val;
8180
// break-word is deprecated
82-
if (break_word.equals(val.getIdent())) {
81+
if (break_word.equals(ident)) {
8382
ac.getFrame().addWarning("deprecated", val.toString());
8483
}
8584
}

org/w3c/css/properties/css3/CssWordSpacing.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public CssWordSpacing(ApplContext ac, CssExpression expression,
5757
value = val;
5858
break;
5959
case CssTypes.CSS_IDENT:
60-
if (inherit.equals(val.getIdent()) ||
60+
if (CssIdent.isCssWide(val.getIdent()) ||
6161
normal.equals(val.getIdent())) {
6262
value = val;
6363
break;

org/w3c/css/properties/css3/CssWritingMode.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public CssWritingMode(ApplContext ac, CssExpression expression, boolean check)
6666

6767
if (val.getType() == CssTypes.CSS_IDENT) {
6868
CssIdent ident = val.getIdent();
69-
if (inherit.equals(ident)) {
69+
if (CssIdent.isCssWide(ident)) {
7070
value = val;
7171
} else {
7272
if (getAllowedIdent(ident) == null) {

0 commit comments

Comments
 (0)