| 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 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 96 | 96 |
| 97 PassRefPtr<ComputedStyle> styleForPage(int pageIndex); | 97 PassRefPtr<ComputedStyle> styleForPage(int pageIndex); |
| 98 PassRefPtr<ComputedStyle> styleForText(Text*); | 98 PassRefPtr<ComputedStyle> styleForText(Text*); |
| 99 | 99 |
| 100 static PassRefPtr<ComputedStyle> styleForDocument(Document&); | 100 static PassRefPtr<ComputedStyle> styleForDocument(Document&); |
| 101 | 101 |
| 102 // FIXME: It could be better to call appendAuthorStyleSheets() directly afte
r we factor StyleResolver further. | 102 // FIXME: It could be better to call appendAuthorStyleSheets() directly afte
r we factor StyleResolver further. |
| 103 // https://bugs.webkit.org/show_bug.cgi?id=108890 | 103 // https://bugs.webkit.org/show_bug.cgi?id=108890 |
| 104 void appendAuthorStyleSheets(const WillBeHeapVector<RefPtrWillBeMember<CSSSt
yleSheet>>&); | 104 void appendAuthorStyleSheets(const WillBeHeapVector<RefPtrWillBeMember<CSSSt
yleSheet>>&); |
| 105 void resetAuthorStyle(TreeScope&); | 105 void resetAuthorStyle(TreeScope&); |
| 106 void resetRuleFeatures(); |
| 106 void finishAppendAuthorStyleSheets(); | 107 void finishAppendAuthorStyleSheets(); |
| 107 | 108 |
| 108 void lazyAppendAuthorStyleSheets(unsigned firstNew, const WillBeHeapVector<R
efPtrWillBeMember<CSSStyleSheet>>&); | 109 void lazyAppendAuthorStyleSheets(unsigned firstNew, const WillBeHeapVector<R
efPtrWillBeMember<CSSStyleSheet>>&); |
| 109 void removePendingAuthorStyleSheets(const WillBeHeapVector<RefPtrWillBeMembe
r<CSSStyleSheet>>&); | 110 void removePendingAuthorStyleSheets(const WillBeHeapVector<RefPtrWillBeMembe
r<CSSStyleSheet>>&); |
| 110 void appendPendingAuthorStyleSheets(); | 111 void appendPendingAuthorStyleSheets(); |
| 111 bool hasPendingAuthorStyleSheets() const { return m_pendingStyleSheets.size(
) > 0 || m_needCollectFeatures; } | 112 bool hasPendingAuthorStyleSheets() const { return m_pendingStyleSheets.size(
) > 0 || m_needCollectFeatures; } |
| 112 | 113 |
| 113 // TODO(esprehn): StyleResolver should probably not contain tree walking | 114 // TODO(esprehn): StyleResolver should probably not contain tree walking |
| 114 // state, instead we should pass a context object during recalcStyle. | 115 // state, instead we should pass a context object during recalcStyle. |
| 115 SelectorFilter& selectorFilter() { return m_selectorFilter; } | 116 SelectorFilter& selectorFilter() { return m_selectorFilter; } |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 167 void clearStyleSharingList(); | 168 void clearStyleSharingList(); |
| 168 | 169 |
| 169 void increaseStyleSharingDepth() { ++m_styleSharingDepth; } | 170 void increaseStyleSharingDepth() { ++m_styleSharingDepth; } |
| 170 void decreaseStyleSharingDepth() { --m_styleSharingDepth; } | 171 void decreaseStyleSharingDepth() { --m_styleSharingDepth; } |
| 171 | 172 |
| 172 PassRefPtrWillBeRawPtr<PseudoElement> createPseudoElementIfNeeded(Element& p
arent, PseudoId); | 173 PassRefPtrWillBeRawPtr<PseudoElement> createPseudoElementIfNeeded(Element& p
arent, PseudoId); |
| 173 | 174 |
| 174 DECLARE_TRACE(); | 175 DECLARE_TRACE(); |
| 175 | 176 |
| 176 void addTreeBoundaryCrossingScope(ContainerNode& scope); | 177 void addTreeBoundaryCrossingScope(ContainerNode& scope); |
| 178 void initWatchedSelectorRules(); |
| 177 | 179 |
| 178 private: | 180 private: |
| 179 explicit StyleResolver(Document&); | 181 explicit StyleResolver(Document&); |
| 180 | 182 |
| 181 PassRefPtr<ComputedStyle> initialStyleForElement(); | 183 PassRefPtr<ComputedStyle> initialStyleForElement(); |
| 182 | 184 |
| 183 void initWatchedSelectorRules(); | |
| 184 | |
| 185 // FIXME: This should probably go away, folded into FontBuilder. | 185 // FIXME: This should probably go away, folded into FontBuilder. |
| 186 void updateFont(StyleResolverState&); | 186 void updateFont(StyleResolverState&); |
| 187 | 187 |
| 188 void loadPendingResources(StyleResolverState&); | 188 void loadPendingResources(StyleResolverState&); |
| 189 void adjustComputedStyle(StyleResolverState&, Element*); | 189 void adjustComputedStyle(StyleResolverState&, Element*); |
| 190 | 190 |
| 191 void appendCSSStyleSheet(CSSStyleSheet&); | 191 void appendCSSStyleSheet(CSSStyleSheet&); |
| 192 | 192 |
| 193 void collectPseudoRulesForElement(const Element&, ElementRuleCollector&, Pse
udoId, unsigned rulesToInclude); | 193 void collectPseudoRulesForElement(const Element&, ElementRuleCollector&, Pse
udoId, unsigned rulesToInclude); |
| 194 void matchRuleSet(ElementRuleCollector&, RuleSet*); | 194 void matchRuleSet(ElementRuleCollector&, RuleSet*); |
| 195 void matchUARules(ElementRuleCollector&); | 195 void matchUARules(ElementRuleCollector&); |
| 196 void matchAuthorRules(const Element&, ElementRuleCollector&); | 196 void matchAuthorRules(const Element&, ElementRuleCollector&); |
| 197 void matchAllRules(StyleResolverState&, ElementRuleCollector&, bool includeS
MILProperties); | 197 void matchAllRules(StyleResolverState&, ElementRuleCollector&, bool includeS
MILProperties); |
| 198 void collectFeatures(); | 198 void collectFeatures(); |
| 199 void collectTreeBoundaryCrossingRules(const Element&, ElementRuleCollector&)
; | 199 void collectTreeBoundaryCrossingRules(const Element&, ElementRuleCollector&)
; |
| 200 void resetRuleFeatures(); | |
| 201 | 200 |
| 202 void applyMatchedProperties(StyleResolverState&, const MatchResult&); | 201 void applyMatchedProperties(StyleResolverState&, const MatchResult&); |
| 203 bool applyAnimatedProperties(StyleResolverState&, const Element* animatingEl
ement); | 202 bool applyAnimatedProperties(StyleResolverState&, const Element* animatingEl
ement); |
| 204 void applyCallbackSelectors(StyleResolverState&); | 203 void applyCallbackSelectors(StyleResolverState&); |
| 205 | 204 |
| 206 template <CSSPropertyPriority priority> | 205 template <CSSPropertyPriority priority> |
| 207 void applyMatchedProperties(StyleResolverState&, const MatchedPropertiesRang
e&, bool important, bool inheritedOnly); | 206 void applyMatchedProperties(StyleResolverState&, const MatchedPropertiesRang
e&, bool important, bool inheritedOnly); |
| 208 template <CSSPropertyPriority priority> | 207 template <CSSPropertyPriority priority> |
| 209 void applyProperties(StyleResolverState&, const StylePropertySet* properties
, bool isImportant, bool inheritedOnly, PropertyWhitelistType = PropertyWhitelis
tNone); | 208 void applyProperties(StyleResolverState&, const StylePropertySet* properties
, bool isImportant, bool inheritedOnly, PropertyWhitelistType = PropertyWhitelis
tNone); |
| 210 template <CSSPropertyPriority priority> | 209 template <CSSPropertyPriority priority> |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 249 bool m_needCollectFeatures; | 248 bool m_needCollectFeatures; |
| 250 bool m_printMediaType; | 249 bool m_printMediaType; |
| 251 | 250 |
| 252 unsigned m_styleSharingDepth; | 251 unsigned m_styleSharingDepth; |
| 253 WillBeHeapVector<OwnPtrWillBeMember<StyleSharingList>, styleSharingMaxDepth>
m_styleSharingLists; | 252 WillBeHeapVector<OwnPtrWillBeMember<StyleSharingList>, styleSharingMaxDepth>
m_styleSharingLists; |
| 254 }; | 253 }; |
| 255 | 254 |
| 256 } // namespace blink | 255 } // namespace blink |
| 257 | 256 |
| 258 #endif // StyleResolver_h | 257 #endif // StyleResolver_h |
| OLD | NEW |