Index: Source/core/svg/SVGColor.cpp |
diff --git a/Source/core/svg/SVGColor.cpp b/Source/core/svg/SVGColor.cpp |
index 9d244c2c6740385eb0b8a33f9d379479dda89ef0..71782e964616e8241c815f677bc2356205cd3c1c 100644 |
--- a/Source/core/svg/SVGColor.cpp |
+++ b/Source/core/svg/SVGColor.cpp |
@@ -31,12 +31,14 @@ namespace WebCore { |
SVGColor::SVGColor(const SVGColorType& colorType) |
: CSSValue(SVGColorClass) |
, m_colorType(colorType) |
+ , m_valid(false) |
{ |
} |
SVGColor::SVGColor(ClassType classType, const SVGColorType& colorType) |
: CSSValue(classType) |
, m_colorType(colorType) |
+ , m_valid(false) |
{ |
} |
@@ -45,13 +47,15 @@ PassRefPtr<RGBColor> SVGColor::rgbColor() const |
return RGBColor::create(m_color.rgb()); |
} |
-Color SVGColor::colorFromRGBColorString(const String& colorString) |
+bool SVGColor::colorFromRGBColorString(const String& colorString, Color& color) |
{ |
// FIXME: Rework css parser so it is more SVG aware. |
- RGBA32 color; |
- if (CSSParser::parseColor(color, colorString.stripWhiteSpace())) |
- return color; |
- return Color(); |
+ RGBA32 rgba; |
+ if (CSSParser::parseColor(rgba, colorString.stripWhiteSpace())) { |
+ color = rgba; |
+ return true; |
+ } |
+ return false; |
} |
void SVGColor::setRGBColor(const String&, ExceptionCode& ec) |
@@ -81,7 +85,7 @@ String SVGColor::customCssText() const |
// FIXME: No ICC color support. |
return m_color.serialized(); |
case SVG_COLORTYPE_CURRENTCOLOR: |
- if (m_color.isValid()) |
+ if (m_valid) |
return m_color.serialized(); |
return "currentColor"; |
} |