Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(232)

Side by Side Diff: Source/core/css/RuleFeature.h

Issue 219193004: Custom pseudo element types as an invalidation set feature. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698