Index: Source/core/svg/SVGLengthContext.cpp |
diff --git a/Source/core/svg/SVGLengthContext.cpp b/Source/core/svg/SVGLengthContext.cpp |
index f1b5ffceebe4232d09b09d7adb8a71706b85bf90..926db764d6617bcd63b6f22d4c3a662dd99aa059 100644 |
--- a/Source/core/svg/SVGLengthContext.cpp |
+++ b/Source/core/svg/SVGLengthContext.cpp |
@@ -24,6 +24,7 @@ |
#include "core/svg/SVGLengthContext.h" |
#include "core/css/CSSHelper.h" |
+#include "core/css/CSSPrimitiveValue.h" |
#include "core/layout/LayoutObject.h" |
#include "core/layout/style/LayoutStyle.h" |
#include "core/svg/SVGSVGElement.h" |
@@ -48,7 +49,7 @@ static inline float dimensionForLengthMode(SVGLengthMode mode, const FloatSize& |
static float convertValueFromPercentageToUserUnits(const SVGLength& value, const FloatSize& viewportSize) |
{ |
- return value.scaleByPercentage(dimensionForLengthMode(value.unitMode(), viewportSize)); |
+ return CSSPrimitiveValue::clampToCSSLengthRange(value.scaleByPercentage(dimensionForLengthMode(value.unitMode(), viewportSize))); |
} |
SVGLengthContext::SVGLengthContext(const SVGElement* context) |
@@ -135,29 +136,29 @@ float SVGLengthContext::convertValueToUserUnits(float value, SVGLengthMode mode, |
case LengthTypeUnknown: |
return 0; |
case LengthTypeNumber: |
- return value; |
+ return CSSPrimitiveValue::clampToCSSLengthRange(value); |
fs
2015/03/12 14:28:48
This is begging to be sunk out of the switch in on
Erik Dahlström (inactive)
2015/03/12 16:14:56
Done.
|
case LengthTypePX: |
- return value; |
+ return CSSPrimitiveValue::clampToCSSLengthRange(value); |
case LengthTypePercentage: { |
FloatSize viewportSize; |
if (!determineViewport(viewportSize)) |
return 0; |
- return value * dimensionForLengthMode(mode, viewportSize) / 100; |
+ return CSSPrimitiveValue::clampToCSSLengthRange(value * dimensionForLengthMode(mode, viewportSize) / 100); |
} |
case LengthTypeEMS: |
- return convertValueFromEMSToUserUnits(value); |
+ return CSSPrimitiveValue::clampToCSSLengthRange(convertValueFromEMSToUserUnits(value)); |
case LengthTypeEXS: |
- return convertValueFromEXSToUserUnits(value); |
+ return CSSPrimitiveValue::clampToCSSLengthRange(convertValueFromEXSToUserUnits(value)); |
case LengthTypeCM: |
- return value * cssPixelsPerCentimeter; |
+ return CSSPrimitiveValue::clampToCSSLengthRange(value * cssPixelsPerCentimeter); |
case LengthTypeMM: |
- return value * cssPixelsPerMillimeter; |
+ return CSSPrimitiveValue::clampToCSSLengthRange(value * cssPixelsPerMillimeter); |
case LengthTypeIN: |
- return value * cssPixelsPerInch; |
+ return CSSPrimitiveValue::clampToCSSLengthRange(value * cssPixelsPerInch); |
case LengthTypePT: |
- return value * cssPixelsPerPoint; |
+ return CSSPrimitiveValue::clampToCSSLengthRange(value * cssPixelsPerPoint); |
case LengthTypePC: |
- return value * cssPixelsPerPica; |
+ return CSSPrimitiveValue::clampToCSSLengthRange(value * cssPixelsPerPica); |
} |
ASSERT_NOT_REACHED(); |