| Index: Source/core/svg/SVGFEDisplacementMapElement.cpp
|
| diff --git a/Source/core/svg/SVGFEDisplacementMapElement.cpp b/Source/core/svg/SVGFEDisplacementMapElement.cpp
|
| index 8ee3fc0b8689c99125499ccd521b94e3cb26c6a0..f01722d9a713b8b30d569adfd8d0371b07dd850c 100644
|
| --- a/Source/core/svg/SVGFEDisplacementMapElement.cpp
|
| +++ b/Source/core/svg/SVGFEDisplacementMapElement.cpp
|
| @@ -29,14 +29,10 @@
|
| namespace WebCore {
|
|
|
| // Animated property definitions
|
| -DEFINE_ANIMATED_STRING(SVGFEDisplacementMapElement, SVGNames::inAttr, In1, in1)
|
| -DEFINE_ANIMATED_STRING(SVGFEDisplacementMapElement, SVGNames::in2Attr, In2, in2)
|
| DEFINE_ANIMATED_ENUMERATION(SVGFEDisplacementMapElement, SVGNames::xChannelSelectorAttr, XChannelSelector, xChannelSelector, ChannelSelectorType)
|
| DEFINE_ANIMATED_ENUMERATION(SVGFEDisplacementMapElement, SVGNames::yChannelSelectorAttr, YChannelSelector, yChannelSelector, ChannelSelectorType)
|
|
|
| BEGIN_REGISTER_ANIMATED_PROPERTIES(SVGFEDisplacementMapElement)
|
| - REGISTER_LOCAL_ANIMATED_PROPERTY(in1)
|
| - REGISTER_LOCAL_ANIMATED_PROPERTY(in2)
|
| REGISTER_LOCAL_ANIMATED_PROPERTY(xChannelSelector)
|
| REGISTER_LOCAL_ANIMATED_PROPERTY(yChannelSelector)
|
| REGISTER_PARENT_ANIMATED_PROPERTIES(SVGFilterPrimitiveStandardAttributes)
|
| @@ -45,12 +41,16 @@ END_REGISTER_ANIMATED_PROPERTIES
|
| inline SVGFEDisplacementMapElement::SVGFEDisplacementMapElement(Document& document)
|
| : SVGFilterPrimitiveStandardAttributes(SVGNames::feDisplacementMapTag, document)
|
| , m_scale(SVGAnimatedNumber::create(this, SVGNames::scaleAttr, SVGNumber::create(0)))
|
| + , m_in1(SVGAnimatedString::create(this, SVGNames::inAttr, SVGString::create()))
|
| + , m_in2(SVGAnimatedString::create(this, SVGNames::in2Attr, SVGString::create()))
|
| , m_xChannelSelector(CHANNEL_A)
|
| , m_yChannelSelector(CHANNEL_A)
|
| {
|
| ScriptWrappable::init(this);
|
|
|
| addToPropertyMap(m_scale);
|
| + addToPropertyMap(m_in1);
|
| + addToPropertyMap(m_in2);
|
| registerAnimatedPropertiesForSVGFEDisplacementMapElement();
|
| }
|
|
|
| @@ -93,19 +93,13 @@ void SVGFEDisplacementMapElement::parseAttribute(const QualifiedName& name, cons
|
| return;
|
| }
|
|
|
| - if (name == SVGNames::inAttr) {
|
| - setIn1BaseValue(value);
|
| - return;
|
| - }
|
| -
|
| - if (name == SVGNames::in2Attr) {
|
| - setIn2BaseValue(value);
|
| - return;
|
| - }
|
| -
|
| SVGParsingError parseError = NoError;
|
|
|
| - if (name == SVGNames::scaleAttr)
|
| + if (name == SVGNames::inAttr)
|
| + m_in1->setBaseValueAsString(value, parseError);
|
| + else if (name == SVGNames::in2Attr)
|
| + m_in2->setBaseValueAsString(value, parseError);
|
| + else if (name == SVGNames::scaleAttr)
|
| m_scale->setBaseValueAsString(value, parseError);
|
| else
|
| ASSERT_NOT_REACHED();
|
| @@ -151,8 +145,8 @@ void SVGFEDisplacementMapElement::svgAttributeChanged(const QualifiedName& attrN
|
|
|
| PassRefPtr<FilterEffect> SVGFEDisplacementMapElement::build(SVGFilterBuilder* filterBuilder, Filter* filter)
|
| {
|
| - FilterEffect* input1 = filterBuilder->getEffectById(AtomicString(in1CurrentValue()));
|
| - FilterEffect* input2 = filterBuilder->getEffectById(AtomicString(in2CurrentValue()));
|
| + FilterEffect* input1 = filterBuilder->getEffectById(AtomicString(m_in1->currentValue()->value()));
|
| + FilterEffect* input2 = filterBuilder->getEffectById(AtomicString(m_in2->currentValue()->value()));
|
|
|
| if (!input1 || !input2)
|
| return 0;
|
|
|