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

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

Issue 462593002: Support invalidation sets for negated selectors. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@tmp-upstream
Patch Set: Rebased Created 6 years, 4 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 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 Vector<AtomicString> classes; 156 Vector<AtomicString> classes;
157 Vector<AtomicString> attributes; 157 Vector<AtomicString> attributes;
158 AtomicString id; 158 AtomicString id;
159 AtomicString tagName; 159 AtomicString tagName;
160 bool customPseudoElement; 160 bool customPseudoElement;
161 bool treeBoundaryCrossing; 161 bool treeBoundaryCrossing;
162 bool wholeSubtree; 162 bool wholeSubtree;
163 }; 163 };
164 164
165 static void extractInvalidationSetFeature(const CSSSelector&, InvalidationSe tFeatures&); 165 static void extractInvalidationSetFeature(const CSSSelector&, InvalidationSe tFeatures&);
166 const CSSSelector* extractInvalidationSetFeatures(const CSSSelector&, Invali dationSetFeatures&); 166 const CSSSelector* extractInvalidationSetFeatures(const CSSSelector&, Invali dationSetFeatures&, bool negated);
167 void addFeaturesToInvalidationSets(const CSSSelector&, InvalidationSetFeatur es&); 167 void addFeaturesToInvalidationSets(const CSSSelector&, InvalidationSetFeatur es&);
168 168
169 void addClassToInvalidationSet(const AtomicString& className, Element&); 169 void addClassToInvalidationSet(const AtomicString& className, Element&);
170 170
171 FeatureMetadata m_metadata; 171 FeatureMetadata m_metadata;
172 InvalidationSetMap m_classInvalidationSets; 172 InvalidationSetMap m_classInvalidationSets;
173 InvalidationSetMap m_attributeInvalidationSets; 173 InvalidationSetMap m_attributeInvalidationSets;
174 InvalidationSetMap m_idInvalidationSets; 174 InvalidationSetMap m_idInvalidationSets;
175 PseudoTypeInvalidationSetMap m_pseudoInvalidationSets; 175 PseudoTypeInvalidationSetMap m_pseudoInvalidationSets;
176 bool m_targetedStyleRecalcEnabled; 176 bool m_targetedStyleRecalcEnabled;
177 StyleInvalidator m_styleInvalidator; 177 StyleInvalidator m_styleInvalidator;
178 }; 178 };
179 179
180 180
181 } // namespace blink 181 } // namespace blink
182 182
183 namespace WTF { 183 namespace WTF {
184 184
185 template <> struct VectorTraits<blink::RuleFeature> : VectorTraitsBase<blink::Ru leFeature> { 185 template <> struct VectorTraits<blink::RuleFeature> : VectorTraitsBase<blink::Ru leFeature> {
186 static const bool needsDestruction = false; 186 static const bool needsDestruction = false;
187 static const bool canInitializeWithMemset = true; 187 static const bool canInitializeWithMemset = true;
188 static const bool canMoveWithMemcpy = true; 188 static const bool canMoveWithMemcpy = true;
189 }; 189 };
190 190
191 } // namespace WTF 191 } // namespace WTF
192 192
193 #endif // RuleFeature_h 193 #endif // RuleFeature_h
OLDNEW
« no previous file with comments | « LayoutTests/fast/css/invalidation/targeted-class-host-pseudo-expected.txt ('k') | Source/core/css/RuleFeature.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698