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

Unified Diff: WebCore/css/SVGCSSStyleSelector.cpp

Issue 3521003: Merge 68340 (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/517/
Patch Set: Created 10 years, 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « LayoutTests/svg/css/invalid-color-crash-expected.txt ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: WebCore/css/SVGCSSStyleSelector.cpp
===================================================================
--- WebCore/css/SVGCSSStyleSelector.cpp (revision 68662)
+++ WebCore/css/SVGCSSStyleSelector.cpp (working copy)
@@ -48,15 +48,17 @@
#define HANDLE_INHERIT(prop, Prop) \
if (isInherit) \
-{\
- svgstyle->set##Prop(m_parentStyle->svgStyle()->prop());\
- return;\
+{ \
+ svgstyle->set##Prop(m_parentStyle->svgStyle()->prop()); \
+ return; \
}
#define HANDLE_INHERIT_AND_INITIAL(prop, Prop) \
HANDLE_INHERIT(prop, Prop) \
-else if (isInitial) \
- svgstyle->set##Prop(SVGRenderStyle::initial##Prop());
+if (isInitial) { \
+ svgstyle->set##Prop(SVGRenderStyle::initial##Prop()); \
+ return; \
+}
namespace WebCore {
@@ -90,15 +92,13 @@
return -1;
}
-static Color colorFromSVGColorCSSValue(CSSValue* value, const Color& fgColor)
+static Color colorFromSVGColorCSSValue(SVGColor* svgColor, const Color& fgColor)
{
- ASSERT(value->isSVGColor());
- SVGColor* c = static_cast<SVGColor*>(value);
Color color;
- if (c->colorType() == SVGColor::SVG_COLORTYPE_CURRENTCOLOR)
+ if (svgColor->colorType() == SVGColor::SVG_COLORTYPE_CURRENTCOLOR)
color = fgColor;
else
- color = c->color();
+ color = svgColor->color();
return color;
}
@@ -468,13 +468,15 @@
case CSSPropertyStopColor:
{
HANDLE_INHERIT_AND_INITIAL(stopColor, StopColor);
- svgstyle->setStopColor(colorFromSVGColorCSSValue(value, m_style->color()));
+ if (value->isSVGColor())
+ svgstyle->setStopColor(colorFromSVGColorCSSValue(static_cast<SVGColor*>(value), m_style->color()));
break;
}
case CSSPropertyLightingColor:
{
HANDLE_INHERIT_AND_INITIAL(lightingColor, LightingColor);
- svgstyle->setLightingColor(colorFromSVGColorCSSValue(value, m_style->color()));
+ if (value->isSVGColor())
+ svgstyle->setLightingColor(colorFromSVGColorCSSValue(static_cast<SVGColor*>(value), m_style->color()));
break;
}
case CSSPropertyFloodOpacity:
@@ -497,11 +499,9 @@
}
case CSSPropertyFloodColor:
{
- if (isInitial) {
- svgstyle->setFloodColor(SVGRenderStyle::initialFloodColor());
- return;
- }
- svgstyle->setFloodColor(colorFromSVGColorCSSValue(value, m_style->color()));
+ HANDLE_INHERIT_AND_INITIAL(floodColor, FloodColor);
+ if (value->isSVGColor())
+ svgstyle->setFloodColor(colorFromSVGColorCSSValue(static_cast<SVGColor*>(value), m_style->color()));
break;
}
case CSSPropertyGlyphOrientationHorizontal:
« no previous file with comments | « LayoutTests/svg/css/invalid-color-crash-expected.txt ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698