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

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

Issue 1644543002: Moved element style recalc count and stats to StyleEngine. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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. 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 15 matching lines...) Expand all
26 #include "core/animation/PropertyHandle.h" 26 #include "core/animation/PropertyHandle.h"
27 #include "core/css/ElementRuleCollector.h" 27 #include "core/css/ElementRuleCollector.h"
28 #include "core/css/PseudoStyleRequest.h" 28 #include "core/css/PseudoStyleRequest.h"
29 #include "core/css/RuleFeature.h" 29 #include "core/css/RuleFeature.h"
30 #include "core/css/RuleSet.h" 30 #include "core/css/RuleSet.h"
31 #include "core/css/SelectorChecker.h" 31 #include "core/css/SelectorChecker.h"
32 #include "core/css/SelectorFilter.h" 32 #include "core/css/SelectorFilter.h"
33 #include "core/css/resolver/CSSPropertyPriority.h" 33 #include "core/css/resolver/CSSPropertyPriority.h"
34 #include "core/css/resolver/MatchedPropertiesCache.h" 34 #include "core/css/resolver/MatchedPropertiesCache.h"
35 #include "core/css/resolver/StyleBuilder.h" 35 #include "core/css/resolver/StyleBuilder.h"
36 #include "core/css/resolver/StyleResolverStats.h"
37 #include "core/dom/DocumentOrderedList.h" 36 #include "core/dom/DocumentOrderedList.h"
38 #include "core/style/CachedUAStyle.h" 37 #include "core/style/CachedUAStyle.h"
39 #include "platform/heap/Handle.h" 38 #include "platform/heap/Handle.h"
40 #include "wtf/Deque.h" 39 #include "wtf/Deque.h"
41 #include "wtf/HashMap.h" 40 #include "wtf/HashMap.h"
42 #include "wtf/HashSet.h" 41 #include "wtf/HashSet.h"
43 #include "wtf/ListHashSet.h" 42 #include "wtf/ListHashSet.h"
44 #include "wtf/RefPtr.h" 43 #include "wtf/RefPtr.h"
45 #include "wtf/Vector.h" 44 #include "wtf/Vector.h"
46 45
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 return m_features; 159 return m_features;
161 } 160 }
162 161
163 StyleSharingList& styleSharingList(); 162 StyleSharingList& styleSharingList();
164 163
165 bool hasRulesForId(const AtomicString&) const; 164 bool hasRulesForId(const AtomicString&) const;
166 165
167 void addToStyleSharingList(Element&); 166 void addToStyleSharingList(Element&);
168 void clearStyleSharingList(); 167 void clearStyleSharingList();
169 168
170 StyleResolverStats* stats() { return m_styleResolverStats.get(); }
171 void setStatsEnabled(bool);
172
173 unsigned accessCount() const { return m_accessCount; }
174 void didAccess() { ++m_accessCount; }
175
176 void increaseStyleSharingDepth() { ++m_styleSharingDepth; } 169 void increaseStyleSharingDepth() { ++m_styleSharingDepth; }
177 void decreaseStyleSharingDepth() { --m_styleSharingDepth; } 170 void decreaseStyleSharingDepth() { --m_styleSharingDepth; }
178 171
179 PassRefPtrWillBeRawPtr<PseudoElement> createPseudoElementIfNeeded(Element& p arent, PseudoId); 172 PassRefPtrWillBeRawPtr<PseudoElement> createPseudoElementIfNeeded(Element& p arent, PseudoId);
180 173
181 DECLARE_TRACE(); 174 DECLARE_TRACE();
182 175
183 void addTreeBoundaryCrossingScope(ContainerNode& scope); 176 void addTreeBoundaryCrossingScope(ContainerNode& scope);
184 177
185 private: 178 private:
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
249 OwnPtrWillBeMember<RuleSet> m_uncommonAttributeRuleSet; 242 OwnPtrWillBeMember<RuleSet> m_uncommonAttributeRuleSet;
250 OwnPtrWillBeMember<RuleSet> m_watchedSelectorsRules; 243 OwnPtrWillBeMember<RuleSet> m_watchedSelectorsRules;
251 244
252 DocumentOrderedList m_treeBoundaryCrossingScopes; 245 DocumentOrderedList m_treeBoundaryCrossingScopes;
253 246
254 bool m_needCollectFeatures; 247 bool m_needCollectFeatures;
255 bool m_printMediaType; 248 bool m_printMediaType;
256 249
257 unsigned m_styleSharingDepth; 250 unsigned m_styleSharingDepth;
258 WillBeHeapVector<OwnPtrWillBeMember<StyleSharingList>, styleSharingMaxDepth> m_styleSharingLists; 251 WillBeHeapVector<OwnPtrWillBeMember<StyleSharingList>, styleSharingMaxDepth> m_styleSharingLists;
259
260 OwnPtr<StyleResolverStats> m_styleResolverStats;
261
262 // Use only for Internals::updateStyleAndReturnAffectedElementCount.
263 unsigned m_accessCount;
264 }; 252 };
265 253
266 } // namespace blink 254 } // namespace blink
267 255
268 #endif // StyleResolver_h 256 #endif // StyleResolver_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698