Index: third_party/WebKit/Source/core/css/parser/CSSSelectorParser.cpp |
diff --git a/third_party/WebKit/Source/core/css/parser/CSSSelectorParser.cpp b/third_party/WebKit/Source/core/css/parser/CSSSelectorParser.cpp |
index d88f00a66786eacb00eb5bd6dea8613a4a17e993..0b20b9ecb2929614521e464e83d3b84e42682940 100644 |
--- a/third_party/WebKit/Source/core/css/parser/CSSSelectorParser.cpp |
+++ b/third_party/WebKit/Source/core/css/parser/CSSSelectorParser.cpp |
@@ -272,6 +272,11 @@ std::unique_ptr<CSSParserSelector> CSSSelectorParser::consumeCompoundSelector( |
return CSSParserSelector::create( |
QualifiedName(namespacePrefix, elementName, namespaceURI)); |
} |
+ // TODO(rune@opera.com): Prepending a type selector to the compound is |
+ // unnecessary if this compound is an argument to a pseudo selector like |
+ // :not(), since a type selector will be prepended at the top level of the |
+ // selector if necessary. We need to propagate that context information here |
+ // to tell if we are at the top level. |
prependTypeSelectorIfNeeded(namespacePrefix, elementName, |
compoundSelector.get()); |
return splitCompoundAtImplicitShadowCrossingCombinator( |