| 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 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 43 class StyledElement; | 43 class StyledElement; |
| 44 | 44 |
| 45 typedef HashMap<CSSPropertyID, RefPtr<CSSValue> > PendingImagePropertyMap; | 45 typedef HashMap<CSSPropertyID, RefPtr<CSSValue> > PendingImagePropertyMap; |
| 46 typedef HashMap<FilterOperation*, RefPtr<CSSSVGDocumentValue> > PendingSVGDocume
ntMap; | 46 typedef HashMap<FilterOperation*, RefPtr<CSSSVGDocumentValue> > PendingSVGDocume
ntMap; |
| 47 | 47 |
| 48 class StyleResolverState { | 48 class StyleResolverState { |
| 49 WTF_MAKE_NONCOPYABLE(StyleResolverState); | 49 WTF_MAKE_NONCOPYABLE(StyleResolverState); |
| 50 public: | 50 public: |
| 51 StyleResolverState() | 51 StyleResolverState() |
| 52 : m_element(0) | 52 : m_element(0) |
| 53 , m_childIndex(0) |
| 53 , m_styledElement(0) | 54 , m_styledElement(0) |
| 54 , m_parentNode(0) | 55 , m_parentNode(0) |
| 55 , m_parentStyle(0) | 56 , m_parentStyle(0) |
| 56 , m_rootElementStyle(0) | 57 , m_rootElementStyle(0) |
| 57 , m_regionForStyling(0) | 58 , m_regionForStyling(0) |
| 58 , m_elementLinkState(NotInsideLink) | 59 , m_elementLinkState(NotInsideLink) |
| 59 , m_distributedToInsertionPoint(false) | 60 , m_distributedToInsertionPoint(false) |
| 60 , m_elementAffectedByClassRules(false) | 61 , m_elementAffectedByClassRules(false) |
| 61 , m_applyPropertyToRegularStyle(true) | 62 , m_applyPropertyToRegularStyle(true) |
| 62 , m_applyPropertyToVisitedLinkStyle(false) | 63 , m_applyPropertyToVisitedLinkStyle(false) |
| 63 , m_hasPendingShaders(false) | 64 , m_hasPendingShaders(false) |
| 64 , m_lineHeightValue(0) | 65 , m_lineHeightValue(0) |
| 65 , m_fontDirty(false) | 66 , m_fontDirty(false) |
| 66 , m_hasUAAppearance(false) | 67 , m_hasUAAppearance(false) |
| 67 , m_backgroundData(BackgroundFillLayer) { } | 68 , m_backgroundData(BackgroundFillLayer) { } |
| 68 | 69 |
| 69 public: | 70 public: |
| 70 void initElement(Element*); | 71 void initElement(Element*, int childIndex); |
| 71 void initForStyleResolve(Document*, Element*, RenderStyle* parentStyle = 0,
RenderRegion* regionForStyling = 0); | 72 void initForStyleResolve(Document*, Element*, RenderStyle* parentStyle = 0,
RenderRegion* regionForStyling = 0); |
| 72 void clear(); | 73 void clear(); |
| 73 | 74 |
| 74 Color colorFromPrimitiveValue(CSSPrimitiveValue*, bool forVisitedLink = fals
e) const; | 75 Color colorFromPrimitiveValue(CSSPrimitiveValue*, bool forVisitedLink = fals
e) const; |
| 75 | 76 |
| 76 Document* document() const { return m_element->document(); } | 77 Document* document() const { return m_element->document(); } |
| 77 Element* element() const { return m_element; } | 78 Element* element() const { return m_element; } |
| 79 int childIndex() const { return m_childIndex; } |
| 78 StyledElement* styledElement() const { return m_styledElement; } | 80 StyledElement* styledElement() const { return m_styledElement; } |
| 79 void setStyle(PassRefPtr<RenderStyle> style) { m_style = style; } | 81 void setStyle(PassRefPtr<RenderStyle> style) { m_style = style; } |
| 80 RenderStyle* style() const { return m_style.get(); } | 82 RenderStyle* style() const { return m_style.get(); } |
| 81 PassRefPtr<RenderStyle> takeStyle() { return m_style.release(); } | 83 PassRefPtr<RenderStyle> takeStyle() { return m_style.release(); } |
| 82 | 84 |
| 83 const ContainerNode* parentNode() const { return m_parentNode; } | 85 const ContainerNode* parentNode() const { return m_parentNode; } |
| 84 void setParentStyle(PassRefPtr<RenderStyle> parentStyle) { m_parentStyle = p
arentStyle; } | 86 void setParentStyle(PassRefPtr<RenderStyle> parentStyle) { m_parentStyle = p
arentStyle; } |
| 85 RenderStyle* parentStyle() const { return m_parentStyle.get(); } | 87 RenderStyle* parentStyle() const { return m_parentStyle.get(); } |
| 86 RenderStyle* rootElementStyle() const { return m_rootElementStyle; } | 88 RenderStyle* rootElementStyle() const { return m_rootElementStyle; } |
| 87 | 89 |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 119 void setWritingMode(WritingMode writingMode) { m_fontDirty |= m_style->setWr
itingMode(writingMode); } | 121 void setWritingMode(WritingMode writingMode) { m_fontDirty |= m_style->setWr
itingMode(writingMode); } |
| 120 void setTextOrientation(TextOrientation textOrientation) { m_fontDirty |= m_
style->setTextOrientation(textOrientation); } | 122 void setTextOrientation(TextOrientation textOrientation) { m_fontDirty |= m_
style->setTextOrientation(textOrientation); } |
| 121 | 123 |
| 122 bool useSVGZoomRules() const { return m_element && m_element->isSVGElement()
; } | 124 bool useSVGZoomRules() const { return m_element && m_element->isSVGElement()
; } |
| 123 | 125 |
| 124 private: | 126 private: |
| 125 // FIXME(bug 108563): to make it easier to review, these member | 127 // FIXME(bug 108563): to make it easier to review, these member |
| 126 // variables are public. However we should add methods to access | 128 // variables are public. However we should add methods to access |
| 127 // these variables. | 129 // these variables. |
| 128 Element* m_element; | 130 Element* m_element; |
| 131 int m_childIndex; |
| 129 RefPtr<RenderStyle> m_style; | 132 RefPtr<RenderStyle> m_style; |
| 130 StyledElement* m_styledElement; | 133 StyledElement* m_styledElement; |
| 131 ContainerNode* m_parentNode; | 134 ContainerNode* m_parentNode; |
| 132 RefPtr<RenderStyle> m_parentStyle; | 135 RefPtr<RenderStyle> m_parentStyle; |
| 133 RenderStyle* m_rootElementStyle; | 136 RenderStyle* m_rootElementStyle; |
| 134 | 137 |
| 135 // Required to ASSERT in applyProperties. | 138 // Required to ASSERT in applyProperties. |
| 136 RenderRegion* m_regionForStyling; | 139 RenderRegion* m_regionForStyling; |
| 137 | 140 |
| 138 EInsideLink m_elementLinkState; | 141 EInsideLink m_elementLinkState; |
| (...skipping 13 matching lines...) Expand all Loading... |
| 152 | 155 |
| 153 bool m_hasUAAppearance; | 156 bool m_hasUAAppearance; |
| 154 BorderData m_borderData; | 157 BorderData m_borderData; |
| 155 FillLayer m_backgroundData; | 158 FillLayer m_backgroundData; |
| 156 Color m_backgroundColor; | 159 Color m_backgroundColor; |
| 157 }; | 160 }; |
| 158 | 161 |
| 159 } // namespace WebCore | 162 } // namespace WebCore |
| 160 | 163 |
| 161 #endif // StyleResolverState_h | 164 #endif // StyleResolverState_h |
| OLD | NEW |