OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2008 Apple Inc. All rights reserved. | 2 * Copyright (C) 2008 Apple Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 444 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
455 m_cachedRepeatCount = invalidCachedTime; | 455 m_cachedRepeatCount = invalidCachedTime; |
456 else if (attrName == SVGNames::minAttr) | 456 else if (attrName == SVGNames::minAttr) |
457 m_cachedMin = invalidCachedTime; | 457 m_cachedMin = invalidCachedTime; |
458 else if (attrName == SVGNames::maxAttr) | 458 else if (attrName == SVGNames::maxAttr) |
459 m_cachedMax = invalidCachedTime; | 459 m_cachedMax = invalidCachedTime; |
460 else if (inDocument()) { | 460 else if (inDocument()) { |
461 if (attrName == SVGNames::beginAttr) | 461 if (attrName == SVGNames::beginAttr) |
462 beginListChanged(elapsed()); | 462 beginListChanged(elapsed()); |
463 else if (attrName == SVGNames::endAttr) | 463 else if (attrName == SVGNames::endAttr) |
464 endListChanged(elapsed()); | 464 endListChanged(elapsed()); |
465 else if (attrName == SVGNames::attributeNameAttr) | 465 else if (attrName == SVGNames::attributeNameAttr) { |
466 m_attributeName = constructQualifiedName(this, fastGetAttribute(SVGN
ames::attributeNameAttr)); | 466 m_attributeName = constructQualifiedName(this, fastGetAttribute(SVGN
ames::attributeNameAttr)); |
467 else if (attrName.matches(XLinkNames::hrefAttr)) { | 467 if (m_targetElement) { |
| 468 resetTargetElement(); |
| 469 return; |
| 470 } |
| 471 } else if (attrName.matches(XLinkNames::hrefAttr)) { |
468 if (SVGElement* targetElement = this->targetElement()) | 472 if (SVGElement* targetElement = this->targetElement()) |
469 document()->accessSVGExtensions()->removeAllAnimationElementsFro
mTarget(targetElement); | 473 document()->accessSVGExtensions()->removeAllAnimationElementsFro
mTarget(targetElement); |
470 } | 474 } |
471 } | 475 } |
472 | 476 |
473 animationAttributeChanged(); | 477 animationAttributeChanged(); |
474 } | 478 } |
475 | 479 |
476 inline Element* SVGSMILElement::eventBaseFor(const Condition& condition) | 480 inline Element* SVGSMILElement::eventBaseFor(const Condition& condition) |
477 { | 481 { |
(...skipping 648 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1126 | 1130 |
1127 void SVGSMILElement::endedActiveInterval() | 1131 void SVGSMILElement::endedActiveInterval() |
1128 { | 1132 { |
1129 clearTimesWithDynamicOrigins(m_beginTimes); | 1133 clearTimesWithDynamicOrigins(m_beginTimes); |
1130 clearTimesWithDynamicOrigins(m_endTimes); | 1134 clearTimesWithDynamicOrigins(m_endTimes); |
1131 } | 1135 } |
1132 | 1136 |
1133 } | 1137 } |
1134 | 1138 |
1135 #endif | 1139 #endif |
OLD | NEW |