| Index: third_party/WebKit/Source/core/css/CSSSelector.h
|
| diff --git a/third_party/WebKit/Source/core/css/CSSSelector.h b/third_party/WebKit/Source/core/css/CSSSelector.h
|
| index c95b98d77664a8aad838ee1c1d9c90c581964461..256f9005e39f5f236213ab530ee7aeb4178f8537 100644
|
| --- a/third_party/WebKit/Source/core/css/CSSSelector.h
|
| +++ b/third_party/WebKit/Source/core/css/CSSSelector.h
|
| @@ -117,7 +117,8 @@ public:
|
| DirectAdjacent, // + combinator
|
| IndirectAdjacent, // ~ combinator
|
| ShadowPseudo, // Special case of shadow DOM pseudo elements / shadow pseudo element
|
| - ShadowDeep // /deep/ combinator
|
| + ShadowDeep, // /deep/ combinator
|
| + ShadowSlot // slotted to <slot> element
|
| };
|
|
|
| enum PseudoType {
|
| @@ -201,7 +202,8 @@ public:
|
| PseudoHostContext,
|
| PseudoShadow,
|
| PseudoSpatialNavigationFocus,
|
| - PseudoListBox
|
| + PseudoListBox,
|
| + PseudoSlotted
|
| };
|
|
|
| enum AttributeMatchType {
|
| @@ -254,7 +256,7 @@ public:
|
| bool isSiblingSelector() const;
|
| bool isAttributeSelector() const { return m_match >= FirstAttributeSelectorMatch; }
|
| bool isHostPseudoClass() const { return m_pseudoType == PseudoHost || m_pseudoType == PseudoHostContext; }
|
| - bool isInsertionPointCrossing() const { return m_pseudoType == PseudoHostContext || m_pseudoType == PseudoContent; }
|
| + bool isInsertionPointCrossing() const { return m_pseudoType == PseudoHostContext || m_pseudoType == PseudoContent || m_pseudoType == PseudoSlotted; }
|
|
|
| Relation relation() const { return static_cast<Relation>(m_relation); }
|
| void setRelation(Relation relation)
|
| @@ -287,6 +289,9 @@ public:
|
| bool relationIsAffectedByPseudoContent() const { return m_relationIsAffectedByPseudoContent; }
|
| void setRelationIsAffectedByPseudoContent() { m_relationIsAffectedByPseudoContent = true; }
|
|
|
| + bool relationIsAffectedByPseudoSlotted() const { return m_relationIsAffectedByPseudoSlotted; }
|
| + void setRelationIsAffectedByPseudoSlotted() { m_relationIsAffectedByPseudoSlotted = true; }
|
| +
|
| private:
|
| unsigned m_relation : 3; // enum Relation
|
| unsigned m_match : 4; // enum Match
|
| @@ -296,7 +301,8 @@ private:
|
| unsigned m_hasRareData : 1;
|
| unsigned m_isForPage : 1;
|
| unsigned m_tagIsImplicit : 1;
|
| - unsigned m_relationIsAffectedByPseudoContent : 1;
|
| + unsigned m_relationIsAffectedByPseudoContent : 1;
|
| + unsigned m_relationIsAffectedByPseudoSlotted : 1;
|
|
|
| void setPseudoType(PseudoType pseudoType)
|
| {
|
| @@ -416,6 +422,7 @@ inline CSSSelector::CSSSelector()
|
| , m_isForPage(false)
|
| , m_tagIsImplicit(false)
|
| , m_relationIsAffectedByPseudoContent(false)
|
| + , m_relationIsAffectedByPseudoSlotted(false)
|
| {
|
| }
|
|
|
| @@ -429,6 +436,7 @@ inline CSSSelector::CSSSelector(const QualifiedName& tagQName, bool tagIsImplici
|
| , m_isForPage(false)
|
| , m_tagIsImplicit(tagIsImplicit)
|
| , m_relationIsAffectedByPseudoContent(false)
|
| + , m_relationIsAffectedByPseudoSlotted(false)
|
| {
|
| m_data.m_tagQName = tagQName.impl();
|
| m_data.m_tagQName->ref();
|
| @@ -444,6 +452,7 @@ inline CSSSelector::CSSSelector(const CSSSelector& o)
|
| , m_isForPage(o.m_isForPage)
|
| , m_tagIsImplicit(o.m_tagIsImplicit)
|
| , m_relationIsAffectedByPseudoContent(o.m_relationIsAffectedByPseudoContent)
|
| + , m_relationIsAffectedByPseudoSlotted(o.m_relationIsAffectedByPseudoSlotted)
|
| {
|
| if (o.m_match == Tag) {
|
| m_data.m_tagQName = o.m_data.m_tagQName;
|
|
|