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 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
139 void collectFeaturesFromSelector(const CSSSelector&, FeatureMetadata&, Inval
idationSetMode); | 139 void collectFeaturesFromSelector(const CSSSelector&, FeatureMetadata&, Inval
idationSetMode); |
140 void collectFeaturesFromSelectorList(const CSSSelectorList*, FeatureMetadata
&, InvalidationSetMode); | 140 void collectFeaturesFromSelectorList(const CSSSelectorList*, FeatureMetadata
&, InvalidationSetMode); |
141 | 141 |
142 DescendantInvalidationSet& ensureClassInvalidationSet(const AtomicString& cl
assName); | 142 DescendantInvalidationSet& ensureClassInvalidationSet(const AtomicString& cl
assName); |
143 DescendantInvalidationSet& ensureAttributeInvalidationSet(const AtomicString
& attributeName); | 143 DescendantInvalidationSet& ensureAttributeInvalidationSet(const AtomicString
& attributeName); |
144 DescendantInvalidationSet* invalidationSetForSelector(const CSSSelector&); | 144 DescendantInvalidationSet* invalidationSetForSelector(const CSSSelector&); |
145 | 145 |
146 InvalidationSetMode updateInvalidationSets(const CSSSelector&); | 146 InvalidationSetMode updateInvalidationSets(const CSSSelector&); |
147 | 147 |
148 struct InvalidationSetFeatures { | 148 struct InvalidationSetFeatures { |
| 149 InvalidationSetFeatures() : customPseudoElement(false) { } |
149 Vector<AtomicString> classes; | 150 Vector<AtomicString> classes; |
150 Vector<AtomicString> attributes; | 151 Vector<AtomicString> attributes; |
151 AtomicString id; | 152 AtomicString id; |
152 AtomicString tagName; | 153 AtomicString tagName; |
| 154 bool customPseudoElement; |
153 }; | 155 }; |
154 | 156 |
155 static void extractInvalidationSetFeature(const CSSSelector&, InvalidationSe
tFeatures&); | 157 static void extractInvalidationSetFeature(const CSSSelector&, InvalidationSe
tFeatures&); |
156 const CSSSelector* extractInvalidationSetFeatures(const CSSSelector&, Invali
dationSetFeatures&); | 158 const CSSSelector* extractInvalidationSetFeatures(const CSSSelector&, Invali
dationSetFeatures&); |
157 void addFeaturesToInvalidationSets(const CSSSelector&, const InvalidationSet
Features&); | 159 void addFeaturesToInvalidationSets(const CSSSelector&, const InvalidationSet
Features&); |
158 | 160 |
159 void addClassToInvalidationSet(const AtomicString& className, Element*); | 161 void addClassToInvalidationSet(const AtomicString& className, Element*); |
160 | 162 |
161 InvalidationList& ensurePendingInvalidationList(Element*); | 163 InvalidationList& ensurePendingInvalidationList(Element*); |
162 | 164 |
163 FeatureMetadata m_metadata; | 165 FeatureMetadata m_metadata; |
164 InvalidationSetMap m_classInvalidationSets; | 166 InvalidationSetMap m_classInvalidationSets; |
165 InvalidationSetMap m_attributeInvalidationSets; | 167 InvalidationSetMap m_attributeInvalidationSets; |
166 | 168 |
167 PendingInvalidationMap m_pendingInvalidationMap; | 169 PendingInvalidationMap m_pendingInvalidationMap; |
168 | 170 |
169 bool m_targetedStyleRecalcEnabled; | 171 bool m_targetedStyleRecalcEnabled; |
170 }; | 172 }; |
171 | 173 |
172 | 174 |
173 } // namespace WebCore | 175 } // namespace WebCore |
174 | 176 |
175 #endif // RuleFeature_h | 177 #endif // RuleFeature_h |
OLD | NEW |