| Index: Source/core/svg/SVGFEBlendElement.cpp
|
| diff --git a/Source/core/svg/SVGFEBlendElement.cpp b/Source/core/svg/SVGFEBlendElement.cpp
|
| index 5dc45e3f76a23d51563323249cbae5570c9e0f7b..53556fdd3943ac1db24af5d2cd33598ce1ad813a 100644
|
| --- a/Source/core/svg/SVGFEBlendElement.cpp
|
| +++ b/Source/core/svg/SVGFEBlendElement.cpp
|
| @@ -30,22 +30,22 @@
|
| namespace WebCore {
|
|
|
| // Animated property definitions
|
| -DEFINE_ANIMATED_STRING(SVGFEBlendElement, SVGNames::inAttr, In1, in1)
|
| -DEFINE_ANIMATED_STRING(SVGFEBlendElement, SVGNames::in2Attr, In2, in2)
|
| DEFINE_ANIMATED_ENUMERATION(SVGFEBlendElement, SVGNames::modeAttr, Mode, mode, BlendModeType)
|
|
|
| BEGIN_REGISTER_ANIMATED_PROPERTIES(SVGFEBlendElement)
|
| - REGISTER_LOCAL_ANIMATED_PROPERTY(in1)
|
| - REGISTER_LOCAL_ANIMATED_PROPERTY(in2)
|
| REGISTER_LOCAL_ANIMATED_PROPERTY(mode)
|
| REGISTER_PARENT_ANIMATED_PROPERTIES(SVGFilterPrimitiveStandardAttributes)
|
| END_REGISTER_ANIMATED_PROPERTIES
|
|
|
| inline SVGFEBlendElement::SVGFEBlendElement(Document& document)
|
| : SVGFilterPrimitiveStandardAttributes(SVGNames::feBlendTag, document)
|
| + , m_in1(SVGAnimatedString::create(this, SVGNames::inAttr, SVGString::create()))
|
| + , m_in2(SVGAnimatedString::create(this, SVGNames::in2Attr, SVGString::create()))
|
| , m_mode(FEBLEND_MODE_NORMAL)
|
| {
|
| ScriptWrappable::init(this);
|
| + addToPropertyMap(m_in1);
|
| + addToPropertyMap(m_in2);
|
| registerAnimatedPropertiesForSVGFEBlendElement();
|
| }
|
|
|
| @@ -79,17 +79,16 @@ void SVGFEBlendElement::parseAttribute(const QualifiedName& name, const AtomicSt
|
| return;
|
| }
|
|
|
| - if (name == SVGNames::inAttr) {
|
| - setIn1BaseValue(value);
|
| - return;
|
| - }
|
| + SVGParsingError parseError = NoError;
|
|
|
| - if (name == SVGNames::in2Attr) {
|
| - setIn2BaseValue(value);
|
| - return;
|
| - }
|
| + if (name == SVGNames::inAttr)
|
| + m_in1->setBaseValueAsString(value, parseError);
|
| + else if (name == SVGNames::in2Attr)
|
| + m_in2->setBaseValueAsString(value, parseError);
|
| + else
|
| + ASSERT_NOT_REACHED();
|
|
|
| - ASSERT_NOT_REACHED();
|
| + reportAttributeParsingError(parseError, name, value);
|
| }
|
|
|
| bool SVGFEBlendElement::setFilterEffectAttribute(FilterEffect* effect, const QualifiedName& attrName)
|
| @@ -126,8 +125,8 @@ void SVGFEBlendElement::svgAttributeChanged(const QualifiedName& attrName)
|
|
|
| PassRefPtr<FilterEffect> SVGFEBlendElement::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;
|
|
|