[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