SVGSMILElement::~SVGSMILElement() { #if !ENABLE(OILPAN) clearResourceAndEventBaseReferences(); #endif smilEndEventSender().cancelEvent(this); smilBeginEventSender().cancelEvent(this); smilRepeatEventSender().cancelEvent(this); smilRepeatNEventSender().cancelEvent(this); #if !ENABLE(OILPAN) clearConditions(); if (m_timeContainer && m_targetElement && hasValidAttributeName()) m_timeContainer->unschedule(this, m_targetElement, m_attributeName); #endif }
void SVGAnimationElement::checkInvalidCSSAttributeType() { bool hasInvalidCSSAttributeType = targetElement() && hasValidAttributeName() && attributeType() == AttributeTypeCSS && !isTargetAttributeCSSProperty(targetElement(), attributeName()); if (hasInvalidCSSAttributeType != m_hasInvalidCSSAttributeType) { if (hasInvalidCSSAttributeType) unscheduleIfScheduled(); m_hasInvalidCSSAttributeType = hasInvalidCSSAttributeType; if (!hasInvalidCSSAttributeType) schedule(); } // Clear values that may depend on the previous target. if (targetElement()) clearAnimatedType(); }
void SVGAnimationElement::checkInvalidCSSAttributeType(SVGElement* target) { m_hasInvalidCSSAttributeType = target && hasValidAttributeName() && attributeType() == AttributeTypeCSS && !isTargetAttributeCSSProperty(target, attributeName()); }