Index: Source/core/css/parser/CSSGrammar.y |
diff --git a/Source/core/css/parser/CSSGrammar.y b/Source/core/css/parser/CSSGrammar.y |
index ad8fe0322cb396b3c127c4d5227c0745214ab703..fff8806ed86f53d22676d25c78a369c3063830a0 100644 |
--- a/Source/core/css/parser/CSSGrammar.y |
+++ b/Source/core/css/parser/CSSGrammar.y |
@@ -350,6 +350,7 @@ inline static CSSParserValue makeIdentValue(CSSParserString string) |
%type <integer> unary_operator |
%type <integer> maybe_unary_operator |
%type <character> operator |
+%type <character> slash_operator |
%type <valueList> expr |
%type <value> term |
@@ -1607,6 +1608,12 @@ expr: |
$$ = $1; |
$$->addValue(parser->sinkFloatingValue($2)); |
} |
+ | expr slash_operator slash_operator term { |
+ $$ = $1; |
+ $$->addValue(makeOperatorValue($2)); |
+ $$->addValue(makeOperatorValue($3)); |
+ $$->addValue(parser->sinkFloatingValue($4)); |
+ } |
; |
expr_recovery: |
@@ -1615,10 +1622,14 @@ expr_recovery: |
} |
; |
+slash_operator: |
+ '/' maybe_space { |
+ $$ = '/'; |
+ } |
+ ; |
+ |
operator: |
- '/' maybe_space { |
- $$ = '/'; |
- } |
+ slash_operator |
| ',' maybe_space { |
$$ = ','; |
} |