コード例 #1
0
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
}
コード例 #2
0
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();
}
コード例 #3
0
void SVGAnimationElement::checkInvalidCSSAttributeType(SVGElement* target)
{
    m_hasInvalidCSSAttributeType = target && hasValidAttributeName() && attributeType() == AttributeTypeCSS && !isTargetAttributeCSSProperty(target, attributeName());
}