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 18 matching lines...) Expand all Loading... |
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/TreeBoundaryCrossingRules.h" |
34 #include "core/css/resolver/CSSPropertyPriority.h" | 34 #include "core/css/resolver/CSSPropertyPriority.h" |
35 #include "core/css/resolver/MatchedPropertiesCache.h" | 35 #include "core/css/resolver/MatchedPropertiesCache.h" |
36 #include "core/css/resolver/StyleBuilder.h" | 36 #include "core/css/resolver/StyleBuilder.h" |
37 #include "core/css/resolver/StyleResolverStats.h" | 37 #include "core/css/resolver/StyleResolverStats.h" |
38 #include "core/css/resolver/StyleResourceLoader.h" | 38 #include "core/css/resolver/StyleResourceLoader.h" |
39 #include "core/style/AuthorStyleInfo.h" | |
40 #include "core/style/CachedUAStyle.h" | 39 #include "core/style/CachedUAStyle.h" |
41 #include "platform/heap/Handle.h" | 40 #include "platform/heap/Handle.h" |
42 #include "wtf/Deque.h" | 41 #include "wtf/Deque.h" |
43 #include "wtf/HashMap.h" | 42 #include "wtf/HashMap.h" |
44 #include "wtf/HashSet.h" | 43 #include "wtf/HashSet.h" |
45 #include "wtf/ListHashSet.h" | 44 #include "wtf/ListHashSet.h" |
46 #include "wtf/RefPtr.h" | 45 #include "wtf/RefPtr.h" |
47 #include "wtf/Vector.h" | 46 #include "wtf/Vector.h" |
48 | 47 |
49 namespace blink { | 48 namespace blink { |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
184 void addTreeBoundaryCrossingScope(ContainerNode& scope); | 183 void addTreeBoundaryCrossingScope(ContainerNode& scope); |
185 | 184 |
186 private: | 185 private: |
187 PassRefPtr<ComputedStyle> initialStyleForElement(); | 186 PassRefPtr<ComputedStyle> initialStyleForElement(); |
188 | 187 |
189 void initWatchedSelectorRules(); | 188 void initWatchedSelectorRules(); |
190 | 189 |
191 // FIXME: This should probably go away, folded into FontBuilder. | 190 // FIXME: This should probably go away, folded into FontBuilder. |
192 void updateFont(StyleResolverState&); | 191 void updateFont(StyleResolverState&); |
193 | 192 |
194 static AuthorStyleInfo authorStyleInfo(StyleResolverState&); | |
195 | |
196 void loadPendingResources(StyleResolverState&); | 193 void loadPendingResources(StyleResolverState&); |
197 void adjustComputedStyle(StyleResolverState&, Element*); | 194 void adjustComputedStyle(StyleResolverState&, Element*); |
198 | 195 |
199 void appendCSSStyleSheet(CSSStyleSheet&); | 196 void appendCSSStyleSheet(CSSStyleSheet&); |
200 | 197 |
201 void collectPseudoRulesForElement(Element*, ElementRuleCollector&, PseudoId,
unsigned rulesToInclude); | 198 void collectPseudoRulesForElement(Element*, ElementRuleCollector&, PseudoId,
unsigned rulesToInclude); |
202 void matchRuleSet(ElementRuleCollector&, RuleSet*); | 199 void matchRuleSet(ElementRuleCollector&, RuleSet*); |
203 void matchUARules(ElementRuleCollector&); | 200 void matchUARules(ElementRuleCollector&); |
204 void matchAuthorRules(Element*, ElementRuleCollector&, bool includeEmptyRule
s); | 201 void matchAuthorRules(Element*, ElementRuleCollector&, bool includeEmptyRule
s); |
205 void matchAllRules(StyleResolverState&, ElementRuleCollector&, bool includeS
MILProperties); | 202 void matchAllRules(StyleResolverState&, ElementRuleCollector&, bool includeS
MILProperties); |
206 void collectFeatures(); | 203 void collectFeatures(); |
207 void resetRuleFeatures(); | 204 void resetRuleFeatures(); |
208 | 205 |
209 void applyMatchedProperties(StyleResolverState&, const MatchResult&); | 206 void applyMatchedProperties(StyleResolverState&, const MatchResult&); |
210 bool applyAnimatedProperties(StyleResolverState&, const Element* animatingEl
ement); | 207 bool applyAnimatedProperties(StyleResolverState&, const Element* animatingEl
ement); |
211 void applyCallbackSelectors(StyleResolverState&); | 208 void applyCallbackSelectors(StyleResolverState&); |
212 | 209 |
213 template <CSSPropertyPriority priority> | 210 template <CSSPropertyPriority priority> |
214 void applyMatchedProperties(StyleResolverState&, const MatchResult&, bool im
portant, unsigned startIndex, unsigned endIndex, bool inheritedOnly); | 211 void applyMatchedProperties(StyleResolverState&, const MatchResult&, bool im
portant, unsigned startIndex, unsigned endIndex, bool inheritedOnly); |
215 template <CSSPropertyPriority priority> | 212 template <CSSPropertyPriority priority> |
216 void applyProperties(StyleResolverState&, const StylePropertySet* properties
, bool isImportant, bool inheritedOnly, PropertyWhitelistType = PropertyWhitelis
tNone); | 213 void applyProperties(StyleResolverState&, const StylePropertySet* properties
, bool isImportant, bool inheritedOnly, PropertyWhitelistType = PropertyWhitelis
tNone); |
217 template <CSSPropertyPriority priority> | 214 template <CSSPropertyPriority priority> |
218 void applyAnimatedProperties(StyleResolverState&, const WillBeHeapHashMap<Pr
opertyHandle, RefPtrWillBeMember<Interpolation>>&); | 215 void applyAnimatedProperties(StyleResolverState&, const WillBeHeapHashMap<Pr
opertyHandle, RefPtrWillBeMember<Interpolation>>&); |
219 template <CSSPropertyPriority priority> | 216 template <CSSPropertyPriority priority> |
220 void applyAllProperty(StyleResolverState&, CSSValue*, bool inheritedOnly); | 217 void applyAllProperty(StyleResolverState&, CSSValue*, bool inheritedOnly); |
221 | 218 |
222 bool pseudoStyleForElementInternal(Element&, const PseudoStyleRequest&, cons
t ComputedStyle* parentStyle, StyleResolverState&); | 219 bool pseudoStyleForElementInternal(Element&, const PseudoStyleRequest&, cons
t ComputedStyle* parentStyle, StyleResolverState&); |
| 220 bool backgroundChanged(const FillLayer& oldFill, const StyleColor& oldColor,
const StyleResolverState&); |
223 | 221 |
224 PassRefPtrWillBeRawPtr<PseudoElement> createPseudoElement(Element* parent, P
seudoId); | 222 PassRefPtrWillBeRawPtr<PseudoElement> createPseudoElement(Element* parent, P
seudoId); |
225 | 223 |
226 Document& document() { return *m_document; } | 224 Document& document() { return *m_document; } |
227 | 225 |
228 static ComputedStyle* s_styleNotYetAvailable; | 226 static ComputedStyle* s_styleNotYetAvailable; |
229 | 227 |
230 MatchedPropertiesCache m_matchedPropertiesCache; | 228 MatchedPropertiesCache m_matchedPropertiesCache; |
231 | 229 |
232 OwnPtr<MediaQueryEvaluator> m_medium; | 230 OwnPtr<MediaQueryEvaluator> m_medium; |
(...skipping 24 matching lines...) Expand all Loading... |
257 | 255 |
258 OwnPtr<StyleResolverStats> m_styleResolverStats; | 256 OwnPtr<StyleResolverStats> m_styleResolverStats; |
259 | 257 |
260 // Use only for Internals::updateStyleAndReturnAffectedElementCount. | 258 // Use only for Internals::updateStyleAndReturnAffectedElementCount. |
261 unsigned m_accessCount; | 259 unsigned m_accessCount; |
262 }; | 260 }; |
263 | 261 |
264 } // namespace blink | 262 } // namespace blink |
265 | 263 |
266 #endif // StyleResolver_h | 264 #endif // StyleResolver_h |
OLD | NEW |