Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(26)

Side by Side Diff: Source/core/css/SVGCSSComputedStyleDeclaration.cpp

Issue 361543002: Remove SVGPaint (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Fix tests Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 case PT_NONE: 76 case PT_NONE:
77 default: 77 default:
78 ASSERT_NOT_REACHED(); 78 ASSERT_NOT_REACHED();
79 break; 79 break;
80 } 80 }
81 } while (paintorder >>= kPaintOrderBitwidth); 81 } while (paintorder >>= kPaintOrderBitwidth);
82 82
83 return list.release(); 83 return list.release();
84 } 84 }
85 85
86 PassRefPtrWillBeRawPtr<SVGPaint> CSSComputedStyleDeclaration::adjustSVGPaintForC urrentColor(PassRefPtrWillBeRawPtr<SVGPaint> newPaint, RenderStyle& style) const 86 PassRefPtrWillBeRawPtr<CSSValue> adjustSVGPaintForCurrentColor(SVGPaint::SVGPain tType ptype, const String& url, const Color& color, const Color& currentColor)
87 { 87 {
88 RefPtrWillBeRawPtr<SVGPaint> paint = newPaint; 88 if (ptype >= SVGPaint::SVG_PAINTTYPE_URI_NONE) {
89 if (paint->paintType() == SVGPaint::SVG_PAINTTYPE_CURRENTCOLOR || paint->pai ntType() == SVGPaint::SVG_PAINTTYPE_URI_CURRENTCOLOR) 89 RefPtrWillBeRawPtr<CSSValueList> values = CSSValueList::createSpaceSepar ated();
90 paint->setColor(style.color()); 90 values->append(CSSPrimitiveValue::create(url, CSSPrimitiveValue::CSS_URI ));
91 return paint.release(); 91 if (ptype == SVGPaint::SVG_PAINTTYPE_URI_NONE)
92 values->append(CSSPrimitiveValue::create(CSSValueNone));
93 else if (ptype == SVGPaint::SVG_PAINTTYPE_URI_CURRENTCOLOR)
94 values->append(CSSPrimitiveValue::createColor(currentColor.rgb()));
95 else if (ptype == SVGPaint::SVG_PAINTTYPE_URI_RGBCOLOR)
96 values->append(CSSPrimitiveValue::createColor(color.rgb()));
97 return values.release();
98 }
99 if (ptype == SVGPaint::SVG_PAINTTYPE_NONE)
100 return CSSPrimitiveValue::create(CSSValueNone);
101 if (ptype == SVGPaint::SVG_PAINTTYPE_CURRENTCOLOR)
102 return CSSPrimitiveValue::createColor(currentColor.rgb());
103
104 return CSSPrimitiveValue::createColor(color.rgb());
92 } 105 }
93 106
94 static inline String serializeAsFragmentIdentifier(const AtomicString& resource) 107 static inline String serializeAsFragmentIdentifier(const AtomicString& resource)
95 { 108 {
96 return "#" + resource; 109 return "#" + resource;
97 } 110 }
98 111
99 PassRefPtrWillBeRawPtr<CSSValue> CSSComputedStyleDeclaration::getSVGPropertyCSSV alue(CSSPropertyID propertyID, EUpdateLayout updateLayout) const 112 PassRefPtrWillBeRawPtr<CSSValue> CSSComputedStyleDeclaration::getSVGPropertyCSSV alue(CSSPropertyID propertyID, EUpdateLayout updateLayout) const
100 { 113 {
101 Node* node = m_node.get(); 114 Node* node = m_node.get();
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 if (!svgStyle->filterResource().isEmpty()) 174 if (!svgStyle->filterResource().isEmpty())
162 return CSSPrimitiveValue::create(serializeAsFragmentIdentifier(s vgStyle->filterResource()), CSSPrimitiveValue::CSS_URI); 175 return CSSPrimitiveValue::create(serializeAsFragmentIdentifier(s vgStyle->filterResource()), CSSPrimitiveValue::CSS_URI);
163 return CSSPrimitiveValue::createIdentifier(CSSValueNone); 176 return CSSPrimitiveValue::createIdentifier(CSSValueNone);
164 case CSSPropertyFloodColor: 177 case CSSPropertyFloodColor:
165 return currentColorOrValidColor(*style, svgStyle->floodColor()); 178 return currentColorOrValidColor(*style, svgStyle->floodColor());
166 case CSSPropertyLightingColor: 179 case CSSPropertyLightingColor:
167 return currentColorOrValidColor(*style, svgStyle->lightingColor()); 180 return currentColorOrValidColor(*style, svgStyle->lightingColor());
168 case CSSPropertyStopColor: 181 case CSSPropertyStopColor:
169 return currentColorOrValidColor(*style, svgStyle->stopColor()); 182 return currentColorOrValidColor(*style, svgStyle->stopColor());
170 case CSSPropertyFill: 183 case CSSPropertyFill:
171 return adjustSVGPaintForCurrentColor(SVGPaint::create(svgStyle->fill PaintType(), svgStyle->fillPaintUri(), svgStyle->fillPaintColor()), *style); 184 return adjustSVGPaintForCurrentColor(svgStyle->fillPaintType(), svgS tyle->fillPaintUri(), svgStyle->fillPaintColor(), style->color());
172 case CSSPropertyMarkerEnd: 185 case CSSPropertyMarkerEnd:
173 if (!svgStyle->markerEndResource().isEmpty()) 186 if (!svgStyle->markerEndResource().isEmpty())
174 return CSSPrimitiveValue::create(serializeAsFragmentIdentifier(s vgStyle->markerEndResource()), CSSPrimitiveValue::CSS_URI); 187 return CSSPrimitiveValue::create(serializeAsFragmentIdentifier(s vgStyle->markerEndResource()), CSSPrimitiveValue::CSS_URI);
175 return CSSPrimitiveValue::createIdentifier(CSSValueNone); 188 return CSSPrimitiveValue::createIdentifier(CSSValueNone);
176 case CSSPropertyMarkerMid: 189 case CSSPropertyMarkerMid:
177 if (!svgStyle->markerMidResource().isEmpty()) 190 if (!svgStyle->markerMidResource().isEmpty())
178 return CSSPrimitiveValue::create(serializeAsFragmentIdentifier(s vgStyle->markerMidResource()), CSSPrimitiveValue::CSS_URI); 191 return CSSPrimitiveValue::create(serializeAsFragmentIdentifier(s vgStyle->markerMidResource()), CSSPrimitiveValue::CSS_URI);
179 return CSSPrimitiveValue::createIdentifier(CSSValueNone); 192 return CSSPrimitiveValue::createIdentifier(CSSValueNone);
180 case CSSPropertyMarkerStart: 193 case CSSPropertyMarkerStart:
181 if (!svgStyle->markerStartResource().isEmpty()) 194 if (!svgStyle->markerStartResource().isEmpty())
182 return CSSPrimitiveValue::create(serializeAsFragmentIdentifier(s vgStyle->markerStartResource()), CSSPrimitiveValue::CSS_URI); 195 return CSSPrimitiveValue::create(serializeAsFragmentIdentifier(s vgStyle->markerStartResource()), CSSPrimitiveValue::CSS_URI);
183 return CSSPrimitiveValue::createIdentifier(CSSValueNone); 196 return CSSPrimitiveValue::createIdentifier(CSSValueNone);
184 case CSSPropertyStroke: 197 case CSSPropertyStroke:
185 return adjustSVGPaintForCurrentColor(SVGPaint::create(svgStyle->stro kePaintType(), svgStyle->strokePaintUri(), svgStyle->strokePaintColor()), *style ); 198 return adjustSVGPaintForCurrentColor(svgStyle->strokePaintType(), sv gStyle->strokePaintUri(), svgStyle->strokePaintColor(), style->color());
186 case CSSPropertyStrokeDasharray: 199 case CSSPropertyStrokeDasharray:
187 return strokeDashArrayToCSSValueList(svgStyle->strokeDashArray()); 200 return strokeDashArrayToCSSValueList(svgStyle->strokeDashArray());
188 case CSSPropertyStrokeDashoffset: 201 case CSSPropertyStrokeDashoffset:
189 return SVGLength::toCSSPrimitiveValue(svgStyle->strokeDashOffset()); 202 return SVGLength::toCSSPrimitiveValue(svgStyle->strokeDashOffset());
190 case CSSPropertyStrokeWidth: 203 case CSSPropertyStrokeWidth:
191 return SVGLength::toCSSPrimitiveValue(svgStyle->strokeWidth()); 204 return SVGLength::toCSSPrimitiveValue(svgStyle->strokeWidth());
192 case CSSPropertyBaselineShift: { 205 case CSSPropertyBaselineShift: {
193 switch (svgStyle->baselineShift()) { 206 switch (svgStyle->baselineShift()) {
194 case BS_BASELINE: 207 case BS_BASELINE:
195 return CSSPrimitiveValue::createIdentifier(CSSValueBaseline) ; 208 return CSSPrimitiveValue::createIdentifier(CSSValueBaseline) ;
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 default: 242 default:
230 // If you crash here, it's because you added a css property and are not handling it 243 // If you crash here, it's because you added a css property and are not handling it
231 // in either this switch statement or the one in CSSComputedStyleDelcara tion::getPropertyCSSValue 244 // in either this switch statement or the one in CSSComputedStyleDelcara tion::getPropertyCSSValue
232 ASSERT_WITH_MESSAGE(0, "unimplemented propertyID: %d", propertyID); 245 ASSERT_WITH_MESSAGE(0, "unimplemented propertyID: %d", propertyID);
233 } 246 }
234 WTF_LOG_ERROR("unimplemented propertyID: %d", propertyID); 247 WTF_LOG_ERROR("unimplemented propertyID: %d", propertyID);
235 return nullptr; 248 return nullptr;
236 } 249 }
237 250
238 } 251 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698