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

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

Issue 2703643003: Schedule a type selector invalidation set for RuleSet invalidations. (Closed)
Patch Set: Corrected expectation text. Created 3 years, 10 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. 3 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc.
4 * All rights reserved. 4 * All rights reserved.
5 * 5 *
6 * This library is free software; you can redistribute it and/or 6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public 7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either 8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version. 9 * version 2 of the License, or (at your option) any later version.
10 * 10 *
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 DescendantInvalidationSet& ensureTypeRuleInvalidationSet(); 205 DescendantInvalidationSet& ensureTypeRuleInvalidationSet();
206 206
207 void updateInvalidationSets(const RuleData&); 207 void updateInvalidationSets(const RuleData&);
208 void updateInvalidationSetsForContentAttribute(const RuleData&); 208 void updateInvalidationSetsForContentAttribute(const RuleData&);
209 209
210 struct InvalidationSetFeatures { 210 struct InvalidationSetFeatures {
211 DISALLOW_NEW(); 211 DISALLOW_NEW();
212 212
213 void add(const InvalidationSetFeatures& other); 213 void add(const InvalidationSetFeatures& other);
214 bool hasFeatures() const; 214 bool hasFeatures() const;
215 bool hasTagIdClassOrAttribute() const; 215 bool hasIdClassOrAttribute() const;
216 216
217 Vector<AtomicString> classes; 217 Vector<AtomicString> classes;
218 Vector<AtomicString> attributes; 218 Vector<AtomicString> attributes;
219 Vector<AtomicString> ids; 219 Vector<AtomicString> ids;
220 Vector<AtomicString> tagNames; 220 Vector<AtomicString> tagNames;
221 unsigned maxDirectAdjacentSelectors = 0; 221 unsigned maxDirectAdjacentSelectors = 0;
222 bool customPseudoElement = false; 222 bool customPseudoElement = false;
223 bool hasBeforeOrAfter = false; 223 bool hasBeforeOrAfter = false;
224 bool treeBoundaryCrossing = false; 224 bool treeBoundaryCrossing = false;
225 bool insertionPointCrossing = false; 225 bool insertionPointCrossing = false;
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
273 InvalidationSetFeatures* siblingFeatures, 273 InvalidationSetFeatures* siblingFeatures,
274 InvalidationSetFeatures& descendantFeatures); 274 InvalidationSetFeatures& descendantFeatures);
275 void addFeaturesToInvalidationSetsForSelectorList( 275 void addFeaturesToInvalidationSetsForSelectorList(
276 const CSSSelector&, 276 const CSSSelector&,
277 InvalidationSetFeatures* siblingFeatures, 277 InvalidationSetFeatures* siblingFeatures,
278 InvalidationSetFeatures& descendantFeatures); 278 InvalidationSetFeatures& descendantFeatures);
279 void addFeaturesToUniversalSiblingInvalidationSet( 279 void addFeaturesToUniversalSiblingInvalidationSet(
280 const InvalidationSetFeatures& siblingFeatures, 280 const InvalidationSetFeatures& siblingFeatures,
281 const InvalidationSetFeatures& descendantFeatures); 281 const InvalidationSetFeatures& descendantFeatures);
282 282
283 void updateRuleSetInvalidation(const InvalidationSetFeatures&);
284 void addTagNamesToTypeRuleInvalidationSet(const Vector<AtomicString>&);
285
283 FeatureMetadata m_metadata; 286 FeatureMetadata m_metadata;
284 InvalidationSetMap m_classInvalidationSets; 287 InvalidationSetMap m_classInvalidationSets;
285 InvalidationSetMap m_attributeInvalidationSets; 288 InvalidationSetMap m_attributeInvalidationSets;
286 InvalidationSetMap m_idInvalidationSets; 289 InvalidationSetMap m_idInvalidationSets;
287 PseudoTypeInvalidationSetMap m_pseudoInvalidationSets; 290 PseudoTypeInvalidationSetMap m_pseudoInvalidationSets;
288 RefPtr<SiblingInvalidationSet> m_universalSiblingInvalidationSet; 291 RefPtr<SiblingInvalidationSet> m_universalSiblingInvalidationSet;
289 RefPtr<DescendantInvalidationSet> m_nthInvalidationSet; 292 RefPtr<DescendantInvalidationSet> m_nthInvalidationSet;
290 RefPtr<DescendantInvalidationSet> m_typeRuleInvalidationSet; 293 RefPtr<DescendantInvalidationSet> m_typeRuleInvalidationSet;
291 HeapVector<RuleFeature> m_siblingRules; 294 HeapVector<RuleFeature> m_siblingRules;
292 HeapVector<RuleFeature> m_uncommonAttributeRules; 295 HeapVector<RuleFeature> m_uncommonAttributeRules;
293 MediaQueryResultList m_viewportDependentMediaQueryResults; 296 MediaQueryResultList m_viewportDependentMediaQueryResults;
294 MediaQueryResultList m_deviceDependentMediaQueryResults; 297 MediaQueryResultList m_deviceDependentMediaQueryResults;
295 298
296 friend class RuleFeatureSetTest; 299 friend class RuleFeatureSetTest;
297 }; 300 };
298 301
299 } // namespace blink 302 } // namespace blink
300 303
301 #endif // RuleFeature_h 304 #endif // RuleFeature_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698