Index: third_party/WebKit/Source/core/svg/SVGAnimationElement.cpp |
diff --git a/third_party/WebKit/Source/core/svg/SVGAnimationElement.cpp b/third_party/WebKit/Source/core/svg/SVGAnimationElement.cpp |
index e0e83bc15820cd085e1c249da1eef3f284bc81a2..76645345a9786e441d438af36fff1fa94f73bd0c 100644 |
--- a/third_party/WebKit/Source/core/svg/SVGAnimationElement.cpp |
+++ b/third_party/WebKit/Source/core/svg/SVGAnimationElement.cpp |
@@ -25,13 +25,9 @@ |
#include "core/svg/SVGAnimationElement.h" |
#include "bindings/core/v8/ExceptionState.h" |
-#include "core/CSSPropertyNames.h" |
#include "core/SVGNames.h" |
-#include "core/css/CSSComputedStyleDeclaration.h" |
-#include "core/css/parser/CSSParser.h" |
#include "core/frame/UseCounter.h" |
#include "core/svg/SVGAnimateElement.h" |
-#include "core/svg/SVGElement.h" |
#include "core/svg/SVGParserUtilities.h" |
#include "wtf/MathExtras.h" |
@@ -40,8 +36,6 @@ namespace blink { |
SVGAnimationElement::SVGAnimationElement(const QualifiedName& tagName, |
Document& document) |
: SVGSMILElement(tagName, document), |
- m_fromPropertyValueType(RegularPropertyValue), |
- m_toPropertyValueType(RegularPropertyValue), |
m_animationValid(false), |
m_attributeType(AttributeTypeAuto), |
m_hasInvalidCSSAttributeType(false), |
@@ -53,8 +47,9 @@ SVGAnimationElement::SVGAnimationElement(const QualifiedName& tagName, |
bool SVGAnimationElement::parseValues(const String& value, |
Vector<String>& result) { |
- // Per the SMIL specification, leading and trailing white space, |
- // and white space before and after semicolon separators, is allowed and will be ignored. |
+ // Per the SMIL specification, leading and trailing white space, and white |
+ // space before and after semicolon separators, is allowed and will be |
+ // ignored. |
// http://www.w3.org/TR/SVG11/animate.html#ValuesAttribute |
result.clear(); |
Vector<String> parseList; |
@@ -179,8 +174,8 @@ void SVGAnimationElement::parseAttribute(const QualifiedName& name, |
if (name == SVGNames::keyPointsAttr) { |
if (isSVGAnimateMotionElement(*this)) { |
- // This is specified to be an animateMotion attribute only but it is simpler to put it here |
- // where the other timing calculatations are. |
+ // This is specified to be an animateMotion attribute only but it is |
+ // simpler to put it here where the other timing calculatations are. |
if (!parseKeyTimes(value, m_keyPoints, false)) |
reportAttributeParsingError(SVGParseStatus::ParsingFailed, name, value); |
} |
@@ -370,14 +365,16 @@ SVGAnimationElement::shouldApplyAnimation(SVGElement* targetElement, |
!targetElement->parentNode()) |
return DontApplyAnimation; |
- // Always animate CSS properties, using the ApplyCSSAnimation code path, regardless of the attributeType value. |
+ // Always animate CSS properties using the ApplyCSSAnimation code path, |
+ // regardless of the attributeType value. |
if (isTargetAttributeCSSProperty(targetElement, attributeName)) { |
if (targetElement->isPresentationAttributeWithSVGDOM(attributeName)) |
return ApplyXMLandCSSAnimation; |
return ApplyCSSAnimation; |
} |
- // If attributeType="CSS" and attributeName doesn't point to a CSS property, ignore the animation. |
+ // If attributeType="CSS" and attributeName doesn't point to a CSS property, |
+ // ignore the animation. |
if (getAttributeType() == AttributeTypeCSS) |
return DontApplyAnimation; |
@@ -393,7 +390,8 @@ void SVGAnimationElement::calculateKeyTimesForCalcModePaced() { |
if (valuesCount == 1) |
return; |
- // FIXME, webkit.org/b/109010: m_keyTimes should not be modified in this function. |
+ // FIXME, webkit.org/b/109010: m_keyTimes should not be modified in this |
+ // function. |
m_keyTimes.clear(); |
Vector<float> keyTimesForPaced; |
@@ -611,7 +609,8 @@ void SVGAnimationElement::startedActiveInterval() { |
if (animationMode == FromToAnimation) { |
m_animationValid = calculateFromAndToValues(from, to); |
} else if (animationMode == ToAnimation) { |
- // For to-animations the from value is the current accumulated value from lower priority animations. |
+ // For to-animations the from value is the current accumulated value from |
+ // lower priority animations. |
// The value is not static and is determined during the animation. |
m_animationValid = calculateFromAndToValues(emptyString(), to); |
} else if (animationMode == FromByAnimation) { |
@@ -681,60 +680,6 @@ void SVGAnimationElement::updateAnimation(float percent, |
calculateAnimatedValue(effectivePercent, repeatCount, resultElement); |
} |
-void SVGAnimationElement::computeCSSPropertyValue(SVGElement* element, |
- CSSPropertyID id, |
- String& value) { |
- ASSERT(element); |
- // FIXME: StyleEngine doesn't support document without a frame. |
- // Refer to comment in Element::computedStyle. |
- ASSERT(element->inActiveDocument()); |
- |
- // Don't include any properties resulting from CSS Transitions/Animations or SMIL animations, as we want to retrieve the "base value". |
- element->setUseOverrideComputedStyle(true); |
- value = CSSComputedStyleDeclaration::create(element)->getPropertyValue(id); |
- element->setUseOverrideComputedStyle(false); |
-} |
- |
-void SVGAnimationElement::adjustForInheritance( |
- SVGElement* targetElement, |
- const QualifiedName& attributeName, |
- String& value) { |
- // FIXME: At the moment the computed style gets returned as a String and needs to get parsed again. |
- // In the future we might want to work with the value type directly to avoid the String parsing. |
- ASSERT(targetElement); |
- |
- Element* parent = targetElement->parentElement(); |
- if (!parent || !parent->isSVGElement()) |
- return; |
- |
- SVGElement* svgParent = toSVGElement(parent); |
- computeCSSPropertyValue(svgParent, cssPropertyID(attributeName.localName()), |
- value); |
-} |
- |
-static bool inheritsFromProperty(SVGElement* targetElement, |
- const QualifiedName& attributeName, |
- const String& value) { |
- ASSERT(targetElement); |
- DEFINE_STATIC_LOCAL(const AtomicString, inherit, ("inherit")); |
- |
- if (value.isEmpty() || value != inherit) |
- return false; |
- return SVGElement::isAnimatableCSSProperty(attributeName); |
-} |
- |
-void SVGAnimationElement::determinePropertyValueTypes(const String& from, |
- const String& to) { |
- SVGElement* targetElement = this->targetElement(); |
- ASSERT(targetElement); |
- |
- const QualifiedName& attributeName = this->attributeName(); |
- if (inheritsFromProperty(targetElement, attributeName, from)) |
- m_fromPropertyValueType = InheritValue; |
- if (inheritsFromProperty(targetElement, attributeName, to)) |
- m_toPropertyValueType = InheritValue; |
-} |
- |
void SVGAnimationElement::setTargetElement(SVGElement* target) { |
SVGSMILElement::setTargetElement(target); |
checkInvalidCSSAttributeType(); |