Index: Source/core/svg/SVGAngleTearOff.h |
diff --git a/Source/core/svg/SVGAngleTearOff.h b/Source/core/svg/SVGAngleTearOff.h |
index 8d6d52084b908acc61113efec7c7ae437ba1a538..8b7e50cb1e2670385dc02a97390b7a9e4a7f0edd 100644 |
--- a/Source/core/svg/SVGAngleTearOff.h |
+++ b/Source/core/svg/SVGAngleTearOff.h |
@@ -54,7 +54,7 @@ public: |
virtual ~SVGAngleTearOff(); |
- unsigned short unitType() { return target()->unitType(); } |
+ unsigned short unitType() { return hasExposedAngleUnit() ? target()->unitType() : SVGAngle::SVG_ANGLETYPE_UNKNOWN; } |
void setValue(float, ExceptionState&); |
float value() { return target()->value(); } |
@@ -65,11 +65,13 @@ public: |
void newValueSpecifiedUnits(unsigned short unitType, float valueInSpecifiedUnits, ExceptionState&); |
void convertToSpecifiedUnits(unsigned short unitType, ExceptionState&); |
- String valueAsString() { return target()->valueAsString(); } |
+ String valueAsString() { return hasExposedAngleUnit() ? target()->valueAsString() : String::number(0); } |
void setValueAsString(const String&, ExceptionState&); |
private: |
SVGAngleTearOff(PassRefPtr<SVGAngle>, SVGElement*, PropertyIsAnimValType, const QualifiedName&); |
+ |
+ bool hasExposedAngleUnit() { return target()->unitType() <= SVGAngle::SVG_ANGLETYPE_GRAD; } |
}; |
} // namespace WebCore |