Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(366)

Unified Diff: Source/core/css/CSSGrammar.y.in

Issue 14969002: CSS parsing recovery in function. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Merged Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « LayoutTests/fast/css/parsing-error-recovery.html ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/css/CSSGrammar.y.in
diff --git a/Source/core/css/CSSGrammar.y.in b/Source/core/css/CSSGrammar.y.in
index 4742cf9725edd73685d6263eb6d1bd2a854e8c3f..0629bb64b08650a9c28ea9a7cd66f8d84866b2c3 100644
--- a/Source/core/css/CSSGrammar.y.in
+++ b/Source/core/css/CSSGrammar.y.in
@@ -87,7 +87,7 @@ static inline bool isCSSTokenAString(int yytype)
%}
-%expect 33
+%expect 32
%nonassoc LOWEST_PREC
@@ -1678,13 +1678,13 @@ term:
$$.unit = CSSPrimitiveValue::CSS_VARIABLE_NAME;
}
/* FIXME: according to the specs a function can have a unary_operator in front. I know no case where this makes sense */
- | function {
+ | function maybe_space {
$$ = $1;
}
- | calc_function {
+ | calc_function maybe_space {
$$ = $1;
}
- | min_or_max_function {
+ | min_or_max_function maybe_space {
$$ = $1;
}
| '%' maybe_space { /* Handle width: %; */
@@ -1732,7 +1732,7 @@ unary_term:
;
function:
- FUNCTION maybe_space expr closing_parenthesis maybe_space {
+ FUNCTION maybe_space expr closing_parenthesis {
CSSParserFunction* f = parser->createFloatingFunction();
f->name = $1;
f->args = parser->sinkFloatingValueList($3);
@@ -1740,7 +1740,7 @@ function:
$$.unit = CSSParserValue::Function;
$$.function = f;
} |
- FUNCTION maybe_space closing_parenthesis maybe_space {
+ FUNCTION maybe_space closing_parenthesis {
CSSParserFunction* f = parser->createFloatingFunction();
f->name = $1;
CSSParserValueList* valueList = parser->createFloatingValueList();
@@ -1749,7 +1749,7 @@ function:
$$.unit = CSSParserValue::Function;
$$.function = f;
} |
- FUNCTION maybe_space error {
+ FUNCTION maybe_space expr_recovery closing_parenthesis {
CSSParserFunction* f = parser->createFloatingFunction();
f->name = $1;
f->args = nullptr;
@@ -1860,7 +1860,7 @@ calc_func_expr_list:
;
calc_function:
- CALCFUNCTION maybe_space calc_func_expr calc_maybe_space closing_parenthesis maybe_space {
+ CALCFUNCTION maybe_space calc_func_expr calc_maybe_space closing_parenthesis {
CSSParserFunction* f = parser->createFloatingFunction();
f->name = $1;
f->args = parser->sinkFloatingValueList($3);
@@ -1868,7 +1868,7 @@ calc_function:
$$.unit = CSSParserValue::Function;
$$.function = f;
}
- | CALCFUNCTION maybe_space error {
+ | CALCFUNCTION maybe_space expr_recovery closing_parenthesis {
YYERROR;
}
;
@@ -1884,7 +1884,7 @@ min_or_max:
;
min_or_max_function:
- min_or_max maybe_space calc_func_expr_list closing_parenthesis maybe_space {
+ min_or_max maybe_space calc_func_expr_list closing_parenthesis {
CSSParserFunction* f = parser->createFloatingFunction();
f->name = $1;
f->args = parser->sinkFloatingValueList($3);
@@ -1892,7 +1892,7 @@ min_or_max_function:
$$.unit = CSSParserValue::Function;
$$.function = f;
}
- | min_or_max maybe_space error {
+ | min_or_max maybe_space expr_recovery closing_parenthesis {
YYERROR;
}
;
« no previous file with comments | « LayoutTests/fast/css/parsing-error-recovery.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698