| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2007 Eric Seidel <eric@webkit.org> | 2 * Copyright (C) 2007 Eric Seidel <eric@webkit.org> |
| 3 * Copyright (C) 2007 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2007 Rob Buis <buis@kde.org> |
| 4 * Copyright (C) 2008 Apple Inc. All rights reserved. | 4 * Copyright (C) 2008 Apple Inc. All rights reserved. |
| 5 * | 5 * |
| 6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
| 7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
| 8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
| 9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
| 10 * | 10 * |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 84 || isSVGForeignObjectElement(*targetElement) | 84 || isSVGForeignObjectElement(*targetElement) |
| 85 ); | 85 ); |
| 86 } | 86 } |
| 87 | 87 |
| 88 bool SVGAnimateMotionElement::hasValidAttributeName() | 88 bool SVGAnimateMotionElement::hasValidAttributeName() |
| 89 { | 89 { |
| 90 // AnimateMotion does not use attributeName so it is always valid. | 90 // AnimateMotion does not use attributeName so it is always valid. |
| 91 return true; | 91 return true; |
| 92 } | 92 } |
| 93 | 93 |
| 94 bool SVGAnimateMotionElement::isSupportedAttribute(const QualifiedName& attrName
) | |
| 95 { | |
| 96 DEFINE_STATIC_LOCAL(HashSet<QualifiedName>, supportedAttributes, ()); | |
| 97 if (supportedAttributes.isEmpty()) | |
| 98 supportedAttributes.add(SVGNames::pathAttr); | |
| 99 return supportedAttributes.contains<SVGAttributeHashTranslator>(attrName); | |
| 100 } | |
| 101 | |
| 102 void SVGAnimateMotionElement::parseAttribute(const QualifiedName& name, const At
omicString& value) | 94 void SVGAnimateMotionElement::parseAttribute(const QualifiedName& name, const At
omicString& value) |
| 103 { | 95 { |
| 104 if (!isSupportedAttribute(name)) { | |
| 105 SVGAnimationElement::parseAttribute(name, value); | |
| 106 return; | |
| 107 } | |
| 108 | |
| 109 if (name == SVGNames::pathAttr) { | 96 if (name == SVGNames::pathAttr) { |
| 110 m_path = Path(); | 97 m_path = Path(); |
| 111 buildPathFromString(value, m_path); | 98 buildPathFromString(value, m_path); |
| 112 updateAnimationPath(); | 99 updateAnimationPath(); |
| 113 return; | 100 return; |
| 114 } | 101 } |
| 115 | 102 |
| 116 ASSERT_NOT_REACHED(); | 103 SVGAnimationElement::parseAttribute(name, value); |
| 117 } | 104 } |
| 118 | 105 |
| 119 SVGAnimateMotionElement::RotateMode SVGAnimateMotionElement::rotateMode() const | 106 SVGAnimateMotionElement::RotateMode SVGAnimateMotionElement::rotateMode() const |
| 120 { | 107 { |
| 121 DEFINE_STATIC_LOCAL(const AtomicString, autoVal, ("auto", AtomicString::Cons
tructFromLiteral)); | 108 DEFINE_STATIC_LOCAL(const AtomicString, autoVal, ("auto", AtomicString::Cons
tructFromLiteral)); |
| 122 DEFINE_STATIC_LOCAL(const AtomicString, autoReverse, ("auto-reverse", Atomic
String::ConstructFromLiteral)); | 109 DEFINE_STATIC_LOCAL(const AtomicString, autoReverse, ("auto-reverse", Atomic
String::ConstructFromLiteral)); |
| 123 const AtomicString& rotate = getAttribute(SVGNames::rotateAttr); | 110 const AtomicString& rotate = getAttribute(SVGNames::rotateAttr); |
| 124 if (rotate == autoVal) | 111 if (rotate == autoVal) |
| 125 return RotateAuto; | 112 return RotateAuto; |
| 126 if (rotate == autoReverse) | 113 if (rotate == autoReverse) |
| (...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 334 | 321 |
| 335 void SVGAnimateMotionElement::updateAnimationMode() | 322 void SVGAnimateMotionElement::updateAnimationMode() |
| 336 { | 323 { |
| 337 if (!m_animationPath.isEmpty()) | 324 if (!m_animationPath.isEmpty()) |
| 338 setAnimationMode(PathAnimation); | 325 setAnimationMode(PathAnimation); |
| 339 else | 326 else |
| 340 SVGAnimationElement::updateAnimationMode(); | 327 SVGAnimationElement::updateAnimationMode(); |
| 341 } | 328 } |
| 342 | 329 |
| 343 } | 330 } |
| OLD | NEW |