Chromium Code Reviews| Index: Source/core/css/CSSSelector.h |
| diff --git a/Source/core/css/CSSSelector.h b/Source/core/css/CSSSelector.h |
| index 5d2845a7541c5fffb052927a42bc4a80d7cbb517..5ea949385cfab4f21ecb2d789edd3458843fc2e8 100644 |
| --- a/Source/core/css/CSSSelector.h |
| +++ b/Source/core/css/CSSSelector.h |
| @@ -128,11 +128,8 @@ namespace WebCore { |
| DirectAdjacent, // + combinator |
| IndirectAdjacent, // ~ combinator |
| SubSelector, // "No space" combinator |
| - ShadowPseudo, // Special case of shadow DOM pseudo elements |
| - // FIXME: implement named combinator (i.e. named relation) and |
| - // replace the following /shadow/ and /shadow-deep/ with the implementation. |
| - Shadow, // /shadow/ combinator |
| - ShadowDeep, // /shadow-deep/ combinator |
| + ShadowPseudo, // Special case of shadow DOM pseudo elements / shadow pseudo element |
|
dglazkov
2014/03/25 17:10:53
This needs to be renamed to CustomPseudoElement or
tasak
2014/03/26 11:01:46
The actual shadow pseudo uses this relation, becau
|
| + ShadowDeep // /shadow-deep/ combinator |
| }; |
| enum PseudoType { |
| @@ -218,7 +215,8 @@ namespace WebCore { |
| PseudoUnresolved, |
| PseudoContent, |
| PseudoHost, |
| - PseudoAncestor |
| + PseudoAncestor, |
| + PseudoShadow |
| }; |
| enum OptionalPseudoTypeRequirements { |
| @@ -294,6 +292,7 @@ namespace WebCore { |
| bool isAttributeSelector() const; |
| bool isDistributedPseudoElement() const; |
| bool isContentPseudoElement() const; |
| + bool isShadowPseudoElement() const; |
| bool isHostPseudoClass() const; |
| // FIXME: selectors with no tagHistory() get a relation() of Descendant. It should instead be |
| @@ -429,6 +428,11 @@ inline bool CSSSelector::isContentPseudoElement() const |
| return m_match == PseudoElement && pseudoType() == PseudoContent; |
| } |
| +inline bool CSSSelector::isShadowPseudoElement() const |
| +{ |
| + return m_match == PseudoElement && pseudoType() == PseudoShadow; |
| +} |
| + |
| inline void CSSSelector::setValue(const AtomicString& value) |
| { |
| ASSERT(m_match != Tag); |