| Index: third_party/WebKit/Source/core/css/RuleFeature.h
|
| diff --git a/third_party/WebKit/Source/core/css/RuleFeature.h b/third_party/WebKit/Source/core/css/RuleFeature.h
|
| index 45926f9f4a4d101448ae719b3f8dcfe993e2027d..0c80b4d8b33860f59b36dee0d54581d572b6c1d1 100644
|
| --- a/third_party/WebKit/Source/core/css/RuleFeature.h
|
| +++ b/third_party/WebKit/Source/core/css/RuleFeature.h
|
| @@ -102,6 +102,7 @@ public:
|
| void collectSiblingInvalidationSetForId(InvalidationLists&, Element&, const AtomicString& id, unsigned minDirectAdjacent) const;
|
| void collectSiblingInvalidationSetForAttribute(InvalidationLists&, Element&, const QualifiedName& attributeName, unsigned minDirectAdjacent) const;
|
| void collectUniversalSiblingInvalidationSet(InvalidationLists&, unsigned minDirectAdjacent) const;
|
| + void collectNthInvalidationSet(InvalidationLists&) const;
|
|
|
| bool hasIdsInSelectors() const
|
| {
|
| @@ -141,6 +142,7 @@ private:
|
| InvalidationSet& ensureIdInvalidationSet(const AtomicString& id, InvalidationType);
|
| InvalidationSet& ensurePseudoInvalidationSet(CSSSelector::PseudoType, InvalidationType);
|
| SiblingInvalidationSet& ensureUniversalSiblingInvalidationSet();
|
| + DescendantInvalidationSet& ensureNthInvalidationSet();
|
|
|
| void updateInvalidationSets(const RuleData&);
|
| void updateInvalidationSetsForContentAttribute(const RuleData&);
|
| @@ -161,6 +163,7 @@ private:
|
| bool forceSubtree = false;
|
| bool contentPseudoCrossing = false;
|
| bool invalidatesSlotted = false;
|
| + bool hasNthPseudo = false;
|
| };
|
|
|
| static bool extractInvalidationSetFeature(const CSSSelector&, InvalidationSetFeatures&);
|
| @@ -182,6 +185,7 @@ private:
|
| InvalidationSetMap m_idInvalidationSets;
|
| PseudoTypeInvalidationSetMap m_pseudoInvalidationSets;
|
| RefPtr<SiblingInvalidationSet> m_universalSiblingInvalidationSet;
|
| + RefPtr<DescendantInvalidationSet> m_nthInvalidationSet;
|
|
|
| friend class RuleFeatureSetTest;
|
| };
|
|
|