[Webkit-unassigned] [Bug 12437] New: animations update baseVal instead of animVal

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sat Jan 27 04:02:41 PST 2007


http://bugs.webkit.org/show_bug.cgi?id=12437

           Summary: animations update baseVal instead of animVal
           Product: WebKit
           Version: 420+ (nightly)
          Platform: Macintosh
        OS/Version: Mac OS X 10.4
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: SVG
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: macdome at opendarwin.org
                CC: zimmermann at kde.org


animations update baseVal instead of animVal

This is a fundamental problem with the current animation architecture.  All
animation value access (in the animation classes) is funneled through:

String SVGAnimationElement::targetAttributeAnimatedValue() const
and
void SVGAnimationElement::setTargetAttributeAnimatedValue(const String& value)

But these don't actually grab from the animVal for the associated property,
instead they grab from the baseVal (or something similar) and set to the actual
renderer (or worse) the attribute baseVal.

I'm not certain how we would go about fixing this.  If we actually made these
methods get/set from animVal, there would be problems with how those animVal
changes would actually propagate to the renderers.  We might even need to have
an "animated style" (similar to a pseudo style) which is only applied during
animation.  I'm unclear as to how that all would work.

Charles Ying, suggested that we consider using a "shadow node" whenever any
attribute on a node is animated.  Basically a clone of the node is made, all of
the attributes on the clone, now acting as the "animated values".  The renderer
would update from the cloned version instead of the base version while the
animation was in progress.

I'm not sure if that's a full solution either.  Until we solve this bug, we
won't be able to support anything other than fill='freeze' (as we have no way
to reset back to the initial base value) nor will animVal DOM accessors work as
expected.


-- 
Configure bugmail: http://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the webkit-unassigned mailing list