| Index: Source/core/css/parser/BisonCSSParser-in.cpp
|
| diff --git a/Source/core/css/parser/BisonCSSParser-in.cpp b/Source/core/css/parser/BisonCSSParser-in.cpp
|
| index 8ab5561a934df07b7f2c67e060129f53b35a1b19..fcf9b9e36d49f0c7165c6139c3228b26678804ae 100644
|
| --- a/Source/core/css/parser/BisonCSSParser-in.cpp
|
| +++ b/Source/core/css/parser/BisonCSSParser-in.cpp
|
| @@ -1934,9 +1934,11 @@ CSSParserSelector* BisonCSSParser::rewriteSpecifiersWithElementName(const Atomic
|
| if (specifiers->needsCrossingTreeScopeBoundary())
|
| return rewriteSpecifiersWithElementNameForCustomPseudoElement(tag, elementName, specifiers, tagIsForNamespaceRule);
|
|
|
| - if (tag == anyQName())
|
| + // *:host never matches, so we can't discard the * otherwise we can't tell the
|
| + // difference between *:host and just :host.
|
| + if (tag == anyQName() && !specifiers->hasHostPseudoSelector())
|
| return specifiers;
|
| - if (!(specifiers->pseudoType() == CSSSelector::PseudoCue))
|
| + if (specifiers->pseudoType() != CSSSelector::PseudoCue)
|
| specifiers->prependTagSelector(tag, tagIsForNamespaceRule);
|
| return specifiers;
|
| }
|
|
|