Index: third_party/WebKit/Source/core/svg/SVGAnimatedTypeAnimator.cpp |
diff --git a/third_party/WebKit/Source/core/svg/SVGAnimatedTypeAnimator.cpp b/third_party/WebKit/Source/core/svg/SVGAnimatedTypeAnimator.cpp |
deleted file mode 100644 |
index f31c0741286a831d04184cf7f9e5461f1e281629..0000000000000000000000000000000000000000 |
--- a/third_party/WebKit/Source/core/svg/SVGAnimatedTypeAnimator.cpp |
+++ /dev/null |
@@ -1,171 +0,0 @@ |
-/* |
- * Copyright (C) Research In Motion Limited 2011-2012. All rights reserved. |
- * Copyright (C) 2013 Samsung Electronics. All rights reserved. |
- * |
- * This library is free software; you can redistribute it and/or |
- * modify it under the terms of the GNU Library General Public |
- * License as published by the Free Software Foundation; either |
- * version 2 of the License, or (at your option) any later version. |
- * |
- * This library is distributed in the hope that it will be useful, |
- * but WITHOUT ANY WARRANTY; without even the implied warranty of |
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
- * Library General Public License for more details. |
- * |
- * You should have received a copy of the GNU Library General Public License |
- * along with this library; see the file COPYING.LIB. If not, write to |
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
- * Boston, MA 02110-1301, USA. |
- */ |
- |
-#include "core/svg/SVGAnimatedTypeAnimator.h" |
- |
-#include "core/svg/SVGAnimateTransformElement.h" |
-#include "core/svg/SVGAnimatedColor.h" |
-#include "core/svg/SVGAnimationElement.h" |
-#include "core/svg/SVGLength.h" |
-#include "core/svg/SVGLengthList.h" |
-#include "core/svg/SVGNumber.h" |
-#include "core/svg/SVGString.h" |
-#include "core/svg/SVGTransformList.h" |
-#include "core/svg/properties/SVGAnimatedProperty.h" |
- |
-namespace blink { |
- |
-SVGAnimatedTypeAnimator::SVGAnimatedTypeAnimator( |
- SVGAnimationElement* animationElement) |
- : m_animationElement(animationElement), |
- m_type(AnimatedUnknown), |
- m_cssProperty(CSSPropertyInvalid) { |
- DCHECK(m_animationElement); |
-} |
- |
-void SVGAnimatedTypeAnimator::clear() { |
- m_animatedProperty = nullptr; |
- m_type = AnimatedUnknown; |
- m_cssProperty = CSSPropertyInvalid; |
-} |
- |
-void SVGAnimatedTypeAnimator::reset(const SVGElement& contextElement) { |
- const QualifiedName& attributeName = m_animationElement->attributeName(); |
- m_animatedProperty = contextElement.propertyFromAttribute(attributeName); |
- if (m_animatedProperty) { |
- m_type = m_animatedProperty->type(); |
- m_cssProperty = m_animatedProperty->cssPropertyId(); |
- |
- if (m_type == AnimatedTransformList) { |
- // Only <animateTransform> is allowed to animate AnimatedTransformList. |
- // http://www.w3.org/TR/SVG/animate.html#AnimationAttributesAndProperties |
- if (!isSVGAnimateTransformElement(*m_animationElement)) |
- m_type = AnimatedUnknown; |
- // Because of the syntactic mismatch between the CSS and SVGProperty |
- // representations, disallow CSS animations of transform list for |
- // now. (We also reject this case via |
- // SVGAnimateTransformElement::hasValidAttributeType ATM.) |
- m_cssProperty = CSSPropertyInvalid; |
- } |
- } else { |
- m_type = SVGElement::animatedPropertyTypeForCSSAttribute(attributeName); |
- m_cssProperty = m_type != AnimatedUnknown |
- ? cssPropertyID(attributeName.localName()) |
- : CSSPropertyInvalid; |
- DCHECK_NE(m_type, AnimatedTransformList); |
- } |
- |
- DCHECK(m_type != AnimatedPoint && m_type != AnimatedStringList && |
- m_type != AnimatedTransform); |
-} |
- |
-SVGPropertyBase* SVGAnimatedTypeAnimator::createPropertyForAttributeAnimation( |
- const String& value) const { |
- // SVG DOM animVal animation code-path. |
- if (m_type == AnimatedTransformList) { |
- // TransformList must be animated via <animateTransform>, and its |
- // {from,by,to} attribute values needs to be parsed w.r.t. its "type" |
- // attribute. Spec: |
- // http://www.w3.org/TR/SVG/single-page.html#animate-AnimateTransformElement |
- DCHECK(m_animationElement); |
- SVGTransformType transformType = |
- toSVGAnimateTransformElement(m_animationElement)->transformType(); |
- return SVGTransformList::create(transformType, value); |
- } |
- DCHECK(m_animatedProperty); |
- return m_animatedProperty->currentValueBase()->cloneForAnimation(value); |
-} |
- |
-SVGPropertyBase* SVGAnimatedTypeAnimator::createPropertyForCSSAnimation( |
- const String& value) const { |
- // CSS properties animation code-path. |
- // Create a basic instance of the corresponding SVG property. |
- // The instance will not have full context info. (e.g. SVGLengthMode) |
- switch (m_type) { |
- case AnimatedColor: |
- return SVGColorProperty::create(value); |
- case AnimatedNumber: { |
- SVGNumber* property = SVGNumber::create(); |
- property->setValueAsString(value); |
- return property; |
- } |
- case AnimatedLength: { |
- SVGLength* property = SVGLength::create(); |
- property->setValueAsString(value); |
- return property; |
- } |
- case AnimatedLengthList: { |
- SVGLengthList* property = SVGLengthList::create(); |
- property->setValueAsString(value); |
- return property; |
- } |
- case AnimatedString: { |
- SVGString* property = SVGString::create(); |
- property->setValueAsString(value); |
- return property; |
- } |
- // These types don't appear in the table in |
- // SVGElement::animatedPropertyTypeForCSSAttribute() and thus don't need |
- // support. |
- case AnimatedAngle: |
- case AnimatedBoolean: |
- case AnimatedEnumeration: |
- case AnimatedInteger: |
- case AnimatedIntegerOptionalInteger: |
- case AnimatedNumberList: |
- case AnimatedNumberOptionalNumber: |
- case AnimatedPath: |
- case AnimatedPoint: |
- case AnimatedPoints: |
- case AnimatedPreserveAspectRatio: |
- case AnimatedRect: |
- case AnimatedStringList: |
- case AnimatedTransform: |
- case AnimatedTransformList: |
- case AnimatedUnknown: |
- break; |
- default: |
- break; |
- } |
- NOTREACHED(); |
- return nullptr; |
-} |
- |
-SVGPropertyBase* SVGAnimatedTypeAnimator::createPropertyForAnimation( |
- const String& value) const { |
- if (isAnimatingSVGDom()) |
- return createPropertyForAttributeAnimation(value); |
- DCHECK(isAnimatingCSSProperty()); |
- return createPropertyForCSSAnimation(value); |
-} |
- |
-SVGPropertyBase* SVGAnimatedTypeAnimator::createAnimatedValue() const { |
- DCHECK(isAnimatingSVGDom()); |
- SVGPropertyBase* animatedValue = m_animatedProperty->createAnimatedValue(); |
- DCHECK_EQ(animatedValue->type(), m_type); |
- return animatedValue; |
-} |
- |
-DEFINE_TRACE(SVGAnimatedTypeAnimator) { |
- visitor->trace(m_animationElement); |
- visitor->trace(m_animatedProperty); |
-} |
- |
-} // namespace blink |