| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2004, 2005 Nikolas Zimmermann <zimmermann@kde.org> | 2 * Copyright (C) 2004, 2005 Nikolas Zimmermann <zimmermann@kde.org> |
| 3 * Copyright (C) 2004, 2005, 2006, 2007 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005, 2006, 2007 Rob Buis <buis@kde.org> |
| 4 * Copyright (C) 2007 Eric Seidel <eric@webkit.org> | 4 * Copyright (C) 2007 Eric Seidel <eric@webkit.org> |
| 5 * Copyright (C) 2008 Apple Inc. All rights reserved. | 5 * Copyright (C) 2008 Apple Inc. All rights reserved. |
| 6 * Copyright (C) 2009 Cameron McCormack <cam@mcc.id.au> | 6 * Copyright (C) 2009 Cameron McCormack <cam@mcc.id.au> |
| 7 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 7 * Copyright (C) Research In Motion Limited 2010. All rights reserved. |
| 8 * | 8 * |
| 9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
| 10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
| (...skipping 21 matching lines...) Expand all Loading... |
| 32 #include "CSSParser.h" | 32 #include "CSSParser.h" |
| 33 #include "CSSPropertyNames.h" | 33 #include "CSSPropertyNames.h" |
| 34 #include "Document.h" | 34 #include "Document.h" |
| 35 #include "FloatConversion.h" | 35 #include "FloatConversion.h" |
| 36 #include "RenderObject.h" | 36 #include "RenderObject.h" |
| 37 #include "SVGAnimateElement.h" | 37 #include "SVGAnimateElement.h" |
| 38 #include "SVGElementInstance.h" | 38 #include "SVGElementInstance.h" |
| 39 #include "SVGNames.h" | 39 #include "SVGNames.h" |
| 40 #include "SVGParserUtilities.h" | 40 #include "SVGParserUtilities.h" |
| 41 #include "SVGStyledElement.h" | 41 #include "SVGStyledElement.h" |
| 42 #include <wtf/MathExtras.h> |
| 42 | 43 |
| 43 namespace WebCore { | 44 namespace WebCore { |
| 44 | 45 |
| 45 // Animated property definitions | 46 // Animated property definitions |
| 46 DEFINE_ANIMATED_BOOLEAN(SVGAnimationElement, SVGNames::externalResourcesRequired
Attr, ExternalResourcesRequired, externalResourcesRequired) | 47 DEFINE_ANIMATED_BOOLEAN(SVGAnimationElement, SVGNames::externalResourcesRequired
Attr, ExternalResourcesRequired, externalResourcesRequired) |
| 47 | 48 |
| 48 BEGIN_REGISTER_ANIMATED_PROPERTIES(SVGAnimationElement) | 49 BEGIN_REGISTER_ANIMATED_PROPERTIES(SVGAnimationElement) |
| 49 REGISTER_LOCAL_ANIMATED_PROPERTY(externalResourcesRequired) | 50 REGISTER_LOCAL_ANIMATED_PROPERTY(externalResourcesRequired) |
| 50 REGISTER_PARENT_ANIMATED_PROPERTIES(SVGTests) | 51 REGISTER_PARENT_ANIMATED_PROPERTIES(SVGTests) |
| 51 END_REGISTER_ANIMATED_PROPERTIES | 52 END_REGISTER_ANIMATED_PROPERTIES |
| (...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 233 return narrowPrecisionToFloat(simpleDuration().value()); | 234 return narrowPrecisionToFloat(simpleDuration().value()); |
| 234 } | 235 } |
| 235 | 236 |
| 236 void SVGAnimationElement::beginElement() | 237 void SVGAnimationElement::beginElement() |
| 237 { | 238 { |
| 238 beginElementAt(0); | 239 beginElementAt(0); |
| 239 } | 240 } |
| 240 | 241 |
| 241 void SVGAnimationElement::beginElementAt(float offset) | 242 void SVGAnimationElement::beginElementAt(float offset) |
| 242 { | 243 { |
| 244 if (isnan(offset)) |
| 245 return; |
| 243 SMILTime elapsed = this->elapsed(); | 246 SMILTime elapsed = this->elapsed(); |
| 244 addBeginTime(elapsed, elapsed + offset, SMILTimeWithOrigin::ScriptOrigin); | 247 addBeginTime(elapsed, elapsed + offset, SMILTimeWithOrigin::ScriptOrigin); |
| 245 } | 248 } |
| 246 | 249 |
| 247 void SVGAnimationElement::endElement() | 250 void SVGAnimationElement::endElement() |
| 248 { | 251 { |
| 249 endElementAt(0); | 252 endElementAt(0); |
| 250 } | 253 } |
| 251 | 254 |
| 252 void SVGAnimationElement::endElementAt(float offset) | 255 void SVGAnimationElement::endElementAt(float offset) |
| 253 { | 256 { |
| 257 if (isnan(offset)) |
| 258 return; |
| 254 SMILTime elapsed = this->elapsed(); | 259 SMILTime elapsed = this->elapsed(); |
| 255 addEndTime(elapsed, elapsed + offset, SMILTimeWithOrigin::ScriptOrigin); | 260 addEndTime(elapsed, elapsed + offset, SMILTimeWithOrigin::ScriptOrigin); |
| 256 } | 261 } |
| 257 | 262 |
| 258 AnimationMode SVGAnimationElement::animationMode() const | 263 AnimationMode SVGAnimationElement::animationMode() const |
| 259 { | 264 { |
| 260 // http://www.w3.org/TR/2001/REC-smil-animation-20010904/#AnimFuncValues | 265 // http://www.w3.org/TR/2001/REC-smil-animation-20010904/#AnimFuncValues |
| 261 if (hasTagName(SVGNames::setTag)) | 266 if (hasTagName(SVGNames::setTag)) |
| 262 return ToAnimation; | 267 return ToAnimation; |
| 263 if (!animationPath().isEmpty()) | 268 if (!animationPath().isEmpty()) |
| (...skipping 408 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 672 } | 677 } |
| 673 | 678 |
| 674 void SVGAnimationElement::checkInvalidCSSAttributeType(SVGElement* target) | 679 void SVGAnimationElement::checkInvalidCSSAttributeType(SVGElement* target) |
| 675 { | 680 { |
| 676 m_hasInvalidCSSAttributeType = target && hasValidAttributeName() && attribut
eType() == AttributeTypeCSS && !isTargetAttributeCSSProperty(target, attributeNa
me()); | 681 m_hasInvalidCSSAttributeType = target && hasValidAttributeName() && attribut
eType() == AttributeTypeCSS && !isTargetAttributeCSSProperty(target, attributeNa
me()); |
| 677 } | 682 } |
| 678 | 683 |
| 679 } | 684 } |
| 680 | 685 |
| 681 #endif // ENABLE(SVG) | 686 #endif // ENABLE(SVG) |
| OLD | NEW |