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

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

Issue 652223002: Support style invalidation for ::content. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Missing removal of PseudoContent case when moving. Created 6 years, 2 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
« no previous file with comments | « Source/core/css/CSSSelector.h ('k') | Source/core/css/RuleFeature.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 DescendantInvalidationSet& ensureIdInvalidationSet(const AtomicString& attri buteName); 141 DescendantInvalidationSet& ensureIdInvalidationSet(const AtomicString& attri buteName);
142 DescendantInvalidationSet& ensurePseudoInvalidationSet(CSSSelector::PseudoTy pe); 142 DescendantInvalidationSet& ensurePseudoInvalidationSet(CSSSelector::PseudoTy pe);
143 143
144 InvalidationSetMode updateInvalidationSets(const CSSSelector&); 144 InvalidationSetMode updateInvalidationSets(const CSSSelector&);
145 145
146 struct InvalidationSetFeatures { 146 struct InvalidationSetFeatures {
147 InvalidationSetFeatures() 147 InvalidationSetFeatures()
148 : customPseudoElement(false) 148 : customPseudoElement(false)
149 , treeBoundaryCrossing(false) 149 , treeBoundaryCrossing(false)
150 , adjacent(false) 150 , adjacent(false)
151 , insertionPointCrossing(false)
151 { } 152 { }
152 Vector<AtomicString> classes; 153 Vector<AtomicString> classes;
153 Vector<AtomicString> attributes; 154 Vector<AtomicString> attributes;
154 AtomicString id; 155 AtomicString id;
155 AtomicString tagName; 156 AtomicString tagName;
156 bool customPseudoElement; 157 bool customPseudoElement;
157 bool treeBoundaryCrossing; 158 bool treeBoundaryCrossing;
158 bool adjacent; 159 bool adjacent;
160 bool insertionPointCrossing;
159 }; 161 };
160 162
161 static void extractInvalidationSetFeature(const CSSSelector&, InvalidationSe tFeatures&); 163 static void extractInvalidationSetFeature(const CSSSelector&, InvalidationSe tFeatures&);
162 const CSSSelector* extractInvalidationSetFeatures(const CSSSelector&, Invali dationSetFeatures&, bool negated); 164 const CSSSelector* extractInvalidationSetFeatures(const CSSSelector&, Invali dationSetFeatures&, bool negated);
163 165
164 void addFeaturesToInvalidationSet(DescendantInvalidationSet&, const Invalida tionSetFeatures&); 166 void addFeaturesToInvalidationSet(DescendantInvalidationSet&, const Invalida tionSetFeatures&);
165 void addFeaturesToInvalidationSets(const CSSSelector&, InvalidationSetFeatur es&); 167 void addFeaturesToInvalidationSets(const CSSSelector&, InvalidationSetFeatur es&);
166 168
167 void addClassToInvalidationSet(const AtomicString& className, Element&); 169 void addClassToInvalidationSet(const AtomicString& className, Element&);
168 170
(...skipping 12 matching lines...) Expand all
181 183
182 template <> struct VectorTraits<blink::RuleFeature> : VectorTraitsBase<blink::Ru leFeature> { 184 template <> struct VectorTraits<blink::RuleFeature> : VectorTraitsBase<blink::Ru leFeature> {
183 static const bool needsDestruction = false; 185 static const bool needsDestruction = false;
184 static const bool canInitializeWithMemset = true; 186 static const bool canInitializeWithMemset = true;
185 static const bool canMoveWithMemcpy = true; 187 static const bool canMoveWithMemcpy = true;
186 }; 188 };
187 189
188 } // namespace WTF 190 } // namespace WTF
189 191
190 #endif // RuleFeature_h 192 #endif // RuleFeature_h
OLDNEW
« no previous file with comments | « Source/core/css/CSSSelector.h ('k') | Source/core/css/RuleFeature.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698