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

Unified Diff: Source/core/svg/SVGLength.cpp

Issue 901193002: De-ExceptionState-ify SVGLengthContext (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase. Created 5 years, 10 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 | « Source/core/svg/SVGLength.h ('k') | Source/core/svg/SVGLengthContext.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/svg/SVGLength.cpp
diff --git a/Source/core/svg/SVGLength.cpp b/Source/core/svg/SVGLength.cpp
index 931e3d398293a5ff8f9bc9087ad0b264a9a58ac5..1f599c3b242593dce7b6025ab57fe17b85e64fb2 100644
--- a/Source/core/svg/SVGLength.cpp
+++ b/Source/core/svg/SVGLength.cpp
@@ -159,22 +159,18 @@ bool SVGLength::operator==(const SVGLength& other) const
&& m_valueInSpecifiedUnits == other.m_valueInSpecifiedUnits;
}
-float SVGLength::value(const SVGLengthContext& context, ExceptionState& es) const
+float SVGLength::value(const SVGLengthContext& context) const
{
- return context.convertValueToUserUnits(m_valueInSpecifiedUnits, unitMode(), unitType(), es);
+ return context.convertValueToUserUnits(m_valueInSpecifiedUnits, unitMode(), unitType());
}
-void SVGLength::setValue(float value, const SVGLengthContext& context, ExceptionState& es)
+void SVGLength::setValue(float value, const SVGLengthContext& context)
{
// LengthTypePercentage is represented with 100% = 100.0. Good for accuracy but could eventually be changed.
if (m_unitType == LengthTypePercentage)
value = value / 100;
- float convertedValue = context.convertValueFromUserUnits(value, unitMode(), unitType(), es);
- if (es.hadException())
- return;
-
- m_valueInSpecifiedUnits = convertedValue;
+ m_valueInSpecifiedUnits = context.convertValueFromUserUnits(value, unitMode(), unitType());
}
void SVGLength::setUnitType(SVGLengthType type)
@@ -265,22 +261,13 @@ void SVGLength::newValueSpecifiedUnits(SVGLengthType type, float value)
m_valueInSpecifiedUnits = value;
}
-void SVGLength::convertToSpecifiedUnits(SVGLengthType type, const SVGLengthContext& context, ExceptionState& exceptionState)
+void SVGLength::convertToSpecifiedUnits(SVGLengthType type, const SVGLengthContext& context)
{
ASSERT(type != LengthTypeUnknown && type <= LengthTypePC);
- float valueInUserUnits = value(context, exceptionState);
- if (exceptionState.hadException())
- return;
-
- SVGLengthType originalType = unitType();
+ float valueInUserUnits = value(context);
m_unitType = type;
- setValue(valueInUserUnits, context, exceptionState);
- if (!exceptionState.hadException())
- return;
-
- // Eventually restore old unit and type
- m_unitType = originalType;
+ setValue(valueInUserUnits, context);
}
PassRefPtrWillBeRawPtr<SVGLength> SVGLength::fromCSSPrimitiveValue(CSSPrimitiveValue* value)
@@ -443,15 +430,9 @@ PassRefPtrWillBeRawPtr<SVGLength> SVGLength::blend(PassRefPtrWillBeRawPtr<SVGLen
ASSERT(!isRelative());
ASSERT(!from->isRelative());
- TrackExceptionState es;
SVGLengthContext nonRelativeLengthContext(0);
- float fromValueInUserUnits = nonRelativeLengthContext.convertValueToUserUnits(from->valueInSpecifiedUnits(), from->unitMode(), fromType, es);
- if (es.hadException())
- return create();
-
- float fromValue = nonRelativeLengthContext.convertValueFromUserUnits(fromValueInUserUnits, unitMode(), toType, es);
- if (es.hadException())
- return create();
+ float fromValueInUserUnits = nonRelativeLengthContext.convertValueToUserUnits(from->valueInSpecifiedUnits(), from->unitMode(), fromType);
+ float fromValue = nonRelativeLengthContext.convertValueFromUserUnits(fromValueInUserUnits, unitMode(), toType);
float toValue = valueInSpecifiedUnits();
length->newValueSpecifiedUnits(toType, blink::blend(fromValue, toValue, progress));
@@ -461,8 +442,7 @@ PassRefPtrWillBeRawPtr<SVGLength> SVGLength::blend(PassRefPtrWillBeRawPtr<SVGLen
void SVGLength::add(PassRefPtrWillBeRawPtr<SVGPropertyBase> other, SVGElement* contextElement)
{
SVGLengthContext lengthContext(contextElement);
-
- setValue(value(lengthContext) + toSVGLength(other)->value(lengthContext), lengthContext, ASSERT_NO_EXCEPTION);
+ setValue(value(lengthContext) + toSVGLength(other)->value(lengthContext), lengthContext);
}
void SVGLength::calculateAnimatedValue(SVGAnimationElement* animationElement, float percentage, unsigned repeatCount, PassRefPtrWillBeRawPtr<SVGPropertyBase> fromValue, PassRefPtrWillBeRawPtr<SVGPropertyBase> toValue, PassRefPtrWillBeRawPtr<SVGPropertyBase> toAtEndOfDurationValue, SVGElement* contextElement)
@@ -472,12 +452,12 @@ void SVGLength::calculateAnimatedValue(SVGAnimationElement* animationElement, fl
RefPtrWillBeRawPtr<SVGLength> toAtEndOfDurationLength = toSVGLength(toAtEndOfDurationValue);
SVGLengthContext lengthContext(contextElement);
- float animatedNumber = value(lengthContext, IGNORE_EXCEPTION);
- animationElement->animateAdditiveNumber(percentage, repeatCount, fromLength->value(lengthContext, IGNORE_EXCEPTION), toLength->value(lengthContext, IGNORE_EXCEPTION), toAtEndOfDurationLength->value(lengthContext, IGNORE_EXCEPTION), animatedNumber);
+ float animatedNumber = value(lengthContext);
+ animationElement->animateAdditiveNumber(percentage, repeatCount, fromLength->value(lengthContext), toLength->value(lengthContext), toAtEndOfDurationLength->value(lengthContext), animatedNumber);
ASSERT(unitMode() == lengthModeForAnimatedLengthAttribute(animationElement->attributeName()));
m_unitType = percentage < 0.5 ? fromLength->unitType() : toLength->unitType();
- setValue(animatedNumber, lengthContext, ASSERT_NO_EXCEPTION);
+ setValue(animatedNumber, lengthContext);
}
float SVGLength::calculateDistance(PassRefPtrWillBeRawPtr<SVGPropertyBase> toValue, SVGElement* contextElement)
@@ -485,7 +465,7 @@ float SVGLength::calculateDistance(PassRefPtrWillBeRawPtr<SVGPropertyBase> toVal
SVGLengthContext lengthContext(contextElement);
RefPtrWillBeRawPtr<SVGLength> toLength = toSVGLength(toValue);
- return fabsf(toLength->value(lengthContext, IGNORE_EXCEPTION) - value(lengthContext, IGNORE_EXCEPTION));
+ return fabsf(toLength->value(lengthContext) - value(lengthContext));
}
}
« no previous file with comments | « Source/core/svg/SVGLength.h ('k') | Source/core/svg/SVGLengthContext.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698