[Webkit-unassigned] [Bug 10490] remove broken SVGAnimated* code

bugzilla-daemon at opendarwin.org bugzilla-daemon at opendarwin.org
Sat Aug 26 02:14:19 PDT 2006


http://bugzilla.opendarwin.org/show_bug.cgi?id=10490





------- Comment #9 from macdome at opendarwin.org  2006-08-26 02:14 PDT -------
Actually, the old system was a 16 byte waste for every property:

8 bytes, SVGAnimatedFoo RefPtr (pointer and refcount)
8 bytes, SVGFoo baseVal RefPtr
8 bytes, SVGFoo animVal RefPtr

In the new system, we just have
8 bytes, SVGFoo "animated value" RefPtr
The base value is stored off in a separate hash, and only created if needed
(for animation).  All of the base value functions fall through to call their
animated value equivalents if there is no base value stored.

Also, I never quite explained why I needed to use macros.  There are a number
of reasons, but mostly it's that I couldn't find any other way to implement
this sort of barBaseValue() semantics:

Foo* MyElement::barBaseValue() const
{
    Foo* baseValue =
document()->accessSVGDocumentExtensions->fooBaseValue(barAttr);
    if (baseValue)
        return baseValue;
    return bar();
}


-- 
Configure bugmail: http://bugzilla.opendarwin.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