1336 files in WebCore rebuild when you touch SVGNames Something in the dependency chain is very broken.
I think this is mostly caused by DECLARE_ANIMATED_PROPERTY taking a QualifiedName parameter. WildFox says that parameter isn't even used anymore. This could be a noticeable codesize reduction in the intermediate files. SVGNames.h is not a small include.
PassRefPtr<SVGAnimatedPropertyTearOff##UpperProperty> LowerProperty##Animated() \ { \ SVGElement* contextElement = GetOwnerElementForType<OwnerType, IsDerivedFromSVGElement<OwnerType>::value>::ownerElement(this); \ return lookupOrCreateWrapper<AnimatedType, SVGAnimatedPropertyTearOff##UpperProperty>(contextElement, m_##LowerProperty, DOMAttribute); \ } Still uses DOMAttribute from the _DECLARE macro. Seems we'll need to move that to the .cpp if we want to get rid of this crazy SVGNames sprawl.
Now that 47905 is completly fixed, I'm working on removing the SVGNames.h dependency, a first patch covering SVGLength will be uploaded soon.
Created attachment 75485 [details] Patch
Comment on attachment 75485 [details] Patch LGTM. r=me
Landed in r73258, hopefully making Eric happy :-)
Yay!