| 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 339 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 350 | 350 |
| 351 bool SVGAnimationElement::isTargetAttributeCSSProperty( | 351 bool SVGAnimationElement::isTargetAttributeCSSProperty( |
| 352 SVGElement* targetElement, | 352 SVGElement* targetElement, |
| 353 const QualifiedName& attributeName) { | 353 const QualifiedName& attributeName) { |
| 354 ASSERT(targetElement); | 354 ASSERT(targetElement); |
| 355 | 355 |
| 356 return SVGElement::isAnimatableCSSProperty(attributeName) || | 356 return SVGElement::isAnimatableCSSProperty(attributeName) || |
| 357 targetElement->isPresentationAttribute(attributeName); | 357 targetElement->isPresentationAttribute(attributeName); |
| 358 } | 358 } |
| 359 | 359 |
| 360 SVGAnimationElement::ShouldApplyAnimationType | |
| 361 SVGAnimationElement::shouldApplyAnimation(SVGElement* targetElement, | |
| 362 const QualifiedName& attributeName) { | |
| 363 if (!hasValidAttributeType() || attributeName == anyQName() || | |
| 364 !targetElement || !targetElement->inActiveDocument() || | |
| 365 !targetElement->parentNode()) | |
| 366 return DontApplyAnimation; | |
| 367 | |
| 368 // Always animate CSS properties using the ApplyCSSAnimation code path, | |
| 369 // regardless of the attributeType value. | |
| 370 if (isTargetAttributeCSSProperty(targetElement, attributeName)) { | |
| 371 if (targetElement->isPresentationAttributeWithSVGDOM(attributeName)) | |
| 372 return ApplyXMLandCSSAnimation; | |
| 373 | |
| 374 return ApplyCSSAnimation; | |
| 375 } | |
| 376 // If attributeType="CSS" and attributeName doesn't point to a CSS property, | |
| 377 // ignore the animation. | |
| 378 if (getAttributeType() == AttributeTypeCSS) | |
| 379 return DontApplyAnimation; | |
| 380 | |
| 381 return ApplyXMLAnimation; | |
| 382 } | |
| 383 | |
| 384 void SVGAnimationElement::calculateKeyTimesForCalcModePaced() { | 360 void SVGAnimationElement::calculateKeyTimesForCalcModePaced() { |
| 385 ASSERT(getCalcMode() == CalcModePaced); | 361 ASSERT(getCalcMode() == CalcModePaced); |
| 386 ASSERT(getAnimationMode() == ValuesAnimation); | 362 ASSERT(getAnimationMode() == ValuesAnimation); |
| 387 | 363 |
| 388 unsigned valuesCount = m_values.size(); | 364 unsigned valuesCount = m_values.size(); |
| 389 ASSERT(valuesCount >= 1); | 365 ASSERT(valuesCount >= 1); |
| 390 if (valuesCount == 1) | 366 if (valuesCount == 1) |
| 391 return; | 367 return; |
| 392 | 368 |
| 393 // FIXME, webkit.org/b/109010: m_keyTimes should not be modified in this | 369 // FIXME, webkit.org/b/109010: m_keyTimes should not be modified in this |
| (...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 706 if (!hasInvalidCSSAttributeType) | 682 if (!hasInvalidCSSAttributeType) |
| 707 schedule(); | 683 schedule(); |
| 708 } | 684 } |
| 709 | 685 |
| 710 // Clear values that may depend on the previous target. | 686 // Clear values that may depend on the previous target. |
| 711 if (targetElement()) | 687 if (targetElement()) |
| 712 clearAnimatedType(); | 688 clearAnimatedType(); |
| 713 } | 689 } |
| 714 | 690 |
| 715 } // namespace blink | 691 } // namespace blink |
| OLD | NEW |