OLD | NEW |
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 12 matching lines...) Expand all Loading... |
23 #define StyleResolver_h | 23 #define StyleResolver_h |
24 | 24 |
25 #include "core/CoreExport.h" | 25 #include "core/CoreExport.h" |
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/TreeBoundaryCrossingRules.h" |
33 #include "core/css/resolver/CSSPropertyPriority.h" | 34 #include "core/css/resolver/CSSPropertyPriority.h" |
34 #include "core/css/resolver/MatchedPropertiesCache.h" | 35 #include "core/css/resolver/MatchedPropertiesCache.h" |
35 #include "core/css/resolver/StyleBuilder.h" | 36 #include "core/css/resolver/StyleBuilder.h" |
36 #include "core/css/resolver/StyleResolverStats.h" | 37 #include "core/css/resolver/StyleResolverStats.h" |
37 #include "core/css/resolver/StyleResourceLoader.h" | 38 #include "core/css/resolver/StyleResourceLoader.h" |
38 #include "core/dom/DocumentOrderedList.h" | 39 #include "core/dom/DocumentOrderedList.h" |
39 #include "core/style/CachedUAStyle.h" | 40 #include "core/style/CachedUAStyle.h" |
40 #include "platform/heap/Handle.h" | 41 #include "platform/heap/Handle.h" |
41 #include "wtf/Deque.h" | 42 #include "wtf/Deque.h" |
42 #include "wtf/HashMap.h" | 43 #include "wtf/HashMap.h" |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
192 void updateFont(StyleResolverState&); | 193 void updateFont(StyleResolverState&); |
193 | 194 |
194 void loadPendingResources(StyleResolverState&); | 195 void loadPendingResources(StyleResolverState&); |
195 void adjustComputedStyle(StyleResolverState&, Element*); | 196 void adjustComputedStyle(StyleResolverState&, Element*); |
196 | 197 |
197 void appendCSSStyleSheet(CSSStyleSheet&); | 198 void appendCSSStyleSheet(CSSStyleSheet&); |
198 | 199 |
199 void collectPseudoRulesForElement(Element*, ElementRuleCollector&, PseudoId,
unsigned rulesToInclude); | 200 void collectPseudoRulesForElement(Element*, ElementRuleCollector&, PseudoId,
unsigned rulesToInclude); |
200 void matchRuleSet(ElementRuleCollector&, RuleSet*); | 201 void matchRuleSet(ElementRuleCollector&, RuleSet*); |
201 void matchUARules(ElementRuleCollector&); | 202 void matchUARules(ElementRuleCollector&); |
202 void matchAuthorRules(const Element&, ElementRuleCollector&, bool includeEmp
tyRules); | 203 void matchAuthorRules(Element*, ElementRuleCollector&, bool includeEmptyRule
s); |
203 void matchHostRules(const Element&, ElementRuleCollector&, bool includeEmpty
Rules); | |
204 void matchElementScopeRules(ScopedStyleResolver&, ElementRuleCollector&, boo
l includeEmptyRules); | |
205 void matchScopedRules(const Element&, ElementRuleCollector&, bool includeEmp
tyRules); | |
206 void matchAllRules(StyleResolverState&, ElementRuleCollector&, bool includeS
MILProperties); | 204 void matchAllRules(StyleResolverState&, ElementRuleCollector&, bool includeS
MILProperties); |
207 void collectFeatures(); | 205 void collectFeatures(); |
208 void resetRuleFeatures(); | 206 void resetRuleFeatures(); |
209 | 207 |
210 void applyMatchedProperties(StyleResolverState&, const MatchResult&); | 208 void applyMatchedProperties(StyleResolverState&, const MatchResult&); |
211 bool applyAnimatedProperties(StyleResolverState&, const Element* animatingEl
ement); | 209 bool applyAnimatedProperties(StyleResolverState&, const Element* animatingEl
ement); |
212 void applyCallbackSelectors(StyleResolverState&); | 210 void applyCallbackSelectors(StyleResolverState&); |
213 | 211 |
214 template <CSSPropertyPriority priority> | 212 template <CSSPropertyPriority priority> |
215 void applyMatchedProperties(StyleResolverState&, const MatchedPropertiesRang
e&, bool important, bool inheritedOnly); | 213 void applyMatchedProperties(StyleResolverState&, const MatchedPropertiesRang
e&, bool important, bool inheritedOnly); |
(...skipping 25 matching lines...) Expand all Loading... |
241 OwnPtrWillBeMember<ViewportStyleResolver> m_viewportStyleResolver; | 239 OwnPtrWillBeMember<ViewportStyleResolver> m_viewportStyleResolver; |
242 | 240 |
243 WillBeHeapListHashSet<RawPtrWillBeMember<CSSStyleSheet>, 16> m_pendingStyleS
heets; | 241 WillBeHeapListHashSet<RawPtrWillBeMember<CSSStyleSheet>, 16> m_pendingStyleS
heets; |
244 | 242 |
245 // FIXME: The entire logic of collecting features on StyleResolver, as well
as transferring them | 243 // FIXME: The entire logic of collecting features on StyleResolver, as well
as transferring them |
246 // between various parts of machinery smells wrong. This needs to be better
somehow. | 244 // between various parts of machinery smells wrong. This needs to be better
somehow. |
247 RuleFeatureSet m_features; | 245 RuleFeatureSet m_features; |
248 OwnPtrWillBeMember<RuleSet> m_siblingRuleSet; | 246 OwnPtrWillBeMember<RuleSet> m_siblingRuleSet; |
249 OwnPtrWillBeMember<RuleSet> m_uncommonAttributeRuleSet; | 247 OwnPtrWillBeMember<RuleSet> m_uncommonAttributeRuleSet; |
250 OwnPtrWillBeMember<RuleSet> m_watchedSelectorsRules; | 248 OwnPtrWillBeMember<RuleSet> m_watchedSelectorsRules; |
251 DocumentOrderedList m_treeBoundaryCrossingScopes; | 249 TreeBoundaryCrossingRules m_treeBoundaryCrossingRules; |
252 | 250 |
253 bool m_needCollectFeatures; | 251 bool m_needCollectFeatures; |
254 bool m_printMediaType; | 252 bool m_printMediaType; |
255 | 253 |
256 StyleResourceLoader m_styleResourceLoader; | 254 StyleResourceLoader m_styleResourceLoader; |
257 | 255 |
258 unsigned m_styleSharingDepth; | 256 unsigned m_styleSharingDepth; |
259 WillBeHeapVector<OwnPtrWillBeMember<StyleSharingList>, styleSharingMaxDepth>
m_styleSharingLists; | 257 WillBeHeapVector<OwnPtrWillBeMember<StyleSharingList>, styleSharingMaxDepth>
m_styleSharingLists; |
260 | 258 |
261 OwnPtr<StyleResolverStats> m_styleResolverStats; | 259 OwnPtr<StyleResolverStats> m_styleResolverStats; |
262 | 260 |
263 // Use only for Internals::updateStyleAndReturnAffectedElementCount. | 261 // Use only for Internals::updateStyleAndReturnAffectedElementCount. |
264 unsigned m_accessCount; | 262 unsigned m_accessCount; |
265 }; | 263 }; |
266 | 264 |
267 } // namespace blink | 265 } // namespace blink |
268 | 266 |
269 #endif // StyleResolver_h | 267 #endif // StyleResolver_h |
OLD | NEW |