Chromium Code Reviews| Index: Source/core/css/CSSParser.cpp |
| diff --git a/Source/core/css/CSSParser.cpp b/Source/core/css/CSSParser.cpp |
| index afd38282f1f58ee546f393c5cad2003f61e77870..fc6b772ebc7bbd20dd0126fa25b16b7f6d074584 100644 |
| --- a/Source/core/css/CSSParser.cpp |
| +++ b/Source/core/css/CSSParser.cpp |
| @@ -11127,9 +11127,19 @@ CSSParserSelector* CSSParser::rewriteSpecifiersForShadowDistributed(CSSParserSel |
| CSSParserSelector* end = argumentSelector; |
| while (end->tagHistory()) |
| end = end->tagHistory(); |
| - end->setTagHistory(sinkFloatingSelector(specifiers)); |
| - end->setRelation(CSSSelector::ShadowDistributed); |
| - return argumentSelector; |
| + |
| + switch (end->relation()) { |
| + case CSSSelector::Child: |
| + end->setTagHistory(sinkFloatingSelector(specifiers)); |
| + end->setRelation(CSSSelector::ShadowVirtualChild); |
|
dglazkov
2013/05/22 17:43:43
This is where it's fairly clear that we're just ov
|
| + return argumentSelector; |
| + case CSSSelector::Descendant: |
| + end->setTagHistory(sinkFloatingSelector(specifiers)); |
| + end->setRelation(CSSSelector::ShadowVirtualDescendant); |
| + return argumentSelector; |
| + default: |
| + return 0; |
| + } |
| } |
| CSSParserSelector* CSSParser::rewriteSpecifiers(CSSParserSelector* specifiers, CSSParserSelector* newSpecifier) |