OLD | NEW |
1 /* | 1 /* |
2 Copyright (C) 2007 Eric Seidel <eric@webkit.org> | 2 Copyright (C) 2007 Eric Seidel <eric@webkit.org> |
3 Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> | 3 Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> |
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 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 case PT_NONE: | 73 case PT_NONE: |
74 default: | 74 default: |
75 ASSERT_NOT_REACHED(); | 75 ASSERT_NOT_REACHED(); |
76 break; | 76 break; |
77 } | 77 } |
78 } while (paintorder >>= kPaintOrderBitwidth); | 78 } while (paintorder >>= kPaintOrderBitwidth); |
79 | 79 |
80 return list.release(); | 80 return list.release(); |
81 } | 81 } |
82 | 82 |
83 PassRefPtr<SVGPaint> CSSComputedStyleDeclaration::adjustSVGPaintForCurrentColor(
PassRefPtr<SVGPaint> newPaint, RenderStyle* style) const | 83 PassRefPtr<SVGPaint> CSSComputedStyleDeclaration::adjustSVGPaintForCurrentColor(
PassRefPtr<SVGPaint> newPaint, RenderStyle& style) const |
84 { | 84 { |
85 RefPtr<SVGPaint> paint = newPaint; | 85 RefPtr<SVGPaint> paint = newPaint; |
86 if (paint->paintType() == SVGPaint::SVG_PAINTTYPE_CURRENTCOLOR || paint->pai
ntType() == SVGPaint::SVG_PAINTTYPE_URI_CURRENTCOLOR) | 86 if (paint->paintType() == SVGPaint::SVG_PAINTTYPE_CURRENTCOLOR || paint->pai
ntType() == SVGPaint::SVG_PAINTTYPE_URI_CURRENTCOLOR) |
87 paint->setColor(style->color()); | 87 paint->setColor(style.color()); |
88 return paint.release(); | 88 return paint.release(); |
89 } | 89 } |
90 | 90 |
91 PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getSVGPropertyCSSValue(CSSProp
ertyID propertyID, EUpdateLayout updateLayout) const | 91 PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getSVGPropertyCSSValue(CSSProp
ertyID propertyID, EUpdateLayout updateLayout) const |
92 { | 92 { |
93 Node* node = m_node.get(); | 93 Node* node = m_node.get(); |
94 if (!node) | 94 if (!node) |
95 return 0; | 95 return 0; |
96 | 96 |
97 // Make sure our layout is up to date before we allow a query on these attri
butes. | 97 // Make sure our layout is up to date before we allow a query on these attri
butes. |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
147 return CSSPrimitiveValue::createIdentifier(CSSValueNone); | 147 return CSSPrimitiveValue::createIdentifier(CSSValueNone); |
148 case CSSPropertyMask: | 148 case CSSPropertyMask: |
149 if (!svgStyle->maskerResource().isEmpty()) | 149 if (!svgStyle->maskerResource().isEmpty()) |
150 return CSSPrimitiveValue::create(svgStyle->maskerResource(), CSS
PrimitiveValue::CSS_URI); | 150 return CSSPrimitiveValue::create(svgStyle->maskerResource(), CSS
PrimitiveValue::CSS_URI); |
151 return CSSPrimitiveValue::createIdentifier(CSSValueNone); | 151 return CSSPrimitiveValue::createIdentifier(CSSValueNone); |
152 case CSSPropertyFilter: | 152 case CSSPropertyFilter: |
153 if (!svgStyle->filterResource().isEmpty()) | 153 if (!svgStyle->filterResource().isEmpty()) |
154 return CSSPrimitiveValue::create(svgStyle->filterResource(), CSS
PrimitiveValue::CSS_URI); | 154 return CSSPrimitiveValue::create(svgStyle->filterResource(), CSS
PrimitiveValue::CSS_URI); |
155 return CSSPrimitiveValue::createIdentifier(CSSValueNone); | 155 return CSSPrimitiveValue::createIdentifier(CSSValueNone); |
156 case CSSPropertyFloodColor: | 156 case CSSPropertyFloodColor: |
157 return currentColorOrValidColor(style, svgStyle->floodColor()); | 157 return currentColorOrValidColor(*style, svgStyle->floodColor()); |
158 case CSSPropertyLightingColor: | 158 case CSSPropertyLightingColor: |
159 return currentColorOrValidColor(style, svgStyle->lightingColor()); | 159 return currentColorOrValidColor(*style, svgStyle->lightingColor()); |
160 case CSSPropertyStopColor: | 160 case CSSPropertyStopColor: |
161 return currentColorOrValidColor(style, svgStyle->stopColor()); | 161 return currentColorOrValidColor(*style, svgStyle->stopColor()); |
162 case CSSPropertyFill: | 162 case CSSPropertyFill: |
163 return adjustSVGPaintForCurrentColor(SVGPaint::create(svgStyle->fill
PaintType(), svgStyle->fillPaintUri(), svgStyle->fillPaintColor()), style); | 163 return adjustSVGPaintForCurrentColor(SVGPaint::create(svgStyle->fill
PaintType(), svgStyle->fillPaintUri(), svgStyle->fillPaintColor()), *style); |
164 case CSSPropertyKerning: | 164 case CSSPropertyKerning: |
165 return SVGLength::toCSSPrimitiveValue(svgStyle->kerning()); | 165 return SVGLength::toCSSPrimitiveValue(svgStyle->kerning()); |
166 case CSSPropertyMarkerEnd: | 166 case CSSPropertyMarkerEnd: |
167 if (!svgStyle->markerEndResource().isEmpty()) | 167 if (!svgStyle->markerEndResource().isEmpty()) |
168 return CSSPrimitiveValue::create(svgStyle->markerEndResource(),
CSSPrimitiveValue::CSS_URI); | 168 return CSSPrimitiveValue::create(svgStyle->markerEndResource(),
CSSPrimitiveValue::CSS_URI); |
169 return CSSPrimitiveValue::createIdentifier(CSSValueNone); | 169 return CSSPrimitiveValue::createIdentifier(CSSValueNone); |
170 case CSSPropertyMarkerMid: | 170 case CSSPropertyMarkerMid: |
171 if (!svgStyle->markerMidResource().isEmpty()) | 171 if (!svgStyle->markerMidResource().isEmpty()) |
172 return CSSPrimitiveValue::create(svgStyle->markerMidResource(),
CSSPrimitiveValue::CSS_URI); | 172 return CSSPrimitiveValue::create(svgStyle->markerMidResource(),
CSSPrimitiveValue::CSS_URI); |
173 return CSSPrimitiveValue::createIdentifier(CSSValueNone); | 173 return CSSPrimitiveValue::createIdentifier(CSSValueNone); |
174 case CSSPropertyMarkerStart: | 174 case CSSPropertyMarkerStart: |
175 if (!svgStyle->markerStartResource().isEmpty()) | 175 if (!svgStyle->markerStartResource().isEmpty()) |
176 return CSSPrimitiveValue::create(svgStyle->markerStartResource()
, CSSPrimitiveValue::CSS_URI); | 176 return CSSPrimitiveValue::create(svgStyle->markerStartResource()
, CSSPrimitiveValue::CSS_URI); |
177 return CSSPrimitiveValue::createIdentifier(CSSValueNone); | 177 return CSSPrimitiveValue::createIdentifier(CSSValueNone); |
178 case CSSPropertyStroke: | 178 case CSSPropertyStroke: |
179 return adjustSVGPaintForCurrentColor(SVGPaint::create(svgStyle->stro
kePaintType(), svgStyle->strokePaintUri(), svgStyle->strokePaintColor()), style)
; | 179 return adjustSVGPaintForCurrentColor(SVGPaint::create(svgStyle->stro
kePaintType(), svgStyle->strokePaintUri(), svgStyle->strokePaintColor()), *style
); |
180 case CSSPropertyStrokeDasharray: | 180 case CSSPropertyStrokeDasharray: |
181 return strokeDashArrayToCSSValueList(svgStyle->strokeDashArray()); | 181 return strokeDashArrayToCSSValueList(svgStyle->strokeDashArray()); |
182 case CSSPropertyStrokeDashoffset: | 182 case CSSPropertyStrokeDashoffset: |
183 return SVGLength::toCSSPrimitiveValue(svgStyle->strokeDashOffset()); | 183 return SVGLength::toCSSPrimitiveValue(svgStyle->strokeDashOffset()); |
184 case CSSPropertyStrokeWidth: | 184 case CSSPropertyStrokeWidth: |
185 return SVGLength::toCSSPrimitiveValue(svgStyle->strokeWidth()); | 185 return SVGLength::toCSSPrimitiveValue(svgStyle->strokeWidth()); |
186 case CSSPropertyBaselineShift: { | 186 case CSSPropertyBaselineShift: { |
187 switch (svgStyle->baselineShift()) { | 187 switch (svgStyle->baselineShift()) { |
188 case BS_BASELINE: | 188 case BS_BASELINE: |
189 return CSSPrimitiveValue::createIdentifier(CSSValueBaseline)
; | 189 return CSSPrimitiveValue::createIdentifier(CSSValueBaseline)
; |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
224 default: | 224 default: |
225 // If you crash here, it's because you added a css property and are not
handling it | 225 // If you crash here, it's because you added a css property and are not
handling it |
226 // in either this switch statement or the one in CSSComputedStyleDelcara
tion::getPropertyCSSValue | 226 // in either this switch statement or the one in CSSComputedStyleDelcara
tion::getPropertyCSSValue |
227 ASSERT_WITH_MESSAGE(0, "unimplemented propertyID: %d", propertyID); | 227 ASSERT_WITH_MESSAGE(0, "unimplemented propertyID: %d", propertyID); |
228 } | 228 } |
229 LOG_ERROR("unimplemented propertyID: %d", propertyID); | 229 LOG_ERROR("unimplemented propertyID: %d", propertyID); |
230 return 0; | 230 return 0; |
231 } | 231 } |
232 | 232 |
233 } | 233 } |
OLD | NEW |