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) |