Index: Source/core/svg/SVGFESpecularLightingElement.cpp |
diff --git a/Source/core/svg/SVGFESpecularLightingElement.cpp b/Source/core/svg/SVGFESpecularLightingElement.cpp |
index 41bd56f07050e8548ae1cfce376ff4dd231d402d..18501eebbdf7360158f16f5b655b0b9c1e0f0142 100644 |
--- a/Source/core/svg/SVGFESpecularLightingElement.cpp |
+++ b/Source/core/svg/SVGFESpecularLightingElement.cpp |
@@ -108,23 +108,16 @@ bool SVGFESpecularLightingElement::setFilterEffectAttribute(FilterEffect* effect |
SVGFELightElement* lightElement = SVGFELightElement::findLightElement(*this); |
ASSERT(lightSource); |
ASSERT(lightElement); |
+ ASSERT(effect->filter()); |
if (attrName == SVGNames::azimuthAttr) |
return lightSource->setAzimuth(lightElement->azimuth()->currentValue()->value()); |
if (attrName == SVGNames::elevationAttr) |
return lightSource->setElevation(lightElement->elevation()->currentValue()->value()); |
- if (attrName == SVGNames::xAttr) |
- return lightSource->setX(lightElement->x()->currentValue()->value()); |
- if (attrName == SVGNames::yAttr) |
- return lightSource->setY(lightElement->y()->currentValue()->value()); |
- if (attrName == SVGNames::zAttr) |
- return lightSource->setZ(lightElement->z()->currentValue()->value()); |
- if (attrName == SVGNames::pointsAtXAttr) |
- return lightSource->setPointsAtX(lightElement->pointsAtX()->currentValue()->value()); |
- if (attrName == SVGNames::pointsAtYAttr) |
- return lightSource->setPointsAtY(lightElement->pointsAtY()->currentValue()->value()); |
- if (attrName == SVGNames::pointsAtZAttr) |
- return lightSource->setPointsAtZ(lightElement->pointsAtZ()->currentValue()->value()); |
+ if (attrName == SVGNames::xAttr || attrName == SVGNames::yAttr || attrName == SVGNames::zAttr) |
+ return lightSource->setPosition(effect->filter()->resolve3dPoint(lightElement->position())); |
+ if (attrName == SVGNames::pointsAtXAttr || attrName == SVGNames::pointsAtYAttr || attrName == SVGNames::pointsAtZAttr) |
+ return lightSource->setPointsAt(effect->filter()->resolve3dPoint(lightElement->pointsAt())); |
if (attrName == SVGNames::specularExponentAttr) |
return lightSource->setSpecularExponent(lightElement->specularExponent()->currentValue()->value()); |
if (attrName == SVGNames::limitingConeAngleAttr) |