Index: Source/core/css/CSSGrammar.y |
diff --git a/Source/core/css/CSSGrammar.y b/Source/core/css/CSSGrammar.y |
index 65c24613abe1b07027e56cbd26936cae5ba40c44..4b47b3de22c33111798b6a1a4d86a1bb6dc5b222 100644 |
--- a/Source/core/css/CSSGrammar.y |
+++ b/Source/core/css/CSSGrammar.y |
@@ -1045,15 +1045,17 @@ combinator: |
'+' maybe_space { $$ = CSSSelector::DirectAdjacent; } |
| '~' maybe_space { $$ = CSSSelector::IndirectAdjacent; } |
| '>' maybe_space { $$ = CSSSelector::Child; } |
- | '^' maybe_space { |
+ // FIXME: implement named combinator and replace the following /shadow/, /shadow-all/ and |
+ // /shadow-deep/ with named combinator's implementation. |
+ | '/' IDENT '/' maybe_space { |
if (!RuntimeEnabledFeatures::shadowDOMEnabled()) |
YYERROR; |
- $$ = CSSSelector::ChildTree; |
- } |
- | '^' '^' maybe_space { |
- if (!RuntimeEnabledFeatures::shadowDOMEnabled()) |
+ if ($2.equalIgnoringCase("shadow-all")) |
+ $$ = CSSSelector::ShadowAll; |
+ else if ($2.equalIgnoringCase("shadow-deep")) |
+ $$ = CSSSelector::ShadowDeep; |
+ else |
YYERROR; |
- $$ = CSSSelector::DescendantTree; |
} |
; |