Merge from Chromium at DEPS revision 251904
This commit was generated by merge_to_master.py.
Change-Id: I8ca36eee41eba7e9a56d6728a9d19e5883d7058c
diff --git a/Source/core/svg/SVGFEGaussianBlurElement.cpp b/Source/core/svg/SVGFEGaussianBlurElement.cpp
index 75cadff..35b3892 100644
--- a/Source/core/svg/SVGFEGaussianBlurElement.cpp
+++ b/Source/core/svg/SVGFEGaussianBlurElement.cpp
@@ -31,21 +31,20 @@
namespace WebCore {
// Animated property definitions
-DEFINE_ANIMATED_STRING(SVGFEGaussianBlurElement, SVGNames::inAttr, In1, in1)
-DEFINE_ANIMATED_NUMBER_MULTIPLE_WRAPPERS(SVGFEGaussianBlurElement, SVGNames::stdDeviationAttr, stdDeviationXIdentifier(), StdDeviationX, stdDeviationX)
-DEFINE_ANIMATED_NUMBER_MULTIPLE_WRAPPERS(SVGFEGaussianBlurElement, SVGNames::stdDeviationAttr, stdDeviationYIdentifier(), StdDeviationY, stdDeviationY)
BEGIN_REGISTER_ANIMATED_PROPERTIES(SVGFEGaussianBlurElement)
- REGISTER_LOCAL_ANIMATED_PROPERTY(in1)
- REGISTER_LOCAL_ANIMATED_PROPERTY(stdDeviationX)
- REGISTER_LOCAL_ANIMATED_PROPERTY(stdDeviationY)
REGISTER_PARENT_ANIMATED_PROPERTIES(SVGFilterPrimitiveStandardAttributes)
END_REGISTER_ANIMATED_PROPERTIES
inline SVGFEGaussianBlurElement::SVGFEGaussianBlurElement(Document& document)
: SVGFilterPrimitiveStandardAttributes(SVGNames::feGaussianBlurTag, document)
+ , m_stdDeviation(SVGAnimatedNumberOptionalNumber::create(this, SVGNames::stdDeviationAttr, 0, 0))
+ , m_in1(SVGAnimatedString::create(this, SVGNames::inAttr, SVGString::create()))
{
ScriptWrappable::init(this);
+
+ addToPropertyMap(m_stdDeviation);
+ addToPropertyMap(m_in1);
registerAnimatedPropertiesForSVGFEGaussianBlurElement();
}
@@ -54,22 +53,10 @@
return adoptRef(new SVGFEGaussianBlurElement(document));
}
-const AtomicString& SVGFEGaussianBlurElement::stdDeviationXIdentifier()
-{
- DEFINE_STATIC_LOCAL(AtomicString, s_identifier, ("SVGStdDeviationX", AtomicString::ConstructFromLiteral));
- return s_identifier;
-}
-
-const AtomicString& SVGFEGaussianBlurElement::stdDeviationYIdentifier()
-{
- DEFINE_STATIC_LOCAL(AtomicString, s_identifier, ("SVGStdDeviationY", AtomicString::ConstructFromLiteral));
- return s_identifier;
-}
-
void SVGFEGaussianBlurElement::setStdDeviation(float x, float y)
{
- setStdDeviationXBaseValue(x);
- setStdDeviationYBaseValue(y);
+ stdDeviationX()->baseValue()->setValue(x);
+ stdDeviationY()->baseValue()->setValue(y);
invalidate();
}
@@ -90,21 +77,16 @@
return;
}
- if (name == SVGNames::stdDeviationAttr) {
- float x, y;
- if (parseNumberOptionalNumber(value, x, y)) {
- setStdDeviationXBaseValue(x);
- setStdDeviationYBaseValue(y);
- }
- return;
- }
+ SVGParsingError parseError = NoError;
- if (name == SVGNames::inAttr) {
- setIn1BaseValue(value);
- return;
- }
+ if (name == SVGNames::inAttr)
+ m_in1->setBaseValueAsString(value, parseError);
+ else if (name == SVGNames::stdDeviationAttr)
+ m_stdDeviation->setBaseValueAsString(value, parseError);
+ else
+ ASSERT_NOT_REACHED();
- ASSERT_NOT_REACHED();
+ reportAttributeParsingError(parseError, name, value);
}
void SVGFEGaussianBlurElement::svgAttributeChanged(const QualifiedName& attrName)
@@ -126,15 +108,15 @@
PassRefPtr<FilterEffect> SVGFEGaussianBlurElement::build(SVGFilterBuilder* filterBuilder, Filter* filter)
{
- FilterEffect* input1 = filterBuilder->getEffectById(in1CurrentValue());
+ FilterEffect* input1 = filterBuilder->getEffectById(AtomicString(m_in1->currentValue()->value()));
if (!input1)
return 0;
- if (stdDeviationXCurrentValue() < 0 || stdDeviationYCurrentValue() < 0)
+ if (stdDeviationX()->currentValue()->value() < 0 || stdDeviationY()->currentValue()->value() < 0)
return 0;
- RefPtr<FilterEffect> effect = FEGaussianBlur::create(filter, stdDeviationXCurrentValue(), stdDeviationYCurrentValue());
+ RefPtr<FilterEffect> effect = FEGaussianBlur::create(filter, stdDeviationX()->currentValue()->value(), stdDeviationY()->currentValue()->value());
effect->inputEffects().append(input1);
return effect.release();
}