OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc.
All rights reserved. | 3 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc.
All rights reserved. |
4 * | 4 * |
5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
9 * | 9 * |
10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
138 AtomicString id; | 138 AtomicString id; |
139 AtomicString tagName; | 139 AtomicString tagName; |
140 unsigned maxDirectAdjacentSelectors = UINT_MAX; | 140 unsigned maxDirectAdjacentSelectors = UINT_MAX; |
141 bool customPseudoElement = false; | 141 bool customPseudoElement = false; |
142 bool hasBeforeOrAfter = false; | 142 bool hasBeforeOrAfter = false; |
143 bool treeBoundaryCrossing = false; | 143 bool treeBoundaryCrossing = false; |
144 bool adjacent = false; | 144 bool adjacent = false; |
145 bool insertionPointCrossing = false; | 145 bool insertionPointCrossing = false; |
146 bool forceSubtree = false; | 146 bool forceSubtree = false; |
147 bool contentPseudoCrossing = false; | 147 bool contentPseudoCrossing = false; |
| 148 bool invalidatesSlotted = false; |
148 }; | 149 }; |
149 | 150 |
150 static bool extractInvalidationSetFeature(const CSSSelector&, InvalidationSe
tFeatures&); | 151 static bool extractInvalidationSetFeature(const CSSSelector&, InvalidationSe
tFeatures&); |
151 | 152 |
152 enum UseFeaturesType { UseFeatures, ForceSubtree }; | 153 enum UseFeaturesType { UseFeatures, ForceSubtree }; |
153 | 154 |
154 enum PositionType { Subject, Ancestor }; | 155 enum PositionType { Subject, Ancestor }; |
155 std::pair<const CSSSelector*, UseFeaturesType> extractInvalidationSetFeature
s(const CSSSelector&, InvalidationSetFeatures&, PositionType, CSSSelector::Pseud
oType = CSSSelector::PseudoUnknown); | 156 std::pair<const CSSSelector*, UseFeaturesType> extractInvalidationSetFeature
s(const CSSSelector&, InvalidationSetFeatures&, PositionType, CSSSelector::Pseud
oType = CSSSelector::PseudoUnknown); |
156 | 157 |
157 void addFeaturesToInvalidationSet(InvalidationSet&, const InvalidationSetFea
tures&); | 158 void addFeaturesToInvalidationSet(InvalidationSet&, const InvalidationSetFea
tures&); |
158 void addFeaturesToInvalidationSets(const CSSSelector*, InvalidationSetFeatur
es* siblingFeatures, InvalidationSetFeatures& descendantFeatures); | 159 void addFeaturesToInvalidationSets(const CSSSelector*, InvalidationSetFeatur
es* siblingFeatures, InvalidationSetFeatures& descendantFeatures); |
159 | 160 |
160 void addClassToInvalidationSet(const AtomicString& className, Element&); | 161 void addClassToInvalidationSet(const AtomicString& className, Element&); |
161 | 162 |
162 FeatureMetadata m_metadata; | 163 FeatureMetadata m_metadata; |
163 InvalidationSetMap m_classInvalidationSets; | 164 InvalidationSetMap m_classInvalidationSets; |
164 InvalidationSetMap m_attributeInvalidationSets; | 165 InvalidationSetMap m_attributeInvalidationSets; |
165 InvalidationSetMap m_idInvalidationSets; | 166 InvalidationSetMap m_idInvalidationSets; |
166 PseudoTypeInvalidationSetMap m_pseudoInvalidationSets; | 167 PseudoTypeInvalidationSetMap m_pseudoInvalidationSets; |
167 | 168 |
168 friend class RuleFeatureSetTest; | 169 friend class RuleFeatureSetTest; |
169 }; | 170 }; |
170 | 171 |
171 } // namespace blink | 172 } // namespace blink |
172 | 173 |
173 WTF_ALLOW_MOVE_AND_INIT_WITH_MEM_FUNCTIONS(blink::RuleFeature); | 174 WTF_ALLOW_MOVE_AND_INIT_WITH_MEM_FUNCTIONS(blink::RuleFeature); |
174 | 175 |
175 #endif // RuleFeature_h | 176 #endif // RuleFeature_h |
OLD | NEW |