[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

darin at apple.com darin at apple.com
Wed Dec 22 12:48:01 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit c8b8f87b5c6071b922428979689491957a420651
Author: darin at apple.com <darin at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Aug 30 18:44:06 2010 +0000

    2010-08-30  Darin Adler  <darin at apple.com>
    
            Reviewed by Sam Weinig.
    
            Make SVG constructors private to make sure callers all use create
            https://bugs.webkit.org/show_bug.cgi?id=44872
    
            Made as many members private and protected as possible, and got rid of many
            unneeded empty constructor and destructor definitions, in some cases changing
            a class to be non-polymorphic. Made some functions inline. Used the word document
            instead of the abbreviation doc. Removed unneeded explicit base class
            initialization in cases where it is no different from the default behavior.
    
            * svg/SVGAElement.cpp:
            (WebCore::SVGAElement::SVGAElement):
            (WebCore::SVGAElement::childShouldCreateRenderer):
            * svg/SVGAElement.h:
            * svg/SVGAltGlyphElement.cpp:
            (WebCore::SVGAltGlyphElement::SVGAltGlyphElement):
            * svg/SVGAltGlyphElement.h:
            * svg/SVGAngle.cpp:
            * svg/SVGAngle.h:
            * svg/SVGAnimateColorElement.cpp:
            (WebCore::SVGAnimateColorElement::SVGAnimateColorElement):
            * svg/SVGAnimateColorElement.h:
            * svg/SVGAnimateElement.cpp:
            (WebCore::SVGAnimateElement::SVGAnimateElement):
            * svg/SVGAnimateElement.h:
            * svg/SVGAnimateMotionElement.cpp:
            (WebCore::SVGAnimateMotionElement::SVGAnimateMotionElement):
            * svg/SVGAnimateMotionElement.h:
            * svg/SVGAnimateTransformElement.cpp:
            (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
            * svg/SVGAnimateTransformElement.h:
            * svg/SVGAnimatedPathData.cpp:
            * svg/SVGAnimatedPathData.h:
            * svg/SVGAnimatedPoints.cpp:
            * svg/SVGAnimatedPoints.h:
            * svg/SVGAnimationElement.cpp:
            (WebCore::SVGAnimationElement::SVGAnimationElement):
            * svg/SVGAnimationElement.h:
            * svg/SVGCircleElement.cpp:
            (WebCore::SVGCircleElement::SVGCircleElement):
            * svg/SVGCircleElement.h:
            * svg/SVGClipPathElement.cpp:
            (WebCore::SVGClipPathElement::SVGClipPathElement):
            * svg/SVGClipPathElement.h:
            * svg/SVGColor.cpp:
            * svg/SVGColor.h:
            * svg/SVGComponentTransferFunctionElement.cpp:
            (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
            * svg/SVGComponentTransferFunctionElement.h:
            * svg/SVGCursorElement.cpp:
            (WebCore::SVGCursorElement::SVGCursorElement):
            * svg/SVGCursorElement.h:
            * svg/SVGDefsElement.cpp:
            (WebCore::SVGDefsElement::SVGDefsElement):
            * svg/SVGDefsElement.h:
            * svg/SVGDescElement.cpp:
            (WebCore::SVGDescElement::SVGDescElement):
            * svg/SVGDescElement.h:
            * svg/SVGDocument.cpp:
            * svg/SVGDocument.h:
            * svg/SVGDocumentExtensions.cpp:
            (WebCore::SVGDocumentExtensions::SVGDocumentExtensions):
            (WebCore::SVGDocumentExtensions::reportWarning):
            (WebCore::SVGDocumentExtensions::reportError):
            * svg/SVGDocumentExtensions.h:
            * svg/SVGElement.h:
            * svg/SVGElementInstanceList.h:
            * svg/SVGEllipseElement.cpp:
            (WebCore::SVGEllipseElement::SVGEllipseElement):
            * svg/SVGEllipseElement.h:
            * svg/SVGExternalResourcesRequired.cpp:
            * svg/SVGExternalResourcesRequired.h:
            * svg/SVGFEBlendElement.cpp:
            (WebCore::SVGFEBlendElement::SVGFEBlendElement):
            * svg/SVGFEBlendElement.h:
            * svg/SVGFEColorMatrixElement.cpp:
            (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
            * svg/SVGFEColorMatrixElement.h:
            * svg/SVGFEComponentTransferElement.cpp:
            (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
            * svg/SVGFEComponentTransferElement.h:
            * svg/SVGFECompositeElement.cpp:
            (WebCore::SVGFECompositeElement::SVGFECompositeElement):
            * svg/SVGFECompositeElement.h:
            * svg/SVGFEConvolveMatrixElement.cpp:
            (WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement):
            * svg/SVGFEConvolveMatrixElement.h:
            * svg/SVGFEDiffuseLightingElement.cpp:
            (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
            * svg/SVGFEDiffuseLightingElement.h:
            * svg/SVGFEDisplacementMapElement.cpp:
            (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
            * svg/SVGFEDisplacementMapElement.h:
            * svg/SVGFEDistantLightElement.cpp:
            (WebCore::SVGFEDistantLightElement::SVGFEDistantLightElement):
            * svg/SVGFEDistantLightElement.h:
            * svg/SVGFEFloodElement.cpp:
            (WebCore::SVGFEFloodElement::SVGFEFloodElement):
            * svg/SVGFEFloodElement.h:
            * svg/SVGFEFuncAElement.cpp:
            (WebCore::SVGFEFuncAElement::SVGFEFuncAElement):
            * svg/SVGFEFuncAElement.h:
            * svg/SVGFEFuncBElement.cpp:
            (WebCore::SVGFEFuncBElement::SVGFEFuncBElement):
            * svg/SVGFEFuncBElement.h:
            * svg/SVGFEFuncGElement.cpp:
            (WebCore::SVGFEFuncGElement::SVGFEFuncGElement):
            * svg/SVGFEFuncGElement.h:
            * svg/SVGFEFuncRElement.cpp:
            (WebCore::SVGFEFuncRElement::SVGFEFuncRElement):
            * svg/SVGFEFuncRElement.h:
            * svg/SVGFEGaussianBlurElement.cpp:
            (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
            * svg/SVGFEGaussianBlurElement.h:
            * svg/SVGFEImageElement.cpp:
            (WebCore::SVGFEImageElement::SVGFEImageElement):
            * svg/SVGFEImageElement.h:
            * svg/SVGFELightElement.cpp:
            (WebCore::SVGFELightElement::SVGFELightElement):
            * svg/SVGFELightElement.h:
            * svg/SVGFEMergeElement.cpp:
            (WebCore::SVGFEMergeElement::SVGFEMergeElement):
            * svg/SVGFEMergeElement.h:
            * svg/SVGFEMergeNodeElement.cpp:
            (WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement):
            * svg/SVGFEMergeNodeElement.h:
            * svg/SVGFEMorphologyElement.cpp:
            (WebCore::SVGFEMorphologyElement::SVGFEMorphologyElement):
            * svg/SVGFEMorphologyElement.h:
            * svg/SVGFEOffsetElement.cpp:
            (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
            * svg/SVGFEOffsetElement.h:
            * svg/SVGFEPointLightElement.cpp:
            (WebCore::SVGFEPointLightElement::SVGFEPointLightElement):
            (WebCore::SVGFEPointLightElement::lightSource):
            * svg/SVGFEPointLightElement.h:
            * svg/SVGFESpecularLightingElement.cpp:
            (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
            * svg/SVGFESpecularLightingElement.h:
            * svg/SVGFESpotLightElement.cpp:
            (WebCore::SVGFESpotLightElement::SVGFESpotLightElement):
            * svg/SVGFESpotLightElement.h:
            * svg/SVGFETileElement.cpp:
            (WebCore::SVGFETileElement::SVGFETileElement):
            * svg/SVGFETileElement.h:
            * svg/SVGFETurbulenceElement.cpp:
            (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
            * svg/SVGFETurbulenceElement.h:
            * svg/SVGFilterElement.cpp:
            (WebCore::SVGFilterElement::SVGFilterElement):
            * svg/SVGFilterElement.h:
            * svg/SVGFilterPrimitiveStandardAttributes.cpp:
            (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
            * svg/SVGFilterPrimitiveStandardAttributes.h:
            * svg/SVGFitToViewBox.cpp:
            * svg/SVGFitToViewBox.h:
            * svg/SVGFontData.cpp:
            * svg/SVGFontData.h:
            * svg/SVGFontElement.cpp:
            (WebCore::SVGFontElement::SVGFontElement):
            * svg/SVGFontElement.h:
            * svg/SVGFontFaceElement.cpp:
            (WebCore::SVGFontFaceElement::SVGFontFaceElement):
            * svg/SVGFontFaceElement.h:
            * svg/SVGFontFaceFormatElement.cpp:
            (WebCore::SVGFontFaceFormatElement::SVGFontFaceFormatElement):
            * svg/SVGFontFaceFormatElement.h:
            * svg/SVGFontFaceNameElement.cpp:
            (WebCore::SVGFontFaceNameElement::SVGFontFaceNameElement):
            * svg/SVGFontFaceNameElement.h:
            * svg/SVGFontFaceSrcElement.cpp:
            (WebCore::SVGFontFaceSrcElement::SVGFontFaceSrcElement):
            * svg/SVGFontFaceSrcElement.h:
            * svg/SVGFontFaceUriElement.cpp:
            (WebCore::SVGFontFaceUriElement::SVGFontFaceUriElement):
            * svg/SVGFontFaceUriElement.h:
            * svg/SVGForeignObjectElement.cpp:
            (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
            * svg/SVGForeignObjectElement.h:
            * svg/SVGGElement.cpp:
            (WebCore::SVGGElement::SVGGElement):
            * svg/SVGGElement.h:
            * svg/SVGGlyphElement.cpp:
            (WebCore::SVGGlyphElement::SVGGlyphElement):
            * svg/SVGGlyphElement.h:
            * svg/SVGGradientElement.cpp:
            (WebCore::SVGGradientElement::SVGGradientElement):
            * svg/SVGGradientElement.h:
            * svg/SVGHKernElement.cpp:
            (WebCore::SVGHKernElement::SVGHKernElement):
            * svg/SVGHKernElement.h:
            * svg/SVGImageElement.cpp:
            (WebCore::SVGImageElement::SVGImageElement):
            * svg/SVGImageElement.h:
            * svg/SVGImageLoader.cpp:
            * svg/SVGImageLoader.h:
            * svg/SVGLangSpace.cpp:
            * svg/SVGLangSpace.h:
            * svg/SVGLengthList.cpp:
            * svg/SVGLengthList.h:
            * svg/SVGLineElement.cpp:
            (WebCore::SVGLineElement::SVGLineElement):
            * svg/SVGLineElement.h:
            * svg/SVGLinearGradientElement.cpp:
            (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
            * svg/SVGLinearGradientElement.h:
            * svg/SVGLocatable.cpp:
            * svg/SVGLocatable.h:
            * svg/SVGMPathElement.cpp:
            (WebCore::SVGMPathElement::SVGMPathElement):
            * svg/SVGMPathElement.h:
            * svg/SVGMarkerElement.cpp:
            (WebCore::SVGMarkerElement::SVGMarkerElement):
            * svg/SVGMarkerElement.h:
            * svg/SVGMaskElement.cpp:
            (WebCore::SVGMaskElement::SVGMaskElement):
            * svg/SVGMaskElement.h:
            * svg/SVGMetadataElement.cpp:
            (WebCore::SVGMetadataElement::SVGMetadataElement):
            * svg/SVGMetadataElement.h:
            * svg/SVGMissingGlyphElement.cpp:
            (WebCore::SVGMissingGlyphElement::SVGMissingGlyphElement):
            * svg/SVGMissingGlyphElement.h:
            * svg/SVGNumberList.cpp:
            * svg/SVGNumberList.h:
            * svg/SVGPaint.cpp:
            * svg/SVGPaint.h:
            * svg/SVGParserUtilities.cpp:
            (WebCore::genericParseNumber):
            (WebCore::parseNumber):
            * svg/SVGPathBlender.cpp:
            * svg/SVGPathBlender.h:
            * svg/SVGPathBuilder.h:
            * svg/SVGPathByteStreamBuilder.h:
            * svg/SVGPathByteStreamSource.cpp:
            * svg/SVGPathByteStreamSource.h:
            * svg/SVGPathConsumer.h:
            * svg/SVGPathElement.cpp:
            (WebCore::SVGPathElement::SVGPathElement):
            * svg/SVGPathElement.h:
            * svg/SVGPathParser.cpp:
            * svg/SVGPathParser.h:
            * svg/SVGPathSeg.cpp:
            * svg/SVGPathSeg.h:
            * svg/SVGPathSegArc.h:
            * svg/SVGPathSegClosePath.cpp:
            * svg/SVGPathSegClosePath.h:
            * svg/SVGPathSegCurvetoCubic.h:
            * svg/SVGPathSegCurvetoCubicSmooth.h:
            * svg/SVGPathSegCurvetoQuadratic.h:
            * svg/SVGPathSegCurvetoQuadraticSmooth.h:
            * svg/SVGPathSegLineto.h:
            * svg/SVGPathSegLinetoHorizontal.h:
            * svg/SVGPathSegLinetoVertical.h:
            * svg/SVGPathSegList.cpp:
            * svg/SVGPathSegList.h:
            * svg/SVGPathSegListBuilder.h:
            * svg/SVGPathSegListSource.cpp:
            * svg/SVGPathSegListSource.h:
            * svg/SVGPathSegMoveto.h:
            * svg/SVGPathSource.h:
            * svg/SVGPathStringBuilder.cpp:
            * svg/SVGPathStringBuilder.h:
            * svg/SVGPathStringSource.cpp:
            * svg/SVGPathStringSource.h:
            * svg/SVGPatternElement.cpp:
            (WebCore::SVGPatternElement::SVGPatternElement):
            * svg/SVGPatternElement.h:
            * svg/SVGPointList.cpp:
            * svg/SVGPointList.h:
            * svg/SVGPolyElement.cpp:
            (WebCore::SVGPolyElement::SVGPolyElement):
            * svg/SVGPolyElement.h:
            * svg/SVGPolygonElement.cpp:
            (WebCore::SVGPolygonElement::SVGPolygonElement):
            * svg/SVGPolygonElement.h:
            * svg/SVGPolylineElement.cpp:
            (WebCore::SVGPolylineElement::SVGPolylineElement):
            * svg/SVGPolylineElement.h:
            * svg/SVGPreserveAspectRatio.cpp:
            * svg/SVGPreserveAspectRatio.h:
            * svg/SVGRadialGradientElement.cpp:
            (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
            * svg/SVGRadialGradientElement.h:
            * svg/SVGRectElement.cpp:
            (WebCore::SVGRectElement::SVGRectElement):
            * svg/SVGRectElement.h:
            * svg/SVGSVGElement.h:
            * svg/SVGScriptElement.cpp:
            (WebCore::SVGScriptElement::SVGScriptElement):
            * svg/SVGScriptElement.h:
            * svg/SVGSetElement.cpp:
            (WebCore::SVGSetElement::SVGSetElement):
            * svg/SVGSetElement.h:
            * svg/SVGStopElement.cpp:
            (WebCore::SVGStopElement::SVGStopElement):
            * svg/SVGStopElement.h:
            * svg/SVGStringList.cpp:
            * svg/SVGStringList.h:
            * svg/SVGStylable.cpp:
            * svg/SVGStylable.h:
            * svg/SVGStyleElement.cpp:
            (WebCore::SVGStyleElement::SVGStyleElement):
            * svg/SVGStyleElement.h:
            * svg/SVGStyledElement.cpp:
            (WebCore::SVGStyledElement::SVGStyledElement):
            * svg/SVGStyledElement.h:
            * svg/SVGStyledLocatableElement.cpp:
            (WebCore::SVGStyledLocatableElement::SVGStyledLocatableElement):
            * svg/SVGStyledLocatableElement.h:
            * svg/SVGStyledTransformableElement.cpp:
            (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
            * svg/SVGStyledTransformableElement.h:
            * svg/SVGSwitchElement.cpp:
            (WebCore::SVGSwitchElement::SVGSwitchElement):
            (WebCore::SVGSwitchElement::childShouldCreateRenderer):
            * svg/SVGSwitchElement.h:
            * svg/SVGSymbolElement.cpp:
            (WebCore::SVGSymbolElement::SVGSymbolElement):
            * svg/SVGSymbolElement.h:
            * svg/SVGTRefElement.cpp:
            (WebCore::SVGTRefElement::SVGTRefElement):
            * svg/SVGTRefElement.h:
            * svg/SVGTSpanElement.cpp:
            (WebCore::SVGTSpanElement::SVGTSpanElement):
            * svg/SVGTests.cpp:
            * svg/SVGTests.h:
            * svg/SVGTextContentElement.cpp:
            (WebCore::SVGTextContentElement::SVGTextContentElement):
            * svg/SVGTextContentElement.h:
            * svg/SVGTextElement.cpp:
            (WebCore::SVGTextElement::SVGTextElement):
            * svg/SVGTextElement.h:
            * svg/SVGTextPathElement.cpp:
            (WebCore::SVGTextPathElement::SVGTextPathElement):
            * svg/SVGTextPathElement.h:
            * svg/SVGTextPositioningElement.cpp:
            (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
            * svg/SVGTextPositioningElement.h:
            * svg/SVGTitleElement.cpp:
            (WebCore::SVGTitleElement::SVGTitleElement):
            * svg/SVGTransform.cpp:
            * svg/SVGTransform.h:
            * svg/SVGTransformable.cpp:
            * svg/SVGTransformable.h:
            * svg/SVGURIReference.cpp:
            * svg/SVGURIReference.h:
            * svg/SVGUseElement.cpp:
            (WebCore::SVGUseElement::SVGUseElement):
            (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
            * svg/SVGUseElement.h:
            * svg/SVGViewElement.cpp:
            (WebCore::SVGViewElement::SVGViewElement):
            * svg/SVGViewElement.h:
            * svg/SVGViewSpec.cpp:
            (WebCore::SVGViewSpec::SVGViewSpec):
            * svg/SVGViewSpec.h:
            * svg/SVGZoomAndPan.cpp:
            * svg/SVGZoomAndPan.h:
            * svg/SVGZoomEvent.cpp:
            * svg/SVGZoomEvent.h:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@66397 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 1bddea8..3db3f0a 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,368 @@
+2010-08-30  Darin Adler  <darin at apple.com>
+
+        Reviewed by Sam Weinig.
+
+        Make SVG constructors private to make sure callers all use create
+        https://bugs.webkit.org/show_bug.cgi?id=44872
+
+        Made as many members private and protected as possible, and got rid of many
+        unneeded empty constructor and destructor definitions, in some cases changing
+        a class to be non-polymorphic. Made some functions inline. Used the word document
+        instead of the abbreviation doc. Removed unneeded explicit base class
+        initialization in cases where it is no different from the default behavior.
+
+        * svg/SVGAElement.cpp:
+        (WebCore::SVGAElement::SVGAElement):
+        (WebCore::SVGAElement::childShouldCreateRenderer):
+        * svg/SVGAElement.h:
+        * svg/SVGAltGlyphElement.cpp:
+        (WebCore::SVGAltGlyphElement::SVGAltGlyphElement):
+        * svg/SVGAltGlyphElement.h:
+        * svg/SVGAngle.cpp:
+        * svg/SVGAngle.h:
+        * svg/SVGAnimateColorElement.cpp:
+        (WebCore::SVGAnimateColorElement::SVGAnimateColorElement):
+        * svg/SVGAnimateColorElement.h:
+        * svg/SVGAnimateElement.cpp:
+        (WebCore::SVGAnimateElement::SVGAnimateElement):
+        * svg/SVGAnimateElement.h:
+        * svg/SVGAnimateMotionElement.cpp:
+        (WebCore::SVGAnimateMotionElement::SVGAnimateMotionElement):
+        * svg/SVGAnimateMotionElement.h:
+        * svg/SVGAnimateTransformElement.cpp:
+        (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
+        * svg/SVGAnimateTransformElement.h:
+        * svg/SVGAnimatedPathData.cpp:
+        * svg/SVGAnimatedPathData.h:
+        * svg/SVGAnimatedPoints.cpp:
+        * svg/SVGAnimatedPoints.h:
+        * svg/SVGAnimationElement.cpp:
+        (WebCore::SVGAnimationElement::SVGAnimationElement):
+        * svg/SVGAnimationElement.h:
+        * svg/SVGCircleElement.cpp:
+        (WebCore::SVGCircleElement::SVGCircleElement):
+        * svg/SVGCircleElement.h:
+        * svg/SVGClipPathElement.cpp:
+        (WebCore::SVGClipPathElement::SVGClipPathElement):
+        * svg/SVGClipPathElement.h:
+        * svg/SVGColor.cpp:
+        * svg/SVGColor.h:
+        * svg/SVGComponentTransferFunctionElement.cpp:
+        (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
+        * svg/SVGComponentTransferFunctionElement.h:
+        * svg/SVGCursorElement.cpp:
+        (WebCore::SVGCursorElement::SVGCursorElement):
+        * svg/SVGCursorElement.h:
+        * svg/SVGDefsElement.cpp:
+        (WebCore::SVGDefsElement::SVGDefsElement):
+        * svg/SVGDefsElement.h:
+        * svg/SVGDescElement.cpp:
+        (WebCore::SVGDescElement::SVGDescElement):
+        * svg/SVGDescElement.h:
+        * svg/SVGDocument.cpp:
+        * svg/SVGDocument.h:
+        * svg/SVGDocumentExtensions.cpp:
+        (WebCore::SVGDocumentExtensions::SVGDocumentExtensions):
+        (WebCore::SVGDocumentExtensions::reportWarning):
+        (WebCore::SVGDocumentExtensions::reportError):
+        * svg/SVGDocumentExtensions.h:
+        * svg/SVGElement.h:
+        * svg/SVGElementInstanceList.h:
+        * svg/SVGEllipseElement.cpp:
+        (WebCore::SVGEllipseElement::SVGEllipseElement):
+        * svg/SVGEllipseElement.h:
+        * svg/SVGExternalResourcesRequired.cpp:
+        * svg/SVGExternalResourcesRequired.h:
+        * svg/SVGFEBlendElement.cpp:
+        (WebCore::SVGFEBlendElement::SVGFEBlendElement):
+        * svg/SVGFEBlendElement.h:
+        * svg/SVGFEColorMatrixElement.cpp:
+        (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
+        * svg/SVGFEColorMatrixElement.h:
+        * svg/SVGFEComponentTransferElement.cpp:
+        (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
+        * svg/SVGFEComponentTransferElement.h:
+        * svg/SVGFECompositeElement.cpp:
+        (WebCore::SVGFECompositeElement::SVGFECompositeElement):
+        * svg/SVGFECompositeElement.h:
+        * svg/SVGFEConvolveMatrixElement.cpp:
+        (WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement):
+        * svg/SVGFEConvolveMatrixElement.h:
+        * svg/SVGFEDiffuseLightingElement.cpp:
+        (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
+        * svg/SVGFEDiffuseLightingElement.h:
+        * svg/SVGFEDisplacementMapElement.cpp:
+        (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
+        * svg/SVGFEDisplacementMapElement.h:
+        * svg/SVGFEDistantLightElement.cpp:
+        (WebCore::SVGFEDistantLightElement::SVGFEDistantLightElement):
+        * svg/SVGFEDistantLightElement.h:
+        * svg/SVGFEFloodElement.cpp:
+        (WebCore::SVGFEFloodElement::SVGFEFloodElement):
+        * svg/SVGFEFloodElement.h:
+        * svg/SVGFEFuncAElement.cpp:
+        (WebCore::SVGFEFuncAElement::SVGFEFuncAElement):
+        * svg/SVGFEFuncAElement.h:
+        * svg/SVGFEFuncBElement.cpp:
+        (WebCore::SVGFEFuncBElement::SVGFEFuncBElement):
+        * svg/SVGFEFuncBElement.h:
+        * svg/SVGFEFuncGElement.cpp:
+        (WebCore::SVGFEFuncGElement::SVGFEFuncGElement):
+        * svg/SVGFEFuncGElement.h:
+        * svg/SVGFEFuncRElement.cpp:
+        (WebCore::SVGFEFuncRElement::SVGFEFuncRElement):
+        * svg/SVGFEFuncRElement.h:
+        * svg/SVGFEGaussianBlurElement.cpp:
+        (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
+        * svg/SVGFEGaussianBlurElement.h:
+        * svg/SVGFEImageElement.cpp:
+        (WebCore::SVGFEImageElement::SVGFEImageElement):
+        * svg/SVGFEImageElement.h:
+        * svg/SVGFELightElement.cpp:
+        (WebCore::SVGFELightElement::SVGFELightElement):
+        * svg/SVGFELightElement.h:
+        * svg/SVGFEMergeElement.cpp:
+        (WebCore::SVGFEMergeElement::SVGFEMergeElement):
+        * svg/SVGFEMergeElement.h:
+        * svg/SVGFEMergeNodeElement.cpp:
+        (WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement):
+        * svg/SVGFEMergeNodeElement.h:
+        * svg/SVGFEMorphologyElement.cpp:
+        (WebCore::SVGFEMorphologyElement::SVGFEMorphologyElement):
+        * svg/SVGFEMorphologyElement.h:
+        * svg/SVGFEOffsetElement.cpp:
+        (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
+        * svg/SVGFEOffsetElement.h:
+        * svg/SVGFEPointLightElement.cpp:
+        (WebCore::SVGFEPointLightElement::SVGFEPointLightElement):
+        (WebCore::SVGFEPointLightElement::lightSource):
+        * svg/SVGFEPointLightElement.h:
+        * svg/SVGFESpecularLightingElement.cpp:
+        (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
+        * svg/SVGFESpecularLightingElement.h:
+        * svg/SVGFESpotLightElement.cpp:
+        (WebCore::SVGFESpotLightElement::SVGFESpotLightElement):
+        * svg/SVGFESpotLightElement.h:
+        * svg/SVGFETileElement.cpp:
+        (WebCore::SVGFETileElement::SVGFETileElement):
+        * svg/SVGFETileElement.h:
+        * svg/SVGFETurbulenceElement.cpp:
+        (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
+        * svg/SVGFETurbulenceElement.h:
+        * svg/SVGFilterElement.cpp:
+        (WebCore::SVGFilterElement::SVGFilterElement):
+        * svg/SVGFilterElement.h:
+        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
+        (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
+        * svg/SVGFilterPrimitiveStandardAttributes.h:
+        * svg/SVGFitToViewBox.cpp:
+        * svg/SVGFitToViewBox.h:
+        * svg/SVGFontData.cpp:
+        * svg/SVGFontData.h:
+        * svg/SVGFontElement.cpp:
+        (WebCore::SVGFontElement::SVGFontElement):
+        * svg/SVGFontElement.h:
+        * svg/SVGFontFaceElement.cpp:
+        (WebCore::SVGFontFaceElement::SVGFontFaceElement):
+        * svg/SVGFontFaceElement.h:
+        * svg/SVGFontFaceFormatElement.cpp:
+        (WebCore::SVGFontFaceFormatElement::SVGFontFaceFormatElement):
+        * svg/SVGFontFaceFormatElement.h:
+        * svg/SVGFontFaceNameElement.cpp:
+        (WebCore::SVGFontFaceNameElement::SVGFontFaceNameElement):
+        * svg/SVGFontFaceNameElement.h:
+        * svg/SVGFontFaceSrcElement.cpp:
+        (WebCore::SVGFontFaceSrcElement::SVGFontFaceSrcElement):
+        * svg/SVGFontFaceSrcElement.h:
+        * svg/SVGFontFaceUriElement.cpp:
+        (WebCore::SVGFontFaceUriElement::SVGFontFaceUriElement):
+        * svg/SVGFontFaceUriElement.h:
+        * svg/SVGForeignObjectElement.cpp:
+        (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
+        * svg/SVGForeignObjectElement.h:
+        * svg/SVGGElement.cpp:
+        (WebCore::SVGGElement::SVGGElement):
+        * svg/SVGGElement.h:
+        * svg/SVGGlyphElement.cpp:
+        (WebCore::SVGGlyphElement::SVGGlyphElement):
+        * svg/SVGGlyphElement.h:
+        * svg/SVGGradientElement.cpp:
+        (WebCore::SVGGradientElement::SVGGradientElement):
+        * svg/SVGGradientElement.h:
+        * svg/SVGHKernElement.cpp:
+        (WebCore::SVGHKernElement::SVGHKernElement):
+        * svg/SVGHKernElement.h:
+        * svg/SVGImageElement.cpp:
+        (WebCore::SVGImageElement::SVGImageElement):
+        * svg/SVGImageElement.h:
+        * svg/SVGImageLoader.cpp:
+        * svg/SVGImageLoader.h:
+        * svg/SVGLangSpace.cpp:
+        * svg/SVGLangSpace.h:
+        * svg/SVGLengthList.cpp:
+        * svg/SVGLengthList.h:
+        * svg/SVGLineElement.cpp:
+        (WebCore::SVGLineElement::SVGLineElement):
+        * svg/SVGLineElement.h:
+        * svg/SVGLinearGradientElement.cpp:
+        (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
+        * svg/SVGLinearGradientElement.h:
+        * svg/SVGLocatable.cpp:
+        * svg/SVGLocatable.h:
+        * svg/SVGMPathElement.cpp:
+        (WebCore::SVGMPathElement::SVGMPathElement):
+        * svg/SVGMPathElement.h:
+        * svg/SVGMarkerElement.cpp:
+        (WebCore::SVGMarkerElement::SVGMarkerElement):
+        * svg/SVGMarkerElement.h:
+        * svg/SVGMaskElement.cpp:
+        (WebCore::SVGMaskElement::SVGMaskElement):
+        * svg/SVGMaskElement.h:
+        * svg/SVGMetadataElement.cpp:
+        (WebCore::SVGMetadataElement::SVGMetadataElement):
+        * svg/SVGMetadataElement.h:
+        * svg/SVGMissingGlyphElement.cpp:
+        (WebCore::SVGMissingGlyphElement::SVGMissingGlyphElement):
+        * svg/SVGMissingGlyphElement.h:
+        * svg/SVGNumberList.cpp:
+        * svg/SVGNumberList.h:
+        * svg/SVGPaint.cpp:
+        * svg/SVGPaint.h:
+        * svg/SVGParserUtilities.cpp:
+        (WebCore::genericParseNumber):
+        (WebCore::parseNumber):
+        * svg/SVGPathBlender.cpp:
+        * svg/SVGPathBlender.h:
+        * svg/SVGPathBuilder.h:
+        * svg/SVGPathByteStreamBuilder.h:
+        * svg/SVGPathByteStreamSource.cpp:
+        * svg/SVGPathByteStreamSource.h:
+        * svg/SVGPathConsumer.h:
+        * svg/SVGPathElement.cpp:
+        (WebCore::SVGPathElement::SVGPathElement):
+        * svg/SVGPathElement.h:
+        * svg/SVGPathParser.cpp:
+        * svg/SVGPathParser.h:
+        * svg/SVGPathSeg.cpp:
+        * svg/SVGPathSeg.h:
+        * svg/SVGPathSegArc.h:
+        * svg/SVGPathSegClosePath.cpp:
+        * svg/SVGPathSegClosePath.h:
+        * svg/SVGPathSegCurvetoCubic.h:
+        * svg/SVGPathSegCurvetoCubicSmooth.h:
+        * svg/SVGPathSegCurvetoQuadratic.h:
+        * svg/SVGPathSegCurvetoQuadraticSmooth.h:
+        * svg/SVGPathSegLineto.h:
+        * svg/SVGPathSegLinetoHorizontal.h:
+        * svg/SVGPathSegLinetoVertical.h:
+        * svg/SVGPathSegList.cpp:
+        * svg/SVGPathSegList.h:
+        * svg/SVGPathSegListBuilder.h:
+        * svg/SVGPathSegListSource.cpp:
+        * svg/SVGPathSegListSource.h:
+        * svg/SVGPathSegMoveto.h:
+        * svg/SVGPathSource.h:
+        * svg/SVGPathStringBuilder.cpp:
+        * svg/SVGPathStringBuilder.h:
+        * svg/SVGPathStringSource.cpp:
+        * svg/SVGPathStringSource.h:
+        * svg/SVGPatternElement.cpp:
+        (WebCore::SVGPatternElement::SVGPatternElement):
+        * svg/SVGPatternElement.h:
+        * svg/SVGPointList.cpp:
+        * svg/SVGPointList.h:
+        * svg/SVGPolyElement.cpp:
+        (WebCore::SVGPolyElement::SVGPolyElement):
+        * svg/SVGPolyElement.h:
+        * svg/SVGPolygonElement.cpp:
+        (WebCore::SVGPolygonElement::SVGPolygonElement):
+        * svg/SVGPolygonElement.h:
+        * svg/SVGPolylineElement.cpp:
+        (WebCore::SVGPolylineElement::SVGPolylineElement):
+        * svg/SVGPolylineElement.h:
+        * svg/SVGPreserveAspectRatio.cpp:
+        * svg/SVGPreserveAspectRatio.h:
+        * svg/SVGRadialGradientElement.cpp:
+        (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
+        * svg/SVGRadialGradientElement.h:
+        * svg/SVGRectElement.cpp:
+        (WebCore::SVGRectElement::SVGRectElement):
+        * svg/SVGRectElement.h:
+        * svg/SVGSVGElement.h:
+        * svg/SVGScriptElement.cpp:
+        (WebCore::SVGScriptElement::SVGScriptElement):
+        * svg/SVGScriptElement.h:
+        * svg/SVGSetElement.cpp:
+        (WebCore::SVGSetElement::SVGSetElement):
+        * svg/SVGSetElement.h:
+        * svg/SVGStopElement.cpp:
+        (WebCore::SVGStopElement::SVGStopElement):
+        * svg/SVGStopElement.h:
+        * svg/SVGStringList.cpp:
+        * svg/SVGStringList.h:
+        * svg/SVGStylable.cpp:
+        * svg/SVGStylable.h:
+        * svg/SVGStyleElement.cpp:
+        (WebCore::SVGStyleElement::SVGStyleElement):
+        * svg/SVGStyleElement.h:
+        * svg/SVGStyledElement.cpp:
+        (WebCore::SVGStyledElement::SVGStyledElement):
+        * svg/SVGStyledElement.h:
+        * svg/SVGStyledLocatableElement.cpp:
+        (WebCore::SVGStyledLocatableElement::SVGStyledLocatableElement):
+        * svg/SVGStyledLocatableElement.h:
+        * svg/SVGStyledTransformableElement.cpp:
+        (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
+        * svg/SVGStyledTransformableElement.h:
+        * svg/SVGSwitchElement.cpp:
+        (WebCore::SVGSwitchElement::SVGSwitchElement):
+        (WebCore::SVGSwitchElement::childShouldCreateRenderer):
+        * svg/SVGSwitchElement.h:
+        * svg/SVGSymbolElement.cpp:
+        (WebCore::SVGSymbolElement::SVGSymbolElement):
+        * svg/SVGSymbolElement.h:
+        * svg/SVGTRefElement.cpp:
+        (WebCore::SVGTRefElement::SVGTRefElement):
+        * svg/SVGTRefElement.h:
+        * svg/SVGTSpanElement.cpp:
+        (WebCore::SVGTSpanElement::SVGTSpanElement):
+        * svg/SVGTests.cpp:
+        * svg/SVGTests.h:
+        * svg/SVGTextContentElement.cpp:
+        (WebCore::SVGTextContentElement::SVGTextContentElement):
+        * svg/SVGTextContentElement.h:
+        * svg/SVGTextElement.cpp:
+        (WebCore::SVGTextElement::SVGTextElement):
+        * svg/SVGTextElement.h:
+        * svg/SVGTextPathElement.cpp:
+        (WebCore::SVGTextPathElement::SVGTextPathElement):
+        * svg/SVGTextPathElement.h:
+        * svg/SVGTextPositioningElement.cpp:
+        (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
+        * svg/SVGTextPositioningElement.h:
+        * svg/SVGTitleElement.cpp:
+        (WebCore::SVGTitleElement::SVGTitleElement):
+        * svg/SVGTransform.cpp:
+        * svg/SVGTransform.h:
+        * svg/SVGTransformable.cpp:
+        * svg/SVGTransformable.h:
+        * svg/SVGURIReference.cpp:
+        * svg/SVGURIReference.h:
+        * svg/SVGUseElement.cpp:
+        (WebCore::SVGUseElement::SVGUseElement):
+        (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
+        * svg/SVGUseElement.h:
+        * svg/SVGViewElement.cpp:
+        (WebCore::SVGViewElement::SVGViewElement):
+        * svg/SVGViewElement.h:
+        * svg/SVGViewSpec.cpp:
+        (WebCore::SVGViewSpec::SVGViewSpec):
+        * svg/SVGViewSpec.h:
+        * svg/SVGZoomAndPan.cpp:
+        * svg/SVGZoomAndPan.h:
+        * svg/SVGZoomEvent.cpp:
+        * svg/SVGZoomEvent.h:
+
 2010-08-30  Eric Carlson  <eric.carlson at apple.com>
 
         Reviewed by Dan Bernstein.
diff --git a/WebCore/svg/SVGAElement.cpp b/WebCore/svg/SVGAElement.cpp
index 39c1fde..e8a0e75 100644
--- a/WebCore/svg/SVGAElement.cpp
+++ b/WebCore/svg/SVGAElement.cpp
@@ -45,12 +45,8 @@
 
 namespace WebCore {
 
-SVGAElement::SVGAElement(const QualifiedName& tagName, Document *doc)
-    : SVGStyledTransformableElement(tagName, doc)
-    , SVGURIReference()
-    , SVGTests()
-    , SVGLangSpace()
-    , SVGExternalResourcesRequired()
+inline SVGAElement::SVGAElement(const QualifiedName& tagName, Document* document)
+    : SVGStyledTransformableElement(tagName, document)
 {
 }
 
@@ -59,10 +55,6 @@ PassRefPtr<SVGAElement> SVGAElement::create(const QualifiedName& tagName, Docume
     return new SVGAElement(tagName, document);
 }
 
-SVGAElement::~SVGAElement()
-{
-}
-
 String SVGAElement::title() const
 {
     // If the xlink:title is set (non-empty string), use it.
@@ -227,7 +219,7 @@ bool SVGAElement::childShouldCreateRenderer(Node* child) const
     if (child->hasTagName(SVGNames::aTag))
         return false;
     if (parent() && parent()->isSVGElement())
-        return static_cast<SVGElement*>(parent())->childShouldCreateRenderer(child);
+        return parent()->childShouldCreateRenderer(child);
 
     return SVGElement::childShouldCreateRenderer(child);
 }
diff --git a/WebCore/svg/SVGAElement.h b/WebCore/svg/SVGAElement.h
index 6c30bc7..b43f192 100644
--- a/WebCore/svg/SVGAElement.h
+++ b/WebCore/svg/SVGAElement.h
@@ -40,8 +40,6 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGAElement> create(const QualifiedName&, Document*);
 
-        virtual ~SVGAElement();
-
     private:
         SVGAElement(const QualifiedName&, Document*);
 
diff --git a/WebCore/svg/SVGAltGlyphElement.cpp b/WebCore/svg/SVGAltGlyphElement.cpp
index 1acef2b..e2e1a0b 100644
--- a/WebCore/svg/SVGAltGlyphElement.cpp
+++ b/WebCore/svg/SVGAltGlyphElement.cpp
@@ -33,8 +33,8 @@
 
 namespace WebCore {
 
-SVGAltGlyphElement::SVGAltGlyphElement(const QualifiedName& tagName, Document* doc)
-    : SVGTextPositioningElement(tagName, doc)
+inline SVGAltGlyphElement::SVGAltGlyphElement(const QualifiedName& tagName, Document* document)
+    : SVGTextPositioningElement(tagName, document)
 {
 }
 
@@ -43,10 +43,6 @@ PassRefPtr<SVGAltGlyphElement> SVGAltGlyphElement::create(const QualifiedName& t
     return new SVGAltGlyphElement(tagName, document);
 }
 
-SVGAltGlyphElement::~SVGAltGlyphElement()
-{
-}
-
 void SVGAltGlyphElement::synchronizeProperty(const QualifiedName& attrName)
 {
     SVGTextPositioningElement::synchronizeProperty(attrName);
diff --git a/WebCore/svg/SVGAltGlyphElement.h b/WebCore/svg/SVGAltGlyphElement.h
index ada6bf6..ae0903a 100644
--- a/WebCore/svg/SVGAltGlyphElement.h
+++ b/WebCore/svg/SVGAltGlyphElement.h
@@ -36,8 +36,6 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGAltGlyphElement> create(const QualifiedName&, Document*);
 
-        virtual ~SVGAltGlyphElement();
-
         const AtomicString& glyphRef() const;
         void setGlyphRef(const AtomicString&, ExceptionCode&);
         const AtomicString& format() const;
diff --git a/WebCore/svg/SVGAngle.cpp b/WebCore/svg/SVGAngle.cpp
index 4d65ad0..6702904 100644
--- a/WebCore/svg/SVGAngle.cpp
+++ b/WebCore/svg/SVGAngle.cpp
@@ -34,25 +34,11 @@ SVGAngle::SVGAngle()
 {
 }
 
-SVGAngle::~SVGAngle()
-{
-}
-
-SVGAngle::SVGAngleType SVGAngle::unitType() const
-{
-    return m_unitType;
-}
-
 void SVGAngle::setValue(float value)
 {
     m_value = value;
 }
 
-float SVGAngle::value() const
-{
-    return m_value;
-}
-
 // calc m_value
 void SVGAngle::calculate()
 {
@@ -70,11 +56,6 @@ void SVGAngle::setValueInSpecifiedUnits(float valueInSpecifiedUnits)
     calculate();
 }
 
-float SVGAngle::valueInSpecifiedUnits() const
-{
-    return m_valueInSpecifiedUnits;
-}
-
 void SVGAngle::setValueAsString(const String& s)
 {
     m_valueAsString = s;
diff --git a/WebCore/svg/SVGAngle.h b/WebCore/svg/SVGAngle.h
index 289b8c6..de5c3ce 100644
--- a/WebCore/svg/SVGAngle.h
+++ b/WebCore/svg/SVGAngle.h
@@ -29,7 +29,6 @@ namespace WebCore {
     class SVGAngle {
     public:
         SVGAngle();
-        virtual ~SVGAngle();
 
         enum SVGAngleType {
             SVG_ANGLETYPE_UNKNOWN           = 0,
@@ -39,13 +38,13 @@ namespace WebCore {
             SVG_ANGLETYPE_GRAD              = 4
         };
 
-        SVGAngleType unitType() const;
+        SVGAngleType unitType() const { return m_unitType; }
 
         void setValue(float);
-        float value() const; 
+        float value() const { return m_value; }
 
         void setValueInSpecifiedUnits(float valueInSpecifiedUnits);
-        float valueInSpecifiedUnits() const;
+        float valueInSpecifiedUnits() const { return m_valueInSpecifiedUnits; }
 
         void setValueAsString(const String&);
         String valueAsString() const;
diff --git a/WebCore/svg/SVGAnimateColorElement.cpp b/WebCore/svg/SVGAnimateColorElement.cpp
index 88ada83..e511326 100644
--- a/WebCore/svg/SVGAnimateColorElement.cpp
+++ b/WebCore/svg/SVGAnimateColorElement.cpp
@@ -25,8 +25,8 @@
 
 namespace WebCore {
     
-SVGAnimateColorElement::SVGAnimateColorElement(const QualifiedName& tagName, Document* doc)
-    : SVGAnimateElement(tagName, doc)
+inline SVGAnimateColorElement::SVGAnimateColorElement(const QualifiedName& tagName, Document* document)
+    : SVGAnimateElement(tagName, document)
 {
 }
 
diff --git a/WebCore/svg/SVGAnimateColorElement.h b/WebCore/svg/SVGAnimateColorElement.h
index b6fe95d..d36c8de 100644
--- a/WebCore/svg/SVGAnimateColorElement.h
+++ b/WebCore/svg/SVGAnimateColorElement.h
@@ -32,6 +32,7 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGAnimateColorElement> create(const QualifiedName&, Document*);
 
+    private:
         SVGAnimateColorElement(const QualifiedName&, Document*);
     };
 
diff --git a/WebCore/svg/SVGAnimateElement.cpp b/WebCore/svg/SVGAnimateElement.cpp
index 1a349c9..22f8783 100644
--- a/WebCore/svg/SVGAnimateElement.cpp
+++ b/WebCore/svg/SVGAnimateElement.cpp
@@ -36,8 +36,8 @@ using namespace std;
 
 namespace WebCore {
 
-SVGAnimateElement::SVGAnimateElement(const QualifiedName& tagName, Document* doc)
-    : SVGAnimationElement(tagName, doc)
+SVGAnimateElement::SVGAnimateElement(const QualifiedName& tagName, Document* document)
+    : SVGAnimationElement(tagName, document)
     , m_propertyType(StringProperty)
     , m_fromNumber(0)
     , m_toNumber(0)
diff --git a/WebCore/svg/SVGAnimateElement.h b/WebCore/svg/SVGAnimateElement.h
index c84a960..9993d84 100644
--- a/WebCore/svg/SVGAnimateElement.h
+++ b/WebCore/svg/SVGAnimateElement.h
@@ -30,6 +30,7 @@
 #include <wtf/OwnPtr.h>
 
 namespace WebCore {
+
     class SVGPathSegList;
     class SVGPointList;
 
@@ -37,10 +38,11 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGAnimateElement> create(const QualifiedName&, Document*);
 
-        SVGAnimateElement(const QualifiedName&, Document*);
         virtual ~SVGAnimateElement();
-    
+
     protected:
+        SVGAnimateElement(const QualifiedName&, Document*);
+    
         virtual void resetToBaseValue(const String&);
         virtual bool calculateFromAndToValues(const String& fromString, const String& toString);
         virtual bool calculateFromAndByValues(const String& fromString, const String& byString);
diff --git a/WebCore/svg/SVGAnimateMotionElement.cpp b/WebCore/svg/SVGAnimateMotionElement.cpp
index be4882d..4536f3f 100644
--- a/WebCore/svg/SVGAnimateMotionElement.cpp
+++ b/WebCore/svg/SVGAnimateMotionElement.cpp
@@ -40,8 +40,8 @@ namespace WebCore {
     
 using namespace SVGNames;
 
-SVGAnimateMotionElement::SVGAnimateMotionElement(const QualifiedName& tagName, Document* doc)
-    : SVGAnimationElement(tagName, doc)
+inline SVGAnimateMotionElement::SVGAnimateMotionElement(const QualifiedName& tagName, Document* document)
+    : SVGAnimationElement(tagName, document)
     , m_baseIndexInTransformList(0)
     , m_angle(0)
 {
@@ -52,10 +52,6 @@ PassRefPtr<SVGAnimateMotionElement> SVGAnimateMotionElement::create(const Qualif
     return new SVGAnimateMotionElement(tagName, document);
 }
 
-SVGAnimateMotionElement::~SVGAnimateMotionElement()
-{
-}
-
 bool SVGAnimateMotionElement::hasValidTarget() const
 {
     if (!SVGAnimationElement::hasValidTarget())
diff --git a/WebCore/svg/SVGAnimateMotionElement.h b/WebCore/svg/SVGAnimateMotionElement.h
index b8d873f..225a076 100644
--- a/WebCore/svg/SVGAnimateMotionElement.h
+++ b/WebCore/svg/SVGAnimateMotionElement.h
@@ -31,14 +31,13 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGAnimateMotionElement> create(const QualifiedName&, Document*);
 
+    private:
         SVGAnimateMotionElement(const QualifiedName&, Document*);
-        virtual ~SVGAnimateMotionElement();
 
         virtual bool hasValidTarget() const;
 
         virtual void parseMappedAttribute(Attribute*);
         
-    private:
         virtual void resetToBaseValue(const String&);
         virtual bool calculateFromAndToValues(const String& fromString, const String& toString);
         virtual bool calculateFromAndByValues(const String& fromString, const String& byString);
diff --git a/WebCore/svg/SVGAnimateTransformElement.cpp b/WebCore/svg/SVGAnimateTransformElement.cpp
index 79b0cea..5e0e11b 100644
--- a/WebCore/svg/SVGAnimateTransformElement.cpp
+++ b/WebCore/svg/SVGAnimateTransformElement.cpp
@@ -46,8 +46,8 @@ using namespace std;
 
 namespace WebCore {
 
-SVGAnimateTransformElement::SVGAnimateTransformElement(const QualifiedName& tagName, Document* doc)
-    : SVGAnimationElement(tagName, doc)
+inline SVGAnimateTransformElement::SVGAnimateTransformElement(const QualifiedName& tagName, Document* document)
+    : SVGAnimationElement(tagName, document)
     , m_type(SVGTransform::SVG_TRANSFORM_UNKNOWN)
     , m_baseIndexInTransformList(0)
 {
@@ -58,10 +58,6 @@ PassRefPtr<SVGAnimateTransformElement> SVGAnimateTransformElement::create(const
     return new SVGAnimateTransformElement(tagName, document);
 }
 
-SVGAnimateTransformElement::~SVGAnimateTransformElement()
-{
-}
-
 bool SVGAnimateTransformElement::hasValidTarget() const
 {
     SVGElement* targetElement = this->targetElement();
diff --git a/WebCore/svg/SVGAnimateTransformElement.h b/WebCore/svg/SVGAnimateTransformElement.h
index 2978142..0f806d7 100644
--- a/WebCore/svg/SVGAnimateTransformElement.h
+++ b/WebCore/svg/SVGAnimateTransformElement.h
@@ -36,14 +36,13 @@ class SVGAnimateTransformElement : public SVGAnimationElement {
 public:
     static PassRefPtr<SVGAnimateTransformElement> create(const QualifiedName&, Document*);
 
+private:
     SVGAnimateTransformElement(const QualifiedName&, Document*);
-    virtual ~SVGAnimateTransformElement();
     
     virtual bool hasValidTarget() const;
 
     virtual void parseMappedAttribute(Attribute*);
 
-private:
     virtual void resetToBaseValue(const String&);
     virtual bool calculateFromAndToValues(const String& fromString, const String& toString);
     virtual bool calculateFromAndByValues(const String& fromString, const String& byString);
diff --git a/WebCore/svg/SVGAnimatedPathData.cpp b/WebCore/svg/SVGAnimatedPathData.cpp
index 8ae4acd..6f54888 100644
--- a/WebCore/svg/SVGAnimatedPathData.cpp
+++ b/WebCore/svg/SVGAnimatedPathData.cpp
@@ -1,40 +1 @@
-/*
- * Copyright (C) 2004, 2005, 2006 Nikolas Zimmermann <zimmermann at kde.org>
- * Copyright (C) 2004, 2005, 2006 Rob Buis <buis at kde.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#include "config.h"
-
-#if ENABLE(SVG)
-#include "SVGAnimatedPathData.h"
-
-namespace WebCore {
-
-SVGAnimatedPathData::SVGAnimatedPathData()
-{
-}
-
-SVGAnimatedPathData::~SVGAnimatedPathData()
-{
-}
-
-}
-
-#endif // ENABLE(SVG)
-
-// vim:ts=4:noet
+// This file is now intentionally empty. Delete it after removing it from all the build systems and project files.
diff --git a/WebCore/svg/SVGAnimatedPathData.h b/WebCore/svg/SVGAnimatedPathData.h
index 399b61b..5ff66d3 100644
--- a/WebCore/svg/SVGAnimatedPathData.h
+++ b/WebCore/svg/SVGAnimatedPathData.h
@@ -24,14 +24,13 @@
 #if ENABLE(SVG)
 
 namespace WebCore {
+
     class SVGPathSegList;
 
     class SVGAnimatedPathData {
     public:
-        SVGAnimatedPathData();
-        virtual ~SVGAnimatedPathData();
+        virtual ~SVGAnimatedPathData() { }
 
-        // 'SVGAnimatedPathData' functions
         virtual SVGPathSegList* pathSegList() const = 0;
         virtual SVGPathSegList* normalizedPathSegList() const = 0;
         virtual SVGPathSegList* animatedPathSegList() const = 0;
diff --git a/WebCore/svg/SVGAnimatedPoints.cpp b/WebCore/svg/SVGAnimatedPoints.cpp
index 1b73309..6f54888 100644
--- a/WebCore/svg/SVGAnimatedPoints.cpp
+++ b/WebCore/svg/SVGAnimatedPoints.cpp
@@ -1,40 +1 @@
-/*
- * Copyright (C) 2004, 2005, 2006 Nikolas Zimmermann <zimmermann at kde.org>
- * Copyright (C) 2004, 2005, 2006 Rob Buis <buis at kde.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#include "config.h"
-
-#if ENABLE(SVG)
-#include "SVGAnimatedPoints.h"
-
-namespace WebCore {
-
-SVGAnimatedPoints::SVGAnimatedPoints()
-{
-}
-
-SVGAnimatedPoints::~SVGAnimatedPoints()
-{
-}
-
-}
-
-#endif // ENABLE(SVG)
-
-// vim:ts=4:noet
+// This file is now intentionally empty. Delete it after removing it from all the build systems and project files.
diff --git a/WebCore/svg/SVGAnimatedPoints.h b/WebCore/svg/SVGAnimatedPoints.h
index ec2f2ae..a62f60c 100644
--- a/WebCore/svg/SVGAnimatedPoints.h
+++ b/WebCore/svg/SVGAnimatedPoints.h
@@ -24,12 +24,12 @@
 #if ENABLE(SVG)
 
 namespace WebCore {
+
     class SVGPointList;
 
     class SVGAnimatedPoints {
     public:
-        SVGAnimatedPoints();
-        virtual ~SVGAnimatedPoints();
+        virtual ~SVGAnimatedPoints() { }
 
         // 'SVGAnimatedPoints' functions
         virtual SVGPointList* points() const = 0;
diff --git a/WebCore/svg/SVGAnimationElement.cpp b/WebCore/svg/SVGAnimationElement.cpp
index 513274e..b5eaafc 100644
--- a/WebCore/svg/SVGAnimationElement.cpp
+++ b/WebCore/svg/SVGAnimationElement.cpp
@@ -52,18 +52,12 @@ using namespace std;
 
 namespace WebCore {
     
-SVGAnimationElement::SVGAnimationElement(const QualifiedName& tagName, Document* doc)
-    : SVGSMILElement(tagName, doc)
-    , SVGTests()
-    , SVGExternalResourcesRequired() 
+SVGAnimationElement::SVGAnimationElement(const QualifiedName& tagName, Document* document)
+    : SVGSMILElement(tagName, document)
     , m_animationValid(false)
 {
 }
 
-SVGAnimationElement::~SVGAnimationElement()
-{
-}
-
 static void parseKeyTimes(const String& parse, Vector<float>& result, bool verifyOrder)
 {
     result.clear();
diff --git a/WebCore/svg/SVGAnimationElement.h b/WebCore/svg/SVGAnimationElement.h
index 8e49460..da48dd6 100644
--- a/WebCore/svg/SVGAnimationElement.h
+++ b/WebCore/svg/SVGAnimationElement.h
@@ -44,13 +44,6 @@ namespace WebCore {
                                 public SVGExternalResourcesRequired,
                                 public ElementTimeControl {
     public:
-        SVGAnimationElement(const QualifiedName&, Document*);
-        virtual ~SVGAnimationElement();
-
-        virtual void parseMappedAttribute(Attribute*);
-        virtual void attributeChanged(Attribute*, bool preserveDecls);
-        virtual void synchronizeProperty(const QualifiedName&);
-
         // SVGAnimationElement
         float getStartTime() const;
         float getCurrentTime() const;
@@ -65,6 +58,10 @@ namespace WebCore {
         static bool attributeIsCSS(const String& attributeName);
 
     protected:
+        SVGAnimationElement(const QualifiedName&, Document*);
+
+        virtual void parseMappedAttribute(Attribute*);
+
         enum CalcMode { CalcModeDiscrete, CalcModeLinear, CalcModePaced, CalcModeSpline };
         CalcMode calcMode() const;
         
@@ -93,6 +90,9 @@ namespace WebCore {
         virtual void endedActiveInterval();
         
     private:
+        virtual void attributeChanged(Attribute*, bool preserveDecls);
+        virtual void synchronizeProperty(const QualifiedName&);
+
         virtual bool calculateFromAndToValues(const String& fromString, const String& toString) = 0;
         virtual bool calculateFromAndByValues(const String& fromString, const String& byString) = 0;
         virtual void calculateAnimatedValue(float percentage, unsigned repeat, SVGSMILElement* resultElement) = 0;
@@ -105,7 +105,6 @@ namespace WebCore {
         void currentValuesFromKeyPoints(float percent, float& effectivePercent, String& from, String& to) const;
         float calculatePercentForSpline(float percent, unsigned splineIndex) const;
         
-    protected:
         // SVGExternalResourcesRequired
         DECLARE_ANIMATED_PROPERTY(SVGAnimationElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
 
diff --git a/WebCore/svg/SVGCircleElement.cpp b/WebCore/svg/SVGCircleElement.cpp
index bfd253d..7859fc5 100644
--- a/WebCore/svg/SVGCircleElement.cpp
+++ b/WebCore/svg/SVGCircleElement.cpp
@@ -32,11 +32,8 @@
 
 namespace WebCore {
 
-SVGCircleElement::SVGCircleElement(const QualifiedName& tagName, Document* doc)
-    : SVGStyledTransformableElement(tagName, doc)
-    , SVGTests()
-    , SVGLangSpace()
-    , SVGExternalResourcesRequired()
+inline SVGCircleElement::SVGCircleElement(const QualifiedName& tagName, Document* document)
+    : SVGStyledTransformableElement(tagName, document)
     , m_cx(LengthModeWidth)
     , m_cy(LengthModeHeight)
     , m_r(LengthModeOther)
@@ -48,10 +45,6 @@ PassRefPtr<SVGCircleElement> SVGCircleElement::create(const QualifiedName& tagNa
     return new SVGCircleElement(tagName, document);
 }
 
-SVGCircleElement::~SVGCircleElement()
-{
-}
-
 void SVGCircleElement::parseMappedAttribute(Attribute* attr)
 {
     if (attr->name() == SVGNames::cxAttr)
diff --git a/WebCore/svg/SVGCircleElement.h b/WebCore/svg/SVGCircleElement.h
index a64b23b..dd11792 100644
--- a/WebCore/svg/SVGCircleElement.h
+++ b/WebCore/svg/SVGCircleElement.h
@@ -36,8 +36,8 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGCircleElement> create(const QualifiedName&, Document*);
 
+    private:
         SVGCircleElement(const QualifiedName&, Document*);
-        virtual ~SVGCircleElement();
 
         virtual bool isValid() const { return SVGTests::isValid(); }
 
@@ -47,7 +47,6 @@ namespace WebCore {
 
         virtual Path toPathData() const;
 
-    private:
         virtual bool selfHasRelativeLengths() const;
 
         DECLARE_ANIMATED_PROPERTY(SVGCircleElement, SVGNames::cxAttr, SVGLength, Cx, cx)
diff --git a/WebCore/svg/SVGClipPathElement.cpp b/WebCore/svg/SVGClipPathElement.cpp
index 3e717dc..04afbce 100644
--- a/WebCore/svg/SVGClipPathElement.cpp
+++ b/WebCore/svg/SVGClipPathElement.cpp
@@ -34,11 +34,8 @@
 
 namespace WebCore {
 
-SVGClipPathElement::SVGClipPathElement(const QualifiedName& tagName, Document* doc)
-    : SVGStyledTransformableElement(tagName, doc)
-    , SVGTests()
-    , SVGLangSpace()
-    , SVGExternalResourcesRequired()
+inline SVGClipPathElement::SVGClipPathElement(const QualifiedName& tagName, Document* document)
+    : SVGStyledTransformableElement(tagName, document)
     , m_clipPathUnits(SVGUnitTypes::SVG_UNIT_TYPE_USERSPACEONUSE)
 {
 }
@@ -48,10 +45,6 @@ PassRefPtr<SVGClipPathElement> SVGClipPathElement::create(const QualifiedName& t
     return new SVGClipPathElement(tagName, document);
 }
 
-SVGClipPathElement::~SVGClipPathElement()
-{
-}
-
 void SVGClipPathElement::parseMappedAttribute(Attribute* attr)
 {
     if (attr->name() == SVGNames::clipPathUnitsAttr) {
diff --git a/WebCore/svg/SVGClipPathElement.h b/WebCore/svg/SVGClipPathElement.h
index 107bfef..7d8ada2 100644
--- a/WebCore/svg/SVGClipPathElement.h
+++ b/WebCore/svg/SVGClipPathElement.h
@@ -37,8 +37,8 @@ class SVGClipPathElement : public SVGStyledTransformableElement,
 public:
     static PassRefPtr<SVGClipPathElement> create(const QualifiedName&, Document*);
 
+private:
     SVGClipPathElement(const QualifiedName&, Document*);
-    virtual ~SVGClipPathElement();
 
     virtual bool isValid() const { return SVGTests::isValid(); }
     virtual bool needsPendingResourceHandling() const { return false; }
@@ -50,7 +50,6 @@ public:
 
     virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
 
-private:
     DECLARE_ANIMATED_PROPERTY(SVGClipPathElement, SVGNames::clipPathUnitsAttr, int, ClipPathUnits, clipPathUnits)
 
     // SVGExternalResourcesRequired
diff --git a/WebCore/svg/SVGColor.cpp b/WebCore/svg/SVGColor.cpp
index bacead9..75900ad 100644
--- a/WebCore/svg/SVGColor.cpp
+++ b/WebCore/svg/SVGColor.cpp
@@ -50,16 +50,6 @@ SVGColor::SVGColor(const Color& c)
 {
 }
 
-
-SVGColor::~SVGColor()
-{
-}
-
-unsigned short SVGColor::colorType() const
-{
-    return m_colorType;
-}
-
 PassRefPtr<RGBColor> SVGColor::rgbColor() const
 {
     return RGBColor::create(m_color.rgb());
@@ -103,11 +93,6 @@ String SVGColor::cssText() const
     return String();
 }
 
-const Color& SVGColor::color() const
-{
-    return m_color;
-}
-
 }
 
 // vim:ts=4:noet
diff --git a/WebCore/svg/SVGColor.h b/WebCore/svg/SVGColor.h
index c181b6b..f8b55f0 100644
--- a/WebCore/svg/SVGColor.h
+++ b/WebCore/svg/SVGColor.h
@@ -45,8 +45,6 @@ namespace WebCore {
             return adoptRef(new SVGColor(SVG_COLORTYPE_CURRENTCOLOR));
         }
 
-        virtual ~SVGColor();
-
         enum SVGColorType {
             SVG_COLORTYPE_UNKNOWN                   = 0,
             SVG_COLORTYPE_RGBCOLOR                  = 1,
@@ -55,7 +53,7 @@ namespace WebCore {
         };
 
         // 'SVGColor' functions
-        unsigned short colorType() const;
+        unsigned short colorType() const { return m_colorType; }
 
         PassRefPtr<RGBColor> rgbColor() const;
 
@@ -66,16 +64,15 @@ namespace WebCore {
         void setRGBColorICCColor(const String& rgbColor, const String& iccColor, ExceptionCode&);
         void setColor(unsigned short colorType, const String& rgbColor, const String& iccColor, ExceptionCode&);
 
-        virtual String cssText() const;
-
-        // Helpers
-        const Color& color() const;
+        const Color& color() const { return m_color; }
 
     protected:
         SVGColor();
         SVGColor(const String& color);
         SVGColor(const Color&);
 
+        virtual String cssText() const;
+
     private:
         SVGColor(SVGColorType);
 
diff --git a/WebCore/svg/SVGComponentTransferFunctionElement.cpp b/WebCore/svg/SVGComponentTransferFunctionElement.cpp
index 7c6cb85..c1750d7 100644
--- a/WebCore/svg/SVGComponentTransferFunctionElement.cpp
+++ b/WebCore/svg/SVGComponentTransferFunctionElement.cpp
@@ -30,17 +30,13 @@
 
 namespace WebCore {
 
-SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement(const QualifiedName& tagName, Document* doc)
-    : SVGElement(tagName, doc)
+SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement(const QualifiedName& tagName, Document* document)
+    : SVGElement(tagName, document)
     , m_type(FECOMPONENTTRANSFER_TYPE_UNKNOWN)
     , m_tableValues(SVGNumberList::create(SVGNames::tableValuesAttr))
-    , m_slope(1.0f)
-    , m_amplitude(1.0f)
-    , m_exponent(1.0f)
-{
-}
-
-SVGComponentTransferFunctionElement::~SVGComponentTransferFunctionElement()
+    , m_slope(1)
+    , m_amplitude(1)
+    , m_exponent(1)
 {
 }
 
diff --git a/WebCore/svg/SVGComponentTransferFunctionElement.h b/WebCore/svg/SVGComponentTransferFunctionElement.h
index 91f0767..8b888af 100644
--- a/WebCore/svg/SVGComponentTransferFunctionElement.h
+++ b/WebCore/svg/SVGComponentTransferFunctionElement.h
@@ -31,14 +31,14 @@ namespace WebCore {
 
     class SVGComponentTransferFunctionElement : public SVGElement {
     public:
+        ComponentTransferFunction transferFunction() const;
+
+    protected:
         SVGComponentTransferFunctionElement(const QualifiedName&, Document*);
-        virtual ~SVGComponentTransferFunctionElement();
 
         virtual void parseMappedAttribute(Attribute*);
         virtual void synchronizeProperty(const QualifiedName&);
         
-        ComponentTransferFunction transferFunction() const;
-
     private:
         DECLARE_ANIMATED_PROPERTY(SVGComponentTransferFunctionElement, SVGNames::typeAttr, int, Type, type)
         DECLARE_ANIMATED_PROPERTY(SVGComponentTransferFunctionElement, SVGNames::tableValuesAttr, SVGNumberList*, TableValues, tableValues)
diff --git a/WebCore/svg/SVGCursorElement.cpp b/WebCore/svg/SVGCursorElement.cpp
index 098d7c1..1ade433 100644
--- a/WebCore/svg/SVGCursorElement.cpp
+++ b/WebCore/svg/SVGCursorElement.cpp
@@ -30,11 +30,8 @@
 
 namespace WebCore {
 
-SVGCursorElement::SVGCursorElement(const QualifiedName& tagName, Document* doc)
-    : SVGElement(tagName, doc)
-    , SVGTests()
-    , SVGExternalResourcesRequired()
-    , SVGURIReference()
+inline SVGCursorElement::SVGCursorElement(const QualifiedName& tagName, Document* document)
+    : SVGElement(tagName, document)
     , m_x(LengthModeWidth)
     , m_y(LengthModeHeight)
 {
diff --git a/WebCore/svg/SVGCursorElement.h b/WebCore/svg/SVGCursorElement.h
index 6b1ce56..ce4d129 100644
--- a/WebCore/svg/SVGCursorElement.h
+++ b/WebCore/svg/SVGCursorElement.h
@@ -37,12 +37,14 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGCursorElement> create(const QualifiedName&, Document*);
 
-        SVGCursorElement(const QualifiedName&, Document*);
         virtual ~SVGCursorElement();
 
         void addClient(SVGElement*);
         void removeClient(SVGElement*);
 
+    private:
+        SVGCursorElement(const QualifiedName&, Document*);
+
         virtual bool isValid() const { return SVGTests::isValid(); }
 
         virtual void parseMappedAttribute(Attribute*);
@@ -51,7 +53,6 @@ namespace WebCore {
 
         virtual void addSubresourceAttributeURLs(ListHashSet<KURL>&) const;
 
-    private:
         DECLARE_ANIMATED_PROPERTY(SVGCursorElement, SVGNames::xAttr, SVGLength, X, x)
         DECLARE_ANIMATED_PROPERTY(SVGCursorElement, SVGNames::yAttr, SVGLength, Y, y)
 
diff --git a/WebCore/svg/SVGDefsElement.cpp b/WebCore/svg/SVGDefsElement.cpp
index e9329c1..0caa2dd 100644
--- a/WebCore/svg/SVGDefsElement.cpp
+++ b/WebCore/svg/SVGDefsElement.cpp
@@ -27,11 +27,8 @@
 
 namespace WebCore {
 
-SVGDefsElement::SVGDefsElement(const QualifiedName& tagName, Document* doc)
-    : SVGStyledTransformableElement(tagName, doc)
-    , SVGTests()
-    , SVGLangSpace()
-    , SVGExternalResourcesRequired()
+inline SVGDefsElement::SVGDefsElement(const QualifiedName& tagName, Document* document)
+    : SVGStyledTransformableElement(tagName, document)
 {
 }
 
@@ -40,10 +37,6 @@ PassRefPtr<SVGDefsElement> SVGDefsElement::create(const QualifiedName& tagName,
     return new SVGDefsElement(tagName, document);
 }
 
-SVGDefsElement::~SVGDefsElement()
-{
-}
-
 bool SVGDefsElement::isValid() const
 {
     return SVGTests::isValid();
diff --git a/WebCore/svg/SVGDefsElement.h b/WebCore/svg/SVGDefsElement.h
index da7cfc9..4a60bb5 100644
--- a/WebCore/svg/SVGDefsElement.h
+++ b/WebCore/svg/SVGDefsElement.h
@@ -36,15 +36,14 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGDefsElement> create(const QualifiedName&, Document*);
 
+    private:
         SVGDefsElement(const QualifiedName&, Document*);
-        virtual ~SVGDefsElement();
 
         virtual bool isValid() const;
 
         virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
         virtual void synchronizeProperty(const QualifiedName&);
 
-    private:
         // SVGExternalResourcesRequired
         DECLARE_ANIMATED_PROPERTY(SVGDefsElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
     };
diff --git a/WebCore/svg/SVGDescElement.cpp b/WebCore/svg/SVGDescElement.cpp
index 8cdeb0d..f0ef769 100644
--- a/WebCore/svg/SVGDescElement.cpp
+++ b/WebCore/svg/SVGDescElement.cpp
@@ -24,9 +24,8 @@
 
 namespace WebCore {
 
-SVGDescElement::SVGDescElement(const QualifiedName& tagName, Document *doc)
-    : SVGStyledElement(tagName, doc)
-    , SVGLangSpace()
+inline SVGDescElement::SVGDescElement(const QualifiedName& tagName, Document* document)
+    : SVGStyledElement(tagName, document)
 {
 }
 
@@ -35,10 +34,6 @@ PassRefPtr<SVGDescElement> SVGDescElement::create(const QualifiedName& tagName,
     return new SVGDescElement(tagName, document);
 }
 
-SVGDescElement::~SVGDescElement()
-{
-}
-
 String SVGDescElement::description() const
 {
     return textContent().simplifyWhiteSpace();
diff --git a/WebCore/svg/SVGDescElement.h b/WebCore/svg/SVGDescElement.h
index aed8a32..994007c 100644
--- a/WebCore/svg/SVGDescElement.h
+++ b/WebCore/svg/SVGDescElement.h
@@ -32,11 +32,11 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGDescElement> create(const QualifiedName&, Document*);
 
-        SVGDescElement(const QualifiedName&, Document*);
-        virtual ~SVGDescElement();
-
         String description() const;
 
+    private:
+        SVGDescElement(const QualifiedName&, Document*);
+
         virtual bool rendererIsNeeded(RenderStyle*) { return false; }
     };
 
diff --git a/WebCore/svg/SVGDocument.cpp b/WebCore/svg/SVGDocument.cpp
index c31ca9e..e6d53a4 100644
--- a/WebCore/svg/SVGDocument.cpp
+++ b/WebCore/svg/SVGDocument.cpp
@@ -40,10 +40,6 @@ SVGDocument::SVGDocument(Frame* frame, const KURL& url)
 {
 }
 
-SVGDocument::~SVGDocument()
-{
-}
-
 SVGSVGElement* SVGDocument::rootElement() const
 {
     Element* elem = documentElement();
diff --git a/WebCore/svg/SVGDocument.h b/WebCore/svg/SVGDocument.h
index b5d4076..58e3518 100644
--- a/WebCore/svg/SVGDocument.h
+++ b/WebCore/svg/SVGDocument.h
@@ -38,8 +38,6 @@ namespace WebCore {
             return adoptRef(new SVGDocument(frame, url));
         }
 
-        virtual ~SVGDocument();
-        
         SVGSVGElement* rootElement() const;
         
         void dispatchZoomEvent(float prevScale, float newScale);
diff --git a/WebCore/svg/SVGDocumentExtensions.cpp b/WebCore/svg/SVGDocumentExtensions.cpp
index 819d12b..6000797 100644
--- a/WebCore/svg/SVGDocumentExtensions.cpp
+++ b/WebCore/svg/SVGDocumentExtensions.cpp
@@ -40,8 +40,8 @@
 
 namespace WebCore {
 
-SVGDocumentExtensions::SVGDocumentExtensions(Document* doc)
-    : m_doc(doc)
+SVGDocumentExtensions::SVGDocumentExtensions(Document* document)
+    : m_document(document)
     , m_resourcesCache(new SVGResourcesCache)
 {
 }
@@ -148,12 +148,12 @@ static void reportMessage(Document* document, MessageLevel level, const String&
 
 void SVGDocumentExtensions::reportWarning(const String& message)
 {
-    reportMessage(m_doc, WarningMessageLevel, "Warning: " + message);
+    reportMessage(m_document, WarningMessageLevel, "Warning: " + message);
 }
 
 void SVGDocumentExtensions::reportError(const String& message)
 {
-    reportMessage(m_doc, ErrorMessageLevel, "Error: " + message);
+    reportMessage(m_document, ErrorMessageLevel, "Error: " + message);
 }
 
 void SVGDocumentExtensions::addPendingResource(const AtomicString& id, SVGStyledElement* obj)
diff --git a/WebCore/svg/SVGDocumentExtensions.h b/WebCore/svg/SVGDocumentExtensions.h
index da23cd0..e716e10 100644
--- a/WebCore/svg/SVGDocumentExtensions.h
+++ b/WebCore/svg/SVGDocumentExtensions.h
@@ -61,7 +61,7 @@ public:
     SVGResourcesCache* resourcesCache() const { return m_resourcesCache.get(); }
 
 private:
-    Document* m_doc; // weak reference
+    Document* m_document; // weak reference
     HashSet<SVGSVGElement*> m_timeContainers; // For SVG 1.2 support this will need to be made more general.
     HashMap<AtomicString, RenderSVGResourceContainer*> m_resources;
     HashMap<AtomicString, HashSet<SVGStyledElement*>*> m_pendingResources;
diff --git a/WebCore/svg/SVGElement.h b/WebCore/svg/SVGElement.h
index 255c7be..fb28279 100644
--- a/WebCore/svg/SVGElement.h
+++ b/WebCore/svg/SVGElement.h
@@ -49,8 +49,6 @@ namespace WebCore {
 
         SVGDocumentExtensions* accessDocumentSVGExtensions() const;
 
-        virtual void parseMappedAttribute(Attribute*);
-
         virtual bool isStyled() const { return false; }
         virtual bool isStyledTransformable() const { return false; }
         virtual bool isStyledLocatable() const { return false; }
@@ -62,9 +60,6 @@ namespace WebCore {
         // For SVGTests
         virtual bool isValid() const { return true; }
 
-        virtual bool rendererIsNeeded(RenderStyle*) { return false; }
-        virtual bool childShouldCreateRenderer(Node*) const;
-
         virtual void svgAttributeChanged(const QualifiedName&) { }
         virtual void synchronizeProperty(const QualifiedName&) { }
 
@@ -84,9 +79,12 @@ namespace WebCore {
     protected:
         SVGElement(const QualifiedName&, Document*);
 
+        virtual void parseMappedAttribute(Attribute*);
+
         virtual void finishParsingChildren();
         virtual void insertedIntoDocument();
         virtual void attributeChanged(Attribute*, bool preserveDecls = false);
+        virtual bool childShouldCreateRenderer(Node*) const;
 
         SVGElementRareData* rareSVGData() const;
         SVGElementRareData* ensureRareSVGData();
@@ -94,6 +92,8 @@ namespace WebCore {
     private:
         friend class SVGElementInstance;
 
+        virtual bool rendererIsNeeded(RenderStyle*) { return false; }
+
         virtual bool isSupported(StringImpl* feature, StringImpl* version) const;
 
         virtual ContainerNode* eventParentNode();
diff --git a/WebCore/svg/SVGElementInstanceList.h b/WebCore/svg/SVGElementInstanceList.h
index 4a4bbcb..87dffe1 100644
--- a/WebCore/svg/SVGElementInstanceList.h
+++ b/WebCore/svg/SVGElementInstanceList.h
@@ -29,14 +29,15 @@ namespace WebCore {
 
     class SVGElementInstanceList : public RefCounted<SVGElementInstanceList> {
     public:
-        static PassRefPtr<SVGElementInstanceList> create(PassRefPtr<SVGElementInstance> rootInstance) { return adoptRef(new SVGElementInstanceList(rootInstance)); }
+        static PassRefPtr<SVGElementInstanceList> create(PassRefPtr<SVGElementInstance> root) { return adoptRef(new SVGElementInstanceList(root)); }
         virtual ~SVGElementInstanceList();
 
         unsigned length() const;
         SVGElementInstance* item(unsigned index);
 
     private:
-        SVGElementInstanceList(PassRefPtr<SVGElementInstance> rootInstance);
+        SVGElementInstanceList(PassRefPtr<SVGElementInstance>);
+
         RefPtr<SVGElementInstance> m_rootInstance;
     };
 
diff --git a/WebCore/svg/SVGEllipseElement.cpp b/WebCore/svg/SVGEllipseElement.cpp
index d045a13..a8e7fa5 100644
--- a/WebCore/svg/SVGEllipseElement.cpp
+++ b/WebCore/svg/SVGEllipseElement.cpp
@@ -32,11 +32,8 @@
 
 namespace WebCore {
 
-SVGEllipseElement::SVGEllipseElement(const QualifiedName& tagName, Document* doc)
-    : SVGStyledTransformableElement(tagName, doc)
-    , SVGTests()
-    , SVGLangSpace()
-    , SVGExternalResourcesRequired()
+inline SVGEllipseElement::SVGEllipseElement(const QualifiedName& tagName, Document* document)
+    : SVGStyledTransformableElement(tagName, document)
     , m_cx(LengthModeWidth)
     , m_cy(LengthModeHeight)
     , m_rx(LengthModeWidth)
@@ -49,10 +46,6 @@ PassRefPtr<SVGEllipseElement> SVGEllipseElement::create(const QualifiedName& tag
     return new SVGEllipseElement(tagName, document);
 }
 
-SVGEllipseElement::~SVGEllipseElement()
-{
-}
-
 void SVGEllipseElement::parseMappedAttribute(Attribute* attr)
 {
     if (attr->name() == SVGNames::cxAttr)
diff --git a/WebCore/svg/SVGEllipseElement.h b/WebCore/svg/SVGEllipseElement.h
index a9ec29b..bee815c 100644
--- a/WebCore/svg/SVGEllipseElement.h
+++ b/WebCore/svg/SVGEllipseElement.h
@@ -36,8 +36,8 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGEllipseElement> create(const QualifiedName&, Document*);
 
+    private:
         SVGEllipseElement(const QualifiedName&, Document*);
-        virtual ~SVGEllipseElement();
         
         virtual bool isValid() const { return SVGTests::isValid(); }
 
@@ -47,7 +47,6 @@ namespace WebCore {
 
         virtual Path toPathData() const;
 
-    private:
         virtual bool selfHasRelativeLengths() const;
 
         DECLARE_ANIMATED_PROPERTY(SVGEllipseElement, SVGNames::cxAttr, SVGLength, Cx, cx)
diff --git a/WebCore/svg/SVGExternalResourcesRequired.cpp b/WebCore/svg/SVGExternalResourcesRequired.cpp
index 981b056..c976b0f 100644
--- a/WebCore/svg/SVGExternalResourcesRequired.cpp
+++ b/WebCore/svg/SVGExternalResourcesRequired.cpp
@@ -24,19 +24,9 @@
 #include "SVGExternalResourcesRequired.h"
 
 #include "Attr.h"
-#include "SVGElement.h"
-#include "SVGNames.h"
 
 namespace WebCore {
 
-SVGExternalResourcesRequired::SVGExternalResourcesRequired()
-{
-}
-
-SVGExternalResourcesRequired::~SVGExternalResourcesRequired()
-{
-}
-
 bool SVGExternalResourcesRequired::parseMappedAttribute(Attribute* attr)
 {
     if (attr->name() == SVGNames::externalResourcesRequiredAttr) {
diff --git a/WebCore/svg/SVGExternalResourcesRequired.h b/WebCore/svg/SVGExternalResourcesRequired.h
index 44b6ae7..6322538 100644
--- a/WebCore/svg/SVGExternalResourcesRequired.h
+++ b/WebCore/svg/SVGExternalResourcesRequired.h
@@ -36,8 +36,7 @@ namespace WebCore {
     // FIXME: When implementing animVal support, make sure that animVal==baseVal for externalResourcesRequired
     class SVGExternalResourcesRequired {
     public:
-        SVGExternalResourcesRequired();
-        virtual ~SVGExternalResourcesRequired();
+        virtual ~SVGExternalResourcesRequired() { }
 
         bool parseMappedAttribute(Attribute*);
         bool isKnownAttribute(const QualifiedName&);
diff --git a/WebCore/svg/SVGFEBlendElement.cpp b/WebCore/svg/SVGFEBlendElement.cpp
index 79e8287..b845da6 100644
--- a/WebCore/svg/SVGFEBlendElement.cpp
+++ b/WebCore/svg/SVGFEBlendElement.cpp
@@ -27,8 +27,8 @@
 
 namespace WebCore {
 
-SVGFEBlendElement::SVGFEBlendElement(const QualifiedName& tagName, Document* doc)
-    : SVGFilterPrimitiveStandardAttributes(tagName, doc)
+inline SVGFEBlendElement::SVGFEBlendElement(const QualifiedName& tagName, Document* document)
+    : SVGFilterPrimitiveStandardAttributes(tagName, document)
     , m_mode(FEBLEND_MODE_NORMAL)
 {
 }
@@ -38,10 +38,6 @@ PassRefPtr<SVGFEBlendElement> SVGFEBlendElement::create(const QualifiedName& tag
     return new SVGFEBlendElement(tagName, document);
 }
 
-SVGFEBlendElement::~SVGFEBlendElement()
-{
-}
-
 void SVGFEBlendElement::parseMappedAttribute(Attribute* attr)
 {
     const String& value = attr->value();
diff --git a/WebCore/svg/SVGFEBlendElement.h b/WebCore/svg/SVGFEBlendElement.h
index cf30533..41c8307 100644
--- a/WebCore/svg/SVGFEBlendElement.h
+++ b/WebCore/svg/SVGFEBlendElement.h
@@ -30,14 +30,13 @@ class SVGFEBlendElement : public SVGFilterPrimitiveStandardAttributes {
 public:
     static PassRefPtr<SVGFEBlendElement> create(const QualifiedName&, Document*);
 
+private:
     SVGFEBlendElement(const QualifiedName&, Document*);
-    virtual ~SVGFEBlendElement();
 
     virtual void parseMappedAttribute(Attribute*);
     virtual void synchronizeProperty(const QualifiedName&);
     virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*);
 
-private:
     DECLARE_ANIMATED_PROPERTY(SVGFEBlendElement, SVGNames::inAttr, String, In1, in1)
     DECLARE_ANIMATED_PROPERTY(SVGFEBlendElement, SVGNames::in2Attr, String, In2, in2)
     DECLARE_ANIMATED_PROPERTY(SVGFEBlendElement, SVGNames::modeAttr, int, Mode, mode)
diff --git a/WebCore/svg/SVGFEColorMatrixElement.cpp b/WebCore/svg/SVGFEColorMatrixElement.cpp
index fa2c67b..1925c0a 100644
--- a/WebCore/svg/SVGFEColorMatrixElement.cpp
+++ b/WebCore/svg/SVGFEColorMatrixElement.cpp
@@ -29,8 +29,8 @@
 
 namespace WebCore {
 
-SVGFEColorMatrixElement::SVGFEColorMatrixElement(const QualifiedName& tagName, Document* doc)
-    : SVGFilterPrimitiveStandardAttributes(tagName, doc)
+inline SVGFEColorMatrixElement::SVGFEColorMatrixElement(const QualifiedName& tagName, Document* document)
+    : SVGFilterPrimitiveStandardAttributes(tagName, document)
     , m_type(FECOLORMATRIX_TYPE_UNKNOWN)
     , m_values(SVGNumberList::create(SVGNames::valuesAttr))
 {
@@ -41,10 +41,6 @@ PassRefPtr<SVGFEColorMatrixElement> SVGFEColorMatrixElement::create(const Qualif
     return new SVGFEColorMatrixElement(tagName, document);
 }
 
-SVGFEColorMatrixElement::~SVGFEColorMatrixElement()
-{
-}
-
 void SVGFEColorMatrixElement::parseMappedAttribute(Attribute* attr)
 {
     const String& value = attr->value();
diff --git a/WebCore/svg/SVGFEColorMatrixElement.h b/WebCore/svg/SVGFEColorMatrixElement.h
index 8dc3997..873d530 100644
--- a/WebCore/svg/SVGFEColorMatrixElement.h
+++ b/WebCore/svg/SVGFEColorMatrixElement.h
@@ -32,14 +32,13 @@ class SVGFEColorMatrixElement : public SVGFilterPrimitiveStandardAttributes {
 public:
     static PassRefPtr<SVGFEColorMatrixElement> create(const QualifiedName&, Document*);
 
+private:
     SVGFEColorMatrixElement(const QualifiedName&, Document*);
-    virtual ~SVGFEColorMatrixElement();
 
     virtual void parseMappedAttribute(Attribute*);
     virtual void synchronizeProperty(const QualifiedName&);
     virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*);
 
-private:
     DECLARE_ANIMATED_PROPERTY(SVGFEColorMatrixElement, SVGNames::inAttr, String, In1, in1)
     DECLARE_ANIMATED_PROPERTY(SVGFEColorMatrixElement, SVGNames::typeAttr, int, Type, type)
     DECLARE_ANIMATED_PROPERTY(SVGFEColorMatrixElement, SVGNames::valuesAttr, SVGNumberList*, Values, values)
diff --git a/WebCore/svg/SVGFEComponentTransferElement.cpp b/WebCore/svg/SVGFEComponentTransferElement.cpp
index 24c2ae9..03f257a 100644
--- a/WebCore/svg/SVGFEComponentTransferElement.cpp
+++ b/WebCore/svg/SVGFEComponentTransferElement.cpp
@@ -33,8 +33,8 @@
 
 namespace WebCore {
 
-SVGFEComponentTransferElement::SVGFEComponentTransferElement(const QualifiedName& tagName, Document* doc)
-    : SVGFilterPrimitiveStandardAttributes(tagName, doc)
+inline SVGFEComponentTransferElement::SVGFEComponentTransferElement(const QualifiedName& tagName, Document* document)
+    : SVGFilterPrimitiveStandardAttributes(tagName, document)
 {
 }
 
@@ -43,10 +43,6 @@ PassRefPtr<SVGFEComponentTransferElement> SVGFEComponentTransferElement::create(
     return new SVGFEComponentTransferElement(tagName, document);
 }
 
-SVGFEComponentTransferElement::~SVGFEComponentTransferElement()
-{
-}
-
 void SVGFEComponentTransferElement::parseMappedAttribute(Attribute* attr)
 {
     const String& value = attr->value();
diff --git a/WebCore/svg/SVGFEComponentTransferElement.h b/WebCore/svg/SVGFEComponentTransferElement.h
index 5eba12f..957661e 100644
--- a/WebCore/svg/SVGFEComponentTransferElement.h
+++ b/WebCore/svg/SVGFEComponentTransferElement.h
@@ -31,14 +31,13 @@ class SVGFEComponentTransferElement : public SVGFilterPrimitiveStandardAttribute
 public:
     static PassRefPtr<SVGFEComponentTransferElement> create(const QualifiedName&, Document*);
 
+private:
     SVGFEComponentTransferElement(const QualifiedName&, Document*);
-    virtual ~SVGFEComponentTransferElement();
 
     virtual void parseMappedAttribute(Attribute*);
     virtual void synchronizeProperty(const QualifiedName&);
     virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*);
 
-private:
     DECLARE_ANIMATED_PROPERTY(SVGFEComponentTransferElement, SVGNames::inAttr, String, In1, in1)
 };
 
diff --git a/WebCore/svg/SVGFECompositeElement.cpp b/WebCore/svg/SVGFECompositeElement.cpp
index 824e1fc..03e8e70 100644
--- a/WebCore/svg/SVGFECompositeElement.cpp
+++ b/WebCore/svg/SVGFECompositeElement.cpp
@@ -28,8 +28,8 @@
 
 namespace WebCore {
 
-SVGFECompositeElement::SVGFECompositeElement(const QualifiedName& tagName, Document* doc)
-    : SVGFilterPrimitiveStandardAttributes(tagName, doc)
+inline SVGFECompositeElement::SVGFECompositeElement(const QualifiedName& tagName, Document* document)
+    : SVGFilterPrimitiveStandardAttributes(tagName, document)
     , m__operator(FECOMPOSITE_OPERATOR_OVER)
 {
 }
@@ -39,10 +39,6 @@ PassRefPtr<SVGFECompositeElement> SVGFECompositeElement::create(const QualifiedN
     return new SVGFECompositeElement(tagName, document);
 }
 
-SVGFECompositeElement::~SVGFECompositeElement()
-{
-}
-
 void SVGFECompositeElement::parseMappedAttribute(Attribute* attr)
 {
     const String& value = attr->value();
diff --git a/WebCore/svg/SVGFECompositeElement.h b/WebCore/svg/SVGFECompositeElement.h
index 36c2815..19683de 100644
--- a/WebCore/svg/SVGFECompositeElement.h
+++ b/WebCore/svg/SVGFECompositeElement.h
@@ -31,14 +31,13 @@ class SVGFECompositeElement : public SVGFilterPrimitiveStandardAttributes {
 public:
     static PassRefPtr<SVGFECompositeElement> create(const QualifiedName&, Document*);
 
+private:
     SVGFECompositeElement(const QualifiedName&, Document*);
-    virtual ~SVGFECompositeElement();
 
     virtual void parseMappedAttribute(Attribute*);
     virtual void synchronizeProperty(const QualifiedName&);
     virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*);
 
-private:
     DECLARE_ANIMATED_PROPERTY(SVGFECompositeElement, SVGNames::inAttr, String, In1, in1)
     DECLARE_ANIMATED_PROPERTY(SVGFECompositeElement, SVGNames::in2Attr, String, In2, in2)
     DECLARE_ANIMATED_PROPERTY(SVGFECompositeElement, SVGNames::operatorAttr, int, _operator, _operator)
diff --git a/WebCore/svg/SVGFEConvolveMatrixElement.cpp b/WebCore/svg/SVGFEConvolveMatrixElement.cpp
index abb318b..97bd603 100644
--- a/WebCore/svg/SVGFEConvolveMatrixElement.cpp
+++ b/WebCore/svg/SVGFEConvolveMatrixElement.cpp
@@ -38,8 +38,8 @@ namespace WebCore {
 char SVGKernelUnitLengthXAttrIdentifier[] = "SVGKernelUnitLengthXAttr";
 char SVGKernelUnitLengthYAttrIdentifier[] = "SVGKernelUnitLengthYAttr";
 
-SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement(const QualifiedName& tagName, Document* doc)
-    : SVGFilterPrimitiveStandardAttributes(tagName, doc)
+inline SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement(const QualifiedName& tagName, Document* document)
+    : SVGFilterPrimitiveStandardAttributes(tagName, document)
     , m_kernelMatrix(SVGNumberList::create(SVGNames::kernelMatrixAttr))
     , m_edgeMode(EDGEMODE_DUPLICATE)
 {
@@ -50,10 +50,6 @@ PassRefPtr<SVGFEConvolveMatrixElement> SVGFEConvolveMatrixElement::create(const
     return new SVGFEConvolveMatrixElement(tagName, document);
 }
 
-SVGFEConvolveMatrixElement::~SVGFEConvolveMatrixElement()
-{
-}
-
 void SVGFEConvolveMatrixElement::parseMappedAttribute(Attribute* attr)
 {
     const String& value = attr->value();
diff --git a/WebCore/svg/SVGFEConvolveMatrixElement.h b/WebCore/svg/SVGFEConvolveMatrixElement.h
index 09347c2..e70b768 100644
--- a/WebCore/svg/SVGFEConvolveMatrixElement.h
+++ b/WebCore/svg/SVGFEConvolveMatrixElement.h
@@ -31,16 +31,15 @@ class SVGFEConvolveMatrixElement : public SVGFilterPrimitiveStandardAttributes {
 public:
     static PassRefPtr<SVGFEConvolveMatrixElement> create(const QualifiedName&, Document*);
 
-    SVGFEConvolveMatrixElement(const QualifiedName&, Document*);
-    virtual ~SVGFEConvolveMatrixElement();
-
     void setOrder(float orderX, float orderY);
     void setKernelUnitLength(float kernelUnitLengthX, float kernelUnitLengthY);
 
+private:
+    SVGFEConvolveMatrixElement(const QualifiedName&, Document*);
+
     virtual void parseMappedAttribute(Attribute*);
     virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*);
 
-private:
     DECLARE_ANIMATED_PROPERTY(SVGFEConvolveMatrixElement, SVGNames::inAttr, String, In1, in1)
     DECLARE_ANIMATED_PROPERTY(SVGFEConvolveMatrixElement, SVGNames::orderXAttr, long, OrderX, orderX)
     DECLARE_ANIMATED_PROPERTY(SVGFEConvolveMatrixElement, SVGNames::orderYAttr, long, OrderY, orderY)
diff --git a/WebCore/svg/SVGFEDiffuseLightingElement.cpp b/WebCore/svg/SVGFEDiffuseLightingElement.cpp
index 587f6f3..c7a1bab 100644
--- a/WebCore/svg/SVGFEDiffuseLightingElement.cpp
+++ b/WebCore/svg/SVGFEDiffuseLightingElement.cpp
@@ -35,10 +35,10 @@ namespace WebCore {
 char SVGKernelUnitLengthXIdentifier[] = "SVGKernelUnitLengthX";
 char SVGKernelUnitLengthYIdentifier[] = "SVGKernelUnitLengthY";
 
-SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement(const QualifiedName& tagName, Document* doc)
-    : SVGFilterPrimitiveStandardAttributes(tagName, doc)
-    , m_diffuseConstant(1.0f)
-    , m_surfaceScale(1.0f)
+inline SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement(const QualifiedName& tagName, Document* document)
+    : SVGFilterPrimitiveStandardAttributes(tagName, document)
+    , m_diffuseConstant(1)
+    , m_surfaceScale(1)
 {
 }
 
@@ -47,10 +47,6 @@ PassRefPtr<SVGFEDiffuseLightingElement> SVGFEDiffuseLightingElement::create(cons
     return new SVGFEDiffuseLightingElement(tagName, document);
 }
 
-SVGFEDiffuseLightingElement::~SVGFEDiffuseLightingElement()
-{
-}
-
 void SVGFEDiffuseLightingElement::parseMappedAttribute(Attribute* attr)
 {
     const String& value = attr->value();
diff --git a/WebCore/svg/SVGFEDiffuseLightingElement.h b/WebCore/svg/SVGFEDiffuseLightingElement.h
index 4150f31..e0dbfc4 100644
--- a/WebCore/svg/SVGFEDiffuseLightingElement.h
+++ b/WebCore/svg/SVGFEDiffuseLightingElement.h
@@ -38,15 +38,14 @@ class SVGFEDiffuseLightingElement : public SVGFilterPrimitiveStandardAttributes
 public:
     static PassRefPtr<SVGFEDiffuseLightingElement> create(const QualifiedName&, Document*);
 
+private:
     SVGFEDiffuseLightingElement(const QualifiedName&, Document*);
-    virtual ~SVGFEDiffuseLightingElement();
 
     virtual void parseMappedAttribute(Attribute*);
     virtual void svgAttributeChanged(const QualifiedName&);
     virtual void synchronizeProperty(const QualifiedName&);
     virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*);
 
-private:
     DECLARE_ANIMATED_PROPERTY(SVGFEDiffuseLightingElement, SVGNames::inAttr, String, In1, in1)
     DECLARE_ANIMATED_PROPERTY(SVGFEDiffuseLightingElement, SVGNames::diffuseConstantAttr, float, DiffuseConstant, diffuseConstant)
     DECLARE_ANIMATED_PROPERTY(SVGFEDiffuseLightingElement, SVGNames::surfaceScaleAttr, float, SurfaceScale, surfaceScale)
diff --git a/WebCore/svg/SVGFEDisplacementMapElement.cpp b/WebCore/svg/SVGFEDisplacementMapElement.cpp
index 0dce92e..14c751c 100644
--- a/WebCore/svg/SVGFEDisplacementMapElement.cpp
+++ b/WebCore/svg/SVGFEDisplacementMapElement.cpp
@@ -26,8 +26,8 @@
 
 namespace WebCore {
 
-SVGFEDisplacementMapElement::SVGFEDisplacementMapElement(const QualifiedName& tagName, Document* doc)
-    : SVGFilterPrimitiveStandardAttributes(tagName, doc)
+inline SVGFEDisplacementMapElement::SVGFEDisplacementMapElement(const QualifiedName& tagName, Document* document)
+    : SVGFilterPrimitiveStandardAttributes(tagName, document)
     , m_xChannelSelector(CHANNEL_A)
     , m_yChannelSelector(CHANNEL_A)
 {
@@ -38,10 +38,6 @@ PassRefPtr<SVGFEDisplacementMapElement> SVGFEDisplacementMapElement::create(cons
     return new SVGFEDisplacementMapElement(tagName, document);
 }
 
-SVGFEDisplacementMapElement::~SVGFEDisplacementMapElement()
-{
-}
-
 ChannelSelectorType SVGFEDisplacementMapElement::stringToChannel(const String& key)
 {
     if (key == "R")
diff --git a/WebCore/svg/SVGFEDisplacementMapElement.h b/WebCore/svg/SVGFEDisplacementMapElement.h
index b90f1b7..239c2c7 100644
--- a/WebCore/svg/SVGFEDisplacementMapElement.h
+++ b/WebCore/svg/SVGFEDisplacementMapElement.h
@@ -30,16 +30,15 @@ class SVGFEDisplacementMapElement : public SVGFilterPrimitiveStandardAttributes
 public:
     static PassRefPtr<SVGFEDisplacementMapElement> create(const QualifiedName&, Document*);
 
-    SVGFEDisplacementMapElement(const QualifiedName& tagName, Document*);
-    virtual ~SVGFEDisplacementMapElement();
-    
     static ChannelSelectorType stringToChannel(const String&);
     
+private:
+    SVGFEDisplacementMapElement(const QualifiedName& tagName, Document*);
+    
     virtual void parseMappedAttribute(Attribute*);
     virtual void synchronizeProperty(const QualifiedName&);
     virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*);
     
-private:
     DECLARE_ANIMATED_PROPERTY(SVGFEDisplacementMapElement, SVGNames::inAttr, String, In1, in1)
     DECLARE_ANIMATED_PROPERTY(SVGFEDisplacementMapElement, SVGNames::in2Attr, String, In2, in2)
     DECLARE_ANIMATED_PROPERTY(SVGFEDisplacementMapElement, SVGNames::xChannelSelectorAttr, int, XChannelSelector, xChannelSelector)
diff --git a/WebCore/svg/SVGFEDistantLightElement.cpp b/WebCore/svg/SVGFEDistantLightElement.cpp
index b31a4cd..f7d4266 100644
--- a/WebCore/svg/SVGFEDistantLightElement.cpp
+++ b/WebCore/svg/SVGFEDistantLightElement.cpp
@@ -25,8 +25,8 @@
 
 namespace WebCore {
 
-SVGFEDistantLightElement::SVGFEDistantLightElement(const QualifiedName& tagName, Document* doc)
-    : SVGFELightElement(tagName, doc)
+inline SVGFEDistantLightElement::SVGFEDistantLightElement(const QualifiedName& tagName, Document* document)
+    : SVGFELightElement(tagName, document)
 {
 }
 
@@ -35,10 +35,6 @@ PassRefPtr<SVGFEDistantLightElement> SVGFEDistantLightElement::create(const Qual
     return new SVGFEDistantLightElement(tagName, document);
 }
 
-SVGFEDistantLightElement::~SVGFEDistantLightElement()
-{
-}
-
 PassRefPtr<LightSource> SVGFEDistantLightElement::lightSource() const
 {
     return DistantLightSource::create(azimuth(), elevation());
diff --git a/WebCore/svg/SVGFEDistantLightElement.h b/WebCore/svg/SVGFEDistantLightElement.h
index 16889e3..9024cce 100644
--- a/WebCore/svg/SVGFEDistantLightElement.h
+++ b/WebCore/svg/SVGFEDistantLightElement.h
@@ -29,8 +29,8 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGFEDistantLightElement> create(const QualifiedName&, Document*);
 
+    private:
         SVGFEDistantLightElement(const QualifiedName&, Document*);
-        virtual ~SVGFEDistantLightElement();
 
         virtual PassRefPtr<LightSource> lightSource() const;
     };
diff --git a/WebCore/svg/SVGFEFloodElement.cpp b/WebCore/svg/SVGFEFloodElement.cpp
index d9460e9..58f2754 100644
--- a/WebCore/svg/SVGFEFloodElement.cpp
+++ b/WebCore/svg/SVGFEFloodElement.cpp
@@ -29,8 +29,8 @@
 
 namespace WebCore {
 
-SVGFEFloodElement::SVGFEFloodElement(const QualifiedName& tagName, Document* doc)
-    : SVGFilterPrimitiveStandardAttributes(tagName, doc)
+inline SVGFEFloodElement::SVGFEFloodElement(const QualifiedName& tagName, Document* document)
+    : SVGFilterPrimitiveStandardAttributes(tagName, document)
 {
 }
 
@@ -39,10 +39,6 @@ PassRefPtr<SVGFEFloodElement> SVGFEFloodElement::create(const QualifiedName& tag
     return new SVGFEFloodElement(tagName, document);
 }
 
-SVGFEFloodElement::~SVGFEFloodElement()
-{
-}
-
 PassRefPtr<FilterEffect> SVGFEFloodElement::build(SVGFilterBuilder*)
 {
     RefPtr<RenderStyle> filterStyle = styleForRenderer();
diff --git a/WebCore/svg/SVGFEFloodElement.h b/WebCore/svg/SVGFEFloodElement.h
index 4e21c37..2f7d94d 100644
--- a/WebCore/svg/SVGFEFloodElement.h
+++ b/WebCore/svg/SVGFEFloodElement.h
@@ -31,8 +31,8 @@ class SVGFEFloodElement : public SVGFilterPrimitiveStandardAttributes {
 public:
     static PassRefPtr<SVGFEFloodElement> create(const QualifiedName&, Document*);
 
+private:
     SVGFEFloodElement(const QualifiedName&, Document*);
-    virtual ~SVGFEFloodElement();
 
     virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*);
 };
diff --git a/WebCore/svg/SVGFEFuncAElement.cpp b/WebCore/svg/SVGFEFuncAElement.cpp
index 506eb7f..93a6aa6 100644
--- a/WebCore/svg/SVGFEFuncAElement.cpp
+++ b/WebCore/svg/SVGFEFuncAElement.cpp
@@ -25,8 +25,8 @@
 
 namespace WebCore {
 
-SVGFEFuncAElement::SVGFEFuncAElement(const QualifiedName& tagName, Document* doc)
-    : SVGComponentTransferFunctionElement(tagName, doc)
+inline SVGFEFuncAElement::SVGFEFuncAElement(const QualifiedName& tagName, Document* document)
+    : SVGComponentTransferFunctionElement(tagName, document)
 {
 }
 
@@ -35,10 +35,6 @@ PassRefPtr<SVGFEFuncAElement> SVGFEFuncAElement::create(const QualifiedName& tag
     return new SVGFEFuncAElement(tagName, document);
 }
 
-SVGFEFuncAElement::~SVGFEFuncAElement()
-{
-}
-
 }
 
 #endif // ENABLE(SVG)
diff --git a/WebCore/svg/SVGFEFuncAElement.h b/WebCore/svg/SVGFEFuncAElement.h
index e6aca0c..f92ad5b 100644
--- a/WebCore/svg/SVGFEFuncAElement.h
+++ b/WebCore/svg/SVGFEFuncAElement.h
@@ -30,8 +30,8 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGFEFuncAElement> create(const QualifiedName&, Document*);
 
+    private:
         SVGFEFuncAElement(const QualifiedName&, Document*);
-        virtual ~SVGFEFuncAElement();
     };
 
 } // namespace WebCore
diff --git a/WebCore/svg/SVGFEFuncBElement.cpp b/WebCore/svg/SVGFEFuncBElement.cpp
index b2eed4b..fa6609f 100644
--- a/WebCore/svg/SVGFEFuncBElement.cpp
+++ b/WebCore/svg/SVGFEFuncBElement.cpp
@@ -25,8 +25,8 @@
 
 namespace WebCore {
 
-SVGFEFuncBElement::SVGFEFuncBElement(const QualifiedName& tagName, Document *doc)
-    : SVGComponentTransferFunctionElement(tagName, doc)
+inline SVGFEFuncBElement::SVGFEFuncBElement(const QualifiedName& tagName, Document* document)
+    : SVGComponentTransferFunctionElement(tagName, document)
 {
 }
 
@@ -35,10 +35,6 @@ PassRefPtr<SVGFEFuncBElement> SVGFEFuncBElement::create(const QualifiedName& tag
     return new SVGFEFuncBElement(tagName, document);
 }
 
-SVGFEFuncBElement::~SVGFEFuncBElement()
-{
-}
-
 }
 
 #endif // ENABLE(SVG)
diff --git a/WebCore/svg/SVGFEFuncBElement.h b/WebCore/svg/SVGFEFuncBElement.h
index 0180f56..ea664f5 100644
--- a/WebCore/svg/SVGFEFuncBElement.h
+++ b/WebCore/svg/SVGFEFuncBElement.h
@@ -30,8 +30,8 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGFEFuncBElement> create(const QualifiedName&, Document*);
 
+    private:
         SVGFEFuncBElement(const QualifiedName&, Document*);
-        virtual ~SVGFEFuncBElement();
     };
 
 } // namespace WebCore
diff --git a/WebCore/svg/SVGFEFuncGElement.cpp b/WebCore/svg/SVGFEFuncGElement.cpp
index 5fa7ca0..c225145 100644
--- a/WebCore/svg/SVGFEFuncGElement.cpp
+++ b/WebCore/svg/SVGFEFuncGElement.cpp
@@ -25,8 +25,8 @@
 
 namespace WebCore {
 
-SVGFEFuncGElement::SVGFEFuncGElement(const QualifiedName& tagName, Document* doc)
-    : SVGComponentTransferFunctionElement(tagName, doc)
+inline SVGFEFuncGElement::SVGFEFuncGElement(const QualifiedName& tagName, Document* document)
+    : SVGComponentTransferFunctionElement(tagName, document)
 {
 }
 
@@ -35,10 +35,6 @@ PassRefPtr<SVGFEFuncGElement> SVGFEFuncGElement::create(const QualifiedName& tag
     return new SVGFEFuncGElement(tagName, document);
 }
 
-SVGFEFuncGElement::~SVGFEFuncGElement()
-{
-}
-
 }
 
 #endif // ENABLE(SVG)
diff --git a/WebCore/svg/SVGFEFuncGElement.h b/WebCore/svg/SVGFEFuncGElement.h
index d24c467..df32106 100644
--- a/WebCore/svg/SVGFEFuncGElement.h
+++ b/WebCore/svg/SVGFEFuncGElement.h
@@ -30,8 +30,8 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGFEFuncGElement> create(const QualifiedName&, Document*);
 
+    private:
         SVGFEFuncGElement(const QualifiedName&, Document*);
-        virtual ~SVGFEFuncGElement();
     };
 
 } // namespace WebCore
diff --git a/WebCore/svg/SVGFEFuncRElement.cpp b/WebCore/svg/SVGFEFuncRElement.cpp
index 29cd570..9c5e9a4 100644
--- a/WebCore/svg/SVGFEFuncRElement.cpp
+++ b/WebCore/svg/SVGFEFuncRElement.cpp
@@ -25,8 +25,8 @@
 
 namespace WebCore {
 
-SVGFEFuncRElement::SVGFEFuncRElement(const QualifiedName& tagName, Document* doc)
-    : SVGComponentTransferFunctionElement(tagName, doc)
+inline SVGFEFuncRElement::SVGFEFuncRElement(const QualifiedName& tagName, Document* document)
+    : SVGComponentTransferFunctionElement(tagName, document)
 {
 }
 
@@ -35,10 +35,6 @@ PassRefPtr<SVGFEFuncRElement> SVGFEFuncRElement::create(const QualifiedName& tag
     return new SVGFEFuncRElement(tagName, document);
 }
 
-SVGFEFuncRElement::~SVGFEFuncRElement()
-{
-}
-
 }
 
 #endif // ENABLE(SVG)
diff --git a/WebCore/svg/SVGFEFuncRElement.h b/WebCore/svg/SVGFEFuncRElement.h
index e367bd8..601095f 100644
--- a/WebCore/svg/SVGFEFuncRElement.h
+++ b/WebCore/svg/SVGFEFuncRElement.h
@@ -30,8 +30,8 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGFEFuncRElement> create(const QualifiedName&, Document*);
 
+    private:
         SVGFEFuncRElement(const QualifiedName&, Document*);
-        virtual ~SVGFEFuncRElement();
     };
 
 } // namespace WebCore
diff --git a/WebCore/svg/SVGFEGaussianBlurElement.cpp b/WebCore/svg/SVGFEGaussianBlurElement.cpp
index 31bc516..9d5b721 100644
--- a/WebCore/svg/SVGFEGaussianBlurElement.cpp
+++ b/WebCore/svg/SVGFEGaussianBlurElement.cpp
@@ -32,8 +32,8 @@ namespace WebCore {
 char SVGStdDeviationXAttrIdentifier[] = "SVGStdDeviationXAttr";
 char SVGStdDeviationYAttrIdentifier[] = "SVGStdDeviationYAttr";
 
-SVGFEGaussianBlurElement::SVGFEGaussianBlurElement(const QualifiedName& tagName, Document* doc)
-    : SVGFilterPrimitiveStandardAttributes(tagName, doc)
+inline SVGFEGaussianBlurElement::SVGFEGaussianBlurElement(const QualifiedName& tagName, Document* document)
+    : SVGFilterPrimitiveStandardAttributes(tagName, document)
 {
 }
 
@@ -42,10 +42,6 @@ PassRefPtr<SVGFEGaussianBlurElement> SVGFEGaussianBlurElement::create(const Qual
     return new SVGFEGaussianBlurElement(tagName, document);
 }
 
-SVGFEGaussianBlurElement::~SVGFEGaussianBlurElement()
-{
-}
-
 void SVGFEGaussianBlurElement::setStdDeviation(float, float)
 {
     // FIXME: Needs an implementation.
diff --git a/WebCore/svg/SVGFEGaussianBlurElement.h b/WebCore/svg/SVGFEGaussianBlurElement.h
index 3465f82..36b7383 100644
--- a/WebCore/svg/SVGFEGaussianBlurElement.h
+++ b/WebCore/svg/SVGFEGaussianBlurElement.h
@@ -34,16 +34,15 @@ class SVGFEGaussianBlurElement : public SVGFilterPrimitiveStandardAttributes {
 public:
     static PassRefPtr<SVGFEGaussianBlurElement> create(const QualifiedName&, Document*);
 
-    SVGFEGaussianBlurElement(const QualifiedName&, Document*);
-    virtual ~SVGFEGaussianBlurElement();
-
     void setStdDeviation(float stdDeviationX, float stdDeviationY);
 
+private:
+    SVGFEGaussianBlurElement(const QualifiedName&, Document*);
+
     virtual void parseMappedAttribute(Attribute*);
     virtual void synchronizeProperty(const QualifiedName&);
     virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*);
 
-private:
     DECLARE_ANIMATED_PROPERTY(SVGFEGaussianBlurElement, SVGNames::inAttr, String, In1, in1)
     DECLARE_ANIMATED_PROPERTY_MULTIPLE_WRAPPERS(SVGFEGaussianBlurElement, SVGNames::stdDeviationAttr, SVGStdDeviationXAttrIdentifier, float, StdDeviationX, stdDeviationX)
     DECLARE_ANIMATED_PROPERTY_MULTIPLE_WRAPPERS(SVGFEGaussianBlurElement, SVGNames::stdDeviationAttr, SVGStdDeviationYAttrIdentifier, float, StdDeviationY, stdDeviationY)
diff --git a/WebCore/svg/SVGFEImageElement.cpp b/WebCore/svg/SVGFEImageElement.cpp
index e6354d5..ddb6e57 100644
--- a/WebCore/svg/SVGFEImageElement.cpp
+++ b/WebCore/svg/SVGFEImageElement.cpp
@@ -37,11 +37,8 @@
 
 namespace WebCore {
 
-SVGFEImageElement::SVGFEImageElement(const QualifiedName& tagName, Document* doc)
-    : SVGFilterPrimitiveStandardAttributes(tagName, doc)
-    , SVGURIReference()
-    , SVGLangSpace()
-    , SVGExternalResourcesRequired()
+inline SVGFEImageElement::SVGFEImageElement(const QualifiedName& tagName, Document* document)
+    : SVGFilterPrimitiveStandardAttributes(tagName, document)
 {
 }
 
diff --git a/WebCore/svg/SVGFEImageElement.h b/WebCore/svg/SVGFEImageElement.h
index e17b554..b5fad48 100644
--- a/WebCore/svg/SVGFEImageElement.h
+++ b/WebCore/svg/SVGFEImageElement.h
@@ -42,9 +42,11 @@ class SVGFEImageElement : public SVGFilterPrimitiveStandardAttributes,
 public:
     static PassRefPtr<SVGFEImageElement> create(const QualifiedName&, Document*);
 
-    SVGFEImageElement(const QualifiedName&, Document*);
     virtual ~SVGFEImageElement();
 
+private:
+    SVGFEImageElement(const QualifiedName&, Document*);
+
     virtual void parseMappedAttribute(Attribute*);
     virtual void synchronizeProperty(const QualifiedName&);
     virtual void notifyFinished(CachedResource*);
@@ -52,7 +54,6 @@ public:
     virtual void addSubresourceAttributeURLs(ListHashSet<KURL>&) const;
     virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*);
 
-private:
     void requestImageResource();
 
     DECLARE_ANIMATED_PROPERTY(SVGFEImageElement, SVGNames::preserveAspectRatioAttr, SVGPreserveAspectRatio, PreserveAspectRatio, preserveAspectRatio)
diff --git a/WebCore/svg/SVGFELightElement.cpp b/WebCore/svg/SVGFELightElement.cpp
index 5975033..dc10cf9 100644
--- a/WebCore/svg/SVGFELightElement.cpp
+++ b/WebCore/svg/SVGFELightElement.cpp
@@ -30,13 +30,9 @@
 
 namespace WebCore {
 
-SVGFELightElement::SVGFELightElement(const QualifiedName& tagName, Document* doc)
-    : SVGElement(tagName, doc)
-    , m_specularExponent(1.0f)
-{
-}
-
-SVGFELightElement::~SVGFELightElement()
+SVGFELightElement::SVGFELightElement(const QualifiedName& tagName, Document* document)
+    : SVGElement(tagName, document)
+    , m_specularExponent(1)
 {
 }
 
diff --git a/WebCore/svg/SVGFELightElement.h b/WebCore/svg/SVGFELightElement.h
index d0874cb..b86204d 100644
--- a/WebCore/svg/SVGFELightElement.h
+++ b/WebCore/svg/SVGFELightElement.h
@@ -31,16 +31,17 @@ namespace WebCore {
 
 class SVGFELightElement : public SVGElement {
 public:
-    SVGFELightElement(const QualifiedName&, Document*);
-    virtual ~SVGFELightElement();
-        
     virtual PassRefPtr<LightSource> lightSource() const = 0;
+
+protected:
+    SVGFELightElement(const QualifiedName&, Document*);
+
+private:
     virtual void parseMappedAttribute(Attribute*);
     virtual void svgAttributeChanged(const QualifiedName&);
     virtual void synchronizeProperty(const QualifiedName&);
     virtual void childrenChanged(bool changedByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0);
 
-private:
     DECLARE_ANIMATED_PROPERTY(SVGFELightElement, SVGNames::azimuthAttr, float, Azimuth, azimuth)
     DECLARE_ANIMATED_PROPERTY(SVGFELightElement, SVGNames::elevationAttr, float, Elevation, elevation)
     DECLARE_ANIMATED_PROPERTY(SVGFELightElement, SVGNames::xAttr, float, X, x)
diff --git a/WebCore/svg/SVGFEMergeElement.cpp b/WebCore/svg/SVGFEMergeElement.cpp
index f74afd4..f908a39 100644
--- a/WebCore/svg/SVGFEMergeElement.cpp
+++ b/WebCore/svg/SVGFEMergeElement.cpp
@@ -27,8 +27,8 @@
 
 namespace WebCore {
 
-SVGFEMergeElement::SVGFEMergeElement(const QualifiedName& tagName, Document* doc)
-    : SVGFilterPrimitiveStandardAttributes(tagName, doc)
+inline SVGFEMergeElement::SVGFEMergeElement(const QualifiedName& tagName, Document* document)
+    : SVGFilterPrimitiveStandardAttributes(tagName, document)
 {
 }
 
@@ -37,10 +37,6 @@ PassRefPtr<SVGFEMergeElement> SVGFEMergeElement::create(const QualifiedName& tag
     return new SVGFEMergeElement(tagName, document);
 }
 
-SVGFEMergeElement::~SVGFEMergeElement()
-{
-}
-
 PassRefPtr<FilterEffect> SVGFEMergeElement::build(SVGFilterBuilder* filterBuilder)
 {
     Vector<RefPtr<FilterEffect> > mergeInputs;
diff --git a/WebCore/svg/SVGFEMergeElement.h b/WebCore/svg/SVGFEMergeElement.h
index 9059893..c07be4c 100644
--- a/WebCore/svg/SVGFEMergeElement.h
+++ b/WebCore/svg/SVGFEMergeElement.h
@@ -31,8 +31,8 @@ class SVGFEMergeElement : public SVGFilterPrimitiveStandardAttributes {
 public:
     static PassRefPtr<SVGFEMergeElement> create(const QualifiedName&, Document*);
 
+private:
     SVGFEMergeElement(const QualifiedName&, Document*);
-    virtual ~SVGFEMergeElement();
 
     virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*);
 };
diff --git a/WebCore/svg/SVGFEMergeNodeElement.cpp b/WebCore/svg/SVGFEMergeNodeElement.cpp
index 55c3cd0..f81c4e4 100644
--- a/WebCore/svg/SVGFEMergeNodeElement.cpp
+++ b/WebCore/svg/SVGFEMergeNodeElement.cpp
@@ -27,8 +27,8 @@
 
 namespace WebCore {
 
-SVGFEMergeNodeElement::SVGFEMergeNodeElement(const QualifiedName& tagName, Document* doc)
-    : SVGElement(tagName, doc)
+inline SVGFEMergeNodeElement::SVGFEMergeNodeElement(const QualifiedName& tagName, Document* document)
+    : SVGElement(tagName, document)
 {
 }
 
@@ -37,10 +37,6 @@ PassRefPtr<SVGFEMergeNodeElement> SVGFEMergeNodeElement::create(const QualifiedN
     return new SVGFEMergeNodeElement(tagName, document);
 }
 
-SVGFEMergeNodeElement::~SVGFEMergeNodeElement()
-{
-}
-
 void SVGFEMergeNodeElement::parseMappedAttribute(Attribute* attr)
 {
     const String& value = attr->value();
diff --git a/WebCore/svg/SVGFEMergeNodeElement.h b/WebCore/svg/SVGFEMergeNodeElement.h
index 64ecc51..65c5d3d 100644
--- a/WebCore/svg/SVGFEMergeNodeElement.h
+++ b/WebCore/svg/SVGFEMergeNodeElement.h
@@ -31,13 +31,12 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGFEMergeNodeElement> create(const QualifiedName&, Document*);
 
+    private:
         SVGFEMergeNodeElement(const QualifiedName&, Document*);
-        virtual ~SVGFEMergeNodeElement();
 
         virtual void parseMappedAttribute(Attribute*);
         virtual void synchronizeProperty(const QualifiedName&);
 
-    private:
         DECLARE_ANIMATED_PROPERTY(SVGFEMergeNodeElement, SVGNames::inAttr, String, In1, in1)
     };
 
diff --git a/WebCore/svg/SVGFEMorphologyElement.cpp b/WebCore/svg/SVGFEMorphologyElement.cpp
index 82867b5..8ed89ce 100644
--- a/WebCore/svg/SVGFEMorphologyElement.cpp
+++ b/WebCore/svg/SVGFEMorphologyElement.cpp
@@ -31,7 +31,7 @@ namespace WebCore {
 char SVGRadiusXAttrIdentifier[] = "SVGRadiusXAttr";
 char SVGRadiusYAttrIdentifier[] = "SVGRadiusYAttr";
 
-SVGFEMorphologyElement::SVGFEMorphologyElement(const QualifiedName& tagName, Document* document)
+inline SVGFEMorphologyElement::SVGFEMorphologyElement(const QualifiedName& tagName, Document* document)
     : SVGFilterPrimitiveStandardAttributes(tagName, document)
     , m__operator(FEMORPHOLOGY_OPERATOR_ERODE)
 {
@@ -42,10 +42,6 @@ PassRefPtr<SVGFEMorphologyElement> SVGFEMorphologyElement::create(const Qualifie
     return new SVGFEMorphologyElement(tagName, document);
 }
 
-SVGFEMorphologyElement::~SVGFEMorphologyElement()
-{
-}
-
 void SVGFEMorphologyElement::setRadius(float, float)
 {
     // FIXME: Needs an implementation.
diff --git a/WebCore/svg/SVGFEMorphologyElement.h b/WebCore/svg/SVGFEMorphologyElement.h
index d756bf8..9bf26ee 100644
--- a/WebCore/svg/SVGFEMorphologyElement.h
+++ b/WebCore/svg/SVGFEMorphologyElement.h
@@ -33,16 +33,15 @@ class SVGFEMorphologyElement : public SVGFilterPrimitiveStandardAttributes {
 public:
     static PassRefPtr<SVGFEMorphologyElement> create(const QualifiedName&, Document*);
 
-    SVGFEMorphologyElement(const QualifiedName&, Document*);
-    virtual ~SVGFEMorphologyElement();
-
     void setRadius(float radiusX, float radiusY);
 
+private:
+    SVGFEMorphologyElement(const QualifiedName&, Document*);
+
     virtual void parseMappedAttribute(Attribute*);
     virtual void synchronizeProperty(const QualifiedName&);
     virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*);
 
-private:
     DECLARE_ANIMATED_PROPERTY(SVGFEMorphologyElement, SVGNames::inAttr, String, In1, in1)
     DECLARE_ANIMATED_PROPERTY(SVGFEMorphologyElement, SVGNames::operatorAttr, int, _operator, _operator)
     DECLARE_ANIMATED_PROPERTY_MULTIPLE_WRAPPERS(SVGFEMorphologyElement, SVGNames::radiusAttr, SVGRadiusXAttrIdentifier, float, RadiusX, radiusX)
diff --git a/WebCore/svg/SVGFEOffsetElement.cpp b/WebCore/svg/SVGFEOffsetElement.cpp
index a99d725..0e93a5e 100644
--- a/WebCore/svg/SVGFEOffsetElement.cpp
+++ b/WebCore/svg/SVGFEOffsetElement.cpp
@@ -27,8 +27,8 @@
 
 namespace WebCore {
 
-SVGFEOffsetElement::SVGFEOffsetElement(const QualifiedName& tagName, Document* doc)
-    : SVGFilterPrimitiveStandardAttributes(tagName, doc)
+inline SVGFEOffsetElement::SVGFEOffsetElement(const QualifiedName& tagName, Document* document)
+    : SVGFilterPrimitiveStandardAttributes(tagName, document)
 {
 }
 
@@ -37,10 +37,6 @@ PassRefPtr<SVGFEOffsetElement> SVGFEOffsetElement::create(const QualifiedName& t
     return new SVGFEOffsetElement(tagName, document);
 }
 
-SVGFEOffsetElement::~SVGFEOffsetElement()
-{
-}
-
 void SVGFEOffsetElement::parseMappedAttribute(Attribute* attr)
 {
     const String& value = attr->value();
diff --git a/WebCore/svg/SVGFEOffsetElement.h b/WebCore/svg/SVGFEOffsetElement.h
index abd9003..e522ce2 100644
--- a/WebCore/svg/SVGFEOffsetElement.h
+++ b/WebCore/svg/SVGFEOffsetElement.h
@@ -31,15 +31,14 @@ class SVGFEOffsetElement : public SVGFilterPrimitiveStandardAttributes {
 public:
     static PassRefPtr<SVGFEOffsetElement> create(const QualifiedName&, Document*);
 
+private:
     SVGFEOffsetElement(const QualifiedName&, Document*);
-    virtual ~SVGFEOffsetElement();
 
     virtual void parseMappedAttribute(Attribute*);
     virtual void svgAttributeChanged(const QualifiedName&);
     virtual void synchronizeProperty(const QualifiedName&);
     virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*);
 
-private:
     DECLARE_ANIMATED_PROPERTY(SVGFEOffsetElement, SVGNames::inAttr, String, In1, in1)
     DECLARE_ANIMATED_PROPERTY(SVGFEOffsetElement, SVGNames::dxAttr, float, Dx, dx)
     DECLARE_ANIMATED_PROPERTY(SVGFEOffsetElement, SVGNames::dyAttr, float, Dy, dy)
diff --git a/WebCore/svg/SVGFEPointLightElement.cpp b/WebCore/svg/SVGFEPointLightElement.cpp
index 7c0901c..3911e4f 100644
--- a/WebCore/svg/SVGFEPointLightElement.cpp
+++ b/WebCore/svg/SVGFEPointLightElement.cpp
@@ -25,8 +25,8 @@
 
 namespace WebCore {
 
-SVGFEPointLightElement::SVGFEPointLightElement(const QualifiedName& tagName, Document* doc)
-    : SVGFELightElement(tagName, doc)
+inline SVGFEPointLightElement::SVGFEPointLightElement(const QualifiedName& tagName, Document* document)
+    : SVGFELightElement(tagName, document)
 {
 }
 
@@ -35,14 +35,9 @@ PassRefPtr<SVGFEPointLightElement> SVGFEPointLightElement::create(const Qualifie
     return new SVGFEPointLightElement(tagName, document);
 }
 
-SVGFEPointLightElement::~SVGFEPointLightElement()
-{
-}
-
 PassRefPtr<LightSource> SVGFEPointLightElement::lightSource() const
 {
-    FloatPoint3D pos(x(), y(), z());
-    return PointLightSource::create(pos);
+    return PointLightSource::create(FloatPoint3D(x(), y(), z()));
 }
 
 }
diff --git a/WebCore/svg/SVGFEPointLightElement.h b/WebCore/svg/SVGFEPointLightElement.h
index 90a9b95..270d36d 100644
--- a/WebCore/svg/SVGFEPointLightElement.h
+++ b/WebCore/svg/SVGFEPointLightElement.h
@@ -29,8 +29,8 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGFEPointLightElement> create(const QualifiedName&, Document*);
 
+    private:
         SVGFEPointLightElement(const QualifiedName&, Document*);
-        virtual ~SVGFEPointLightElement();
 
         virtual PassRefPtr<LightSource> lightSource() const;
     };
diff --git a/WebCore/svg/SVGFESpecularLightingElement.cpp b/WebCore/svg/SVGFESpecularLightingElement.cpp
index 2e4365c..989d47d 100644
--- a/WebCore/svg/SVGFESpecularLightingElement.cpp
+++ b/WebCore/svg/SVGFESpecularLightingElement.cpp
@@ -32,11 +32,11 @@
 
 namespace WebCore {
 
-SVGFESpecularLightingElement::SVGFESpecularLightingElement(const QualifiedName& tagName, Document* doc)
-    : SVGFilterPrimitiveStandardAttributes(tagName, doc)
-    , m_specularConstant(1.0f)
-    , m_specularExponent(1.0f)
-    , m_surfaceScale(1.0f)
+inline SVGFESpecularLightingElement::SVGFESpecularLightingElement(const QualifiedName& tagName, Document* document)
+    : SVGFilterPrimitiveStandardAttributes(tagName, document)
+    , m_specularConstant(1)
+    , m_specularExponent(1)
+    , m_surfaceScale(1)
 {
 }
 
@@ -45,10 +45,6 @@ PassRefPtr<SVGFESpecularLightingElement> SVGFESpecularLightingElement::create(co
     return new SVGFESpecularLightingElement(tagName, document);
 }
 
-SVGFESpecularLightingElement::~SVGFESpecularLightingElement()
-{
-}
-
 void SVGFESpecularLightingElement::parseMappedAttribute(Attribute* attr)
 {    
     const String& value = attr->value();
diff --git a/WebCore/svg/SVGFESpecularLightingElement.h b/WebCore/svg/SVGFESpecularLightingElement.h
index 4f0fbb0..1fed36f 100644
--- a/WebCore/svg/SVGFESpecularLightingElement.h
+++ b/WebCore/svg/SVGFESpecularLightingElement.h
@@ -35,14 +35,13 @@ class SVGFESpecularLightingElement : public SVGFilterPrimitiveStandardAttributes
 public:
     static PassRefPtr<SVGFESpecularLightingElement> create(const QualifiedName&, Document*);
 
+private:
     SVGFESpecularLightingElement(const QualifiedName&, Document*);
-    virtual ~SVGFESpecularLightingElement();
     
     virtual void parseMappedAttribute(Attribute*);
     virtual void synchronizeProperty(const QualifiedName&);
     virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*);
 
-private:
     DECLARE_ANIMATED_PROPERTY(SVGFESpecularLightingElement, SVGNames::inAttr, String, In1, in1)
     DECLARE_ANIMATED_PROPERTY(SVGFESpecularLightingElement, SVGNames::specularConstantAttr, float, SpecularConstant, specularConstant)
     DECLARE_ANIMATED_PROPERTY(SVGFESpecularLightingElement, SVGNames::specularExponentAttr, float, SpecularExponent, specularExponent)
diff --git a/WebCore/svg/SVGFESpotLightElement.cpp b/WebCore/svg/SVGFESpotLightElement.cpp
index 610151d..6534a38 100644
--- a/WebCore/svg/SVGFESpotLightElement.cpp
+++ b/WebCore/svg/SVGFESpotLightElement.cpp
@@ -25,8 +25,8 @@
 
 namespace WebCore {
 
-SVGFESpotLightElement::SVGFESpotLightElement(const QualifiedName& tagName, Document* doc)
-    : SVGFELightElement(tagName, doc)
+inline SVGFESpotLightElement::SVGFESpotLightElement(const QualifiedName& tagName, Document* document)
+    : SVGFELightElement(tagName, document)
 {
 }
 
@@ -35,10 +35,6 @@ PassRefPtr<SVGFESpotLightElement> SVGFESpotLightElement::create(const QualifiedN
     return new SVGFESpotLightElement(tagName, document);
 }
 
-SVGFESpotLightElement::~SVGFESpotLightElement()
-{
-}
-
 PassRefPtr<LightSource> SVGFESpotLightElement::lightSource() const
 {
     FloatPoint3D pos(x(), y(), z());
diff --git a/WebCore/svg/SVGFESpotLightElement.h b/WebCore/svg/SVGFESpotLightElement.h
index 8707303..79fc5fc 100644
--- a/WebCore/svg/SVGFESpotLightElement.h
+++ b/WebCore/svg/SVGFESpotLightElement.h
@@ -29,8 +29,8 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGFESpotLightElement> create(const QualifiedName&, Document*);
 
+    private:
         SVGFESpotLightElement(const QualifiedName&, Document*);
-        virtual ~SVGFESpotLightElement();
 
         virtual PassRefPtr<LightSource> lightSource() const;
     };
diff --git a/WebCore/svg/SVGFETileElement.cpp b/WebCore/svg/SVGFETileElement.cpp
index 108e682..2e4453d 100644
--- a/WebCore/svg/SVGFETileElement.cpp
+++ b/WebCore/svg/SVGFETileElement.cpp
@@ -28,8 +28,8 @@
 
 namespace WebCore {
 
-SVGFETileElement::SVGFETileElement(const QualifiedName& tagName, Document* doc)
-    : SVGFilterPrimitiveStandardAttributes(tagName, doc)
+inline SVGFETileElement::SVGFETileElement(const QualifiedName& tagName, Document* document)
+    : SVGFilterPrimitiveStandardAttributes(tagName, document)
 {
 }
 
@@ -38,10 +38,6 @@ PassRefPtr<SVGFETileElement> SVGFETileElement::create(const QualifiedName& tagNa
     return new SVGFETileElement(tagName, document);
 }
 
-SVGFETileElement::~SVGFETileElement()
-{
-}
-
 void SVGFETileElement::parseMappedAttribute(Attribute* attr)
 {
     const String& value = attr->value();
diff --git a/WebCore/svg/SVGFETileElement.h b/WebCore/svg/SVGFETileElement.h
index 5dc656d..03dc08d 100644
--- a/WebCore/svg/SVGFETileElement.h
+++ b/WebCore/svg/SVGFETileElement.h
@@ -31,14 +31,13 @@ class SVGFETileElement : public SVGFilterPrimitiveStandardAttributes {
 public:
     static PassRefPtr<SVGFETileElement> create(const QualifiedName&, Document*);
 
+private:
     SVGFETileElement(const QualifiedName&, Document*);
-    virtual ~SVGFETileElement();
 
     virtual void parseMappedAttribute(Attribute*);
     virtual void synchronizeProperty(const QualifiedName&);
     virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*);
 
-private:
     DECLARE_ANIMATED_PROPERTY(SVGFETileElement, SVGNames::inAttr, String, In1, in1)
 };
 
diff --git a/WebCore/svg/SVGFETurbulenceElement.cpp b/WebCore/svg/SVGFETurbulenceElement.cpp
index 6f9797f..fa8eb27 100644
--- a/WebCore/svg/SVGFETurbulenceElement.cpp
+++ b/WebCore/svg/SVGFETurbulenceElement.cpp
@@ -31,8 +31,8 @@ namespace WebCore {
 char SVGBaseFrequencyXIdentifier[] = "SVGBaseFrequencyX";
 char SVGBaseFrequencyYIdentifier[] = "SVGBaseFrequencyY";
 
-SVGFETurbulenceElement::SVGFETurbulenceElement(const QualifiedName& tagName, Document* doc)
-    : SVGFilterPrimitiveStandardAttributes(tagName, doc)
+inline SVGFETurbulenceElement::SVGFETurbulenceElement(const QualifiedName& tagName, Document* document)
+    : SVGFilterPrimitiveStandardAttributes(tagName, document)
     , m_numOctaves(1)
     , m_stitchTiles(SVG_STITCHTYPE_NOSTITCH)
     , m_type(FETURBULENCE_TYPE_TURBULENCE)
@@ -44,10 +44,6 @@ PassRefPtr<SVGFETurbulenceElement> SVGFETurbulenceElement::create(const Qualifie
     return new SVGFETurbulenceElement(tagName, document);
 }
 
-SVGFETurbulenceElement::~SVGFETurbulenceElement()
-{
-}
-
 void SVGFETurbulenceElement::parseMappedAttribute(Attribute* attr)
 {
     const String& value = attr->value();
diff --git a/WebCore/svg/SVGFETurbulenceElement.h b/WebCore/svg/SVGFETurbulenceElement.h
index 64f46b9..78d47f9 100644
--- a/WebCore/svg/SVGFETurbulenceElement.h
+++ b/WebCore/svg/SVGFETurbulenceElement.h
@@ -40,14 +40,13 @@ class SVGFETurbulenceElement : public SVGFilterPrimitiveStandardAttributes {
 public:
     static PassRefPtr<SVGFETurbulenceElement> create(const QualifiedName&, Document*);
 
+private:
     SVGFETurbulenceElement(const QualifiedName&, Document*);
-    virtual ~SVGFETurbulenceElement();
 
     virtual void parseMappedAttribute(Attribute*);
     virtual void synchronizeProperty(const QualifiedName&);
     virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*);
 
-private:
     DECLARE_ANIMATED_PROPERTY_MULTIPLE_WRAPPERS(SVGFETurbulenceElement, SVGNames::baseFrequencyAttr, SVGBaseFrequencyXIdentifier, float, BaseFrequencyX, baseFrequencyX)
     DECLARE_ANIMATED_PROPERTY_MULTIPLE_WRAPPERS(SVGFETurbulenceElement, SVGNames::baseFrequencyAttr, SVGBaseFrequencyYIdentifier, float, BaseFrequencyY, baseFrequencyY)
     DECLARE_ANIMATED_PROPERTY(SVGFETurbulenceElement, SVGNames::numOctavesAttr, long, NumOctaves, numOctaves)
diff --git a/WebCore/svg/SVGFilterElement.cpp b/WebCore/svg/SVGFilterElement.cpp
index e0e087b..b7d0b59 100644
--- a/WebCore/svg/SVGFilterElement.cpp
+++ b/WebCore/svg/SVGFilterElement.cpp
@@ -42,8 +42,8 @@ namespace WebCore {
 char SVGFilterResXIdentifier[] = "SVGFilterResX";
 char SVGFilterResYIdentifier[] = "SVGFilterResY";
 
-SVGFilterElement::SVGFilterElement(const QualifiedName& tagName, Document* doc)
-    : SVGStyledElement(tagName, doc)
+inline SVGFilterElement::SVGFilterElement(const QualifiedName& tagName, Document* document)
+    : SVGStyledElement(tagName, document)
     , SVGURIReference()
     , SVGLangSpace()
     , SVGExternalResourcesRequired()
@@ -63,10 +63,6 @@ PassRefPtr<SVGFilterElement> SVGFilterElement::create(const QualifiedName& tagNa
     return new SVGFilterElement(tagName, document);
 }
 
-SVGFilterElement::~SVGFilterElement()
-{
-}
-
 void SVGFilterElement::setFilterRes(unsigned long filterResX, unsigned long filterResY)
 {
     setFilterResXBaseValue(filterResX);
diff --git a/WebCore/svg/SVGFilterElement.h b/WebCore/svg/SVGFilterElement.h
index 8120945..67d0a47 100644
--- a/WebCore/svg/SVGFilterElement.h
+++ b/WebCore/svg/SVGFilterElement.h
@@ -42,21 +42,9 @@ class SVGFilterElement : public SVGStyledElement,
 public:
     static PassRefPtr<SVGFilterElement> create(const QualifiedName&, Document*);
 
-    SVGFilterElement(const QualifiedName&, Document*);
-    virtual ~SVGFilterElement();
-
-    virtual bool needsPendingResourceHandling() const { return false; }
-
     void setFilterRes(unsigned long filterResX, unsigned long filterResY);
     FloatRect filterBoundingBox(const FloatRect&) const;
 
-    virtual void parseMappedAttribute(Attribute*);
-    virtual void svgAttributeChanged(const QualifiedName&);
-    virtual void synchronizeProperty(const QualifiedName&);
-    virtual void childrenChanged(bool changedByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0);
-
-    virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
-
     static void invalidateFilter(SVGElement* element)
     {
         ASSERT(element);
@@ -74,6 +62,17 @@ public:
     }
 
 private:
+    SVGFilterElement(const QualifiedName&, Document*);
+
+    virtual bool needsPendingResourceHandling() const { return false; }
+
+    virtual void parseMappedAttribute(Attribute*);
+    virtual void svgAttributeChanged(const QualifiedName&);
+    virtual void synchronizeProperty(const QualifiedName&);
+    virtual void childrenChanged(bool changedByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0);
+
+    virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
+
     virtual bool selfHasRelativeLengths() const;
 
     DECLARE_ANIMATED_PROPERTY(SVGFilterElement, SVGNames::filterUnitsAttr, int, FilterUnits, filterUnits)
diff --git a/WebCore/svg/SVGFilterPrimitiveStandardAttributes.cpp b/WebCore/svg/SVGFilterPrimitiveStandardAttributes.cpp
index e91c0a1..07d9241 100644
--- a/WebCore/svg/SVGFilterPrimitiveStandardAttributes.cpp
+++ b/WebCore/svg/SVGFilterPrimitiveStandardAttributes.cpp
@@ -33,8 +33,8 @@
 
 namespace WebCore {
 
-SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes(const QualifiedName& tagName, Document* doc)
-    : SVGStyledElement(tagName, doc)
+SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes(const QualifiedName& tagName, Document* document)
+    : SVGStyledElement(tagName, document)
     , m_x(LengthModeWidth, "0%")
     , m_y(LengthModeHeight, "0%")
     , m_width(LengthModeWidth, "100%")
@@ -44,10 +44,6 @@ SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes(const
     // Spec: If the width/height attribute is not specified, the effect is as if a value of "100%" were specified.
 }
 
-SVGFilterPrimitiveStandardAttributes::~SVGFilterPrimitiveStandardAttributes()
-{
-}
-
 void SVGFilterPrimitiveStandardAttributes::parseMappedAttribute(Attribute* attr)
 {
     const AtomicString& value = attr->value();
diff --git a/WebCore/svg/SVGFilterPrimitiveStandardAttributes.h b/WebCore/svg/SVGFilterPrimitiveStandardAttributes.h
index 8754c6a..2fb41ea 100644
--- a/WebCore/svg/SVGFilterPrimitiveStandardAttributes.h
+++ b/WebCore/svg/SVGFilterPrimitiveStandardAttributes.h
@@ -35,22 +35,23 @@ namespace WebCore {
 
 class SVGFilterPrimitiveStandardAttributes : public SVGStyledElement {
 public:
+    void setStandardAttributes(bool, FilterEffect*) const;
+
+    virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*) = 0;
+
+protected:
     SVGFilterPrimitiveStandardAttributes(const QualifiedName&, Document*);
-    virtual ~SVGFilterPrimitiveStandardAttributes();
-    
-    virtual bool isFilterEffect() const { return true; }
 
     virtual void parseMappedAttribute(Attribute*);
     virtual void svgAttributeChanged(const QualifiedName&);
     virtual void synchronizeProperty(const QualifiedName&);
     virtual void childrenChanged(bool changedByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0);
-    virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*) = 0;
 
-    virtual bool rendererIsNeeded(RenderStyle*) { return false; }
+private:
+    virtual bool isFilterEffect() const { return true; }
 
-    void setStandardAttributes(bool, FilterEffect*) const;
+    virtual bool rendererIsNeeded(RenderStyle*) { return false; }
 
-private:
     DECLARE_ANIMATED_PROPERTY(SVGFilterPrimitiveStandardAttributes, SVGNames::xAttr, SVGLength, X, x)
     DECLARE_ANIMATED_PROPERTY(SVGFilterPrimitiveStandardAttributes, SVGNames::yAttr, SVGLength, Y, y)
     DECLARE_ANIMATED_PROPERTY(SVGFilterPrimitiveStandardAttributes, SVGNames::widthAttr, SVGLength, Width, width)
diff --git a/WebCore/svg/SVGFitToViewBox.cpp b/WebCore/svg/SVGFitToViewBox.cpp
index c78a619..5297e8f 100644
--- a/WebCore/svg/SVGFitToViewBox.cpp
+++ b/WebCore/svg/SVGFitToViewBox.cpp
@@ -34,14 +34,6 @@
 
 namespace WebCore {
 
-SVGFitToViewBox::SVGFitToViewBox()
-{
-}
-
-SVGFitToViewBox::~SVGFitToViewBox()
-{
-}
-
 bool SVGFitToViewBox::parseViewBox(Document* doc, const String& s, FloatRect& viewBox)
 {
     const UChar* c = s.characters();
diff --git a/WebCore/svg/SVGFitToViewBox.h b/WebCore/svg/SVGFitToViewBox.h
index ca0fec8..d6551f5 100644
--- a/WebCore/svg/SVGFitToViewBox.h
+++ b/WebCore/svg/SVGFitToViewBox.h
@@ -31,8 +31,7 @@ class AffineTransform;
 
 class SVGFitToViewBox {
 public:
-    SVGFitToViewBox();
-    virtual ~SVGFitToViewBox();
+    virtual ~SVGFitToViewBox() { }
 
     bool parseViewBox(Document*, const UChar*& start, const UChar* end, FloatRect& viewBox, bool validate = true);
     static AffineTransform viewBoxToViewTransform(const FloatRect& viewBoxRect, const SVGPreserveAspectRatio&, float viewWidth, float viewHeight);
diff --git a/WebCore/svg/SVGFontData.cpp b/WebCore/svg/SVGFontData.cpp
index a88de66..63433ee 100644
--- a/WebCore/svg/SVGFontData.cpp
+++ b/WebCore/svg/SVGFontData.cpp
@@ -36,10 +36,6 @@ SVGFontData::SVGFontData(SVGFontFaceElement* fontFaceElement)
     ASSERT_ARG(fontFaceElement, fontFaceElement);
 }
 
-SVGFontData::~SVGFontData()
-{
-}
-
 } // namespace WebCore
 
 #endif
diff --git a/WebCore/svg/SVGFontData.h b/WebCore/svg/SVGFontData.h
index c66aa23..e897a59 100644
--- a/WebCore/svg/SVGFontData.h
+++ b/WebCore/svg/SVGFontData.h
@@ -28,7 +28,7 @@ namespace WebCore {
 class SVGFontData : public Noncopyable {
 public:
     SVGFontData(SVGFontFaceElement*);
-    virtual ~SVGFontData();
+    virtual ~SVGFontData() { }
 
     SVGFontFaceElement* svgFontFaceElement() const { return m_svgFontFaceElement; }
 
diff --git a/WebCore/svg/SVGFontElement.cpp b/WebCore/svg/SVGFontElement.cpp
index ab394fe..ce797da 100644
--- a/WebCore/svg/SVGFontElement.cpp
+++ b/WebCore/svg/SVGFontElement.cpp
@@ -40,8 +40,8 @@ namespace WebCore {
 
 using namespace SVGNames;
 
-SVGFontElement::SVGFontElement(const QualifiedName& tagName, Document* doc)
-    : SVGStyledElement(tagName, doc) 
+inline SVGFontElement::SVGFontElement(const QualifiedName& tagName, Document* document)
+    : SVGStyledElement(tagName, document) 
     , m_isGlyphCacheValid(false)
 {
 }
@@ -51,10 +51,6 @@ PassRefPtr<SVGFontElement> SVGFontElement::create(const QualifiedName& tagName,
     return new SVGFontElement(tagName, document);
 }
 
-SVGFontElement::~SVGFontElement()
-{
-}
-
 void SVGFontElement::synchronizeProperty(const QualifiedName& attrName)
 {
     SVGStyledElement::synchronizeProperty(attrName);
diff --git a/WebCore/svg/SVGFontElement.h b/WebCore/svg/SVGFontElement.h
index 0a65a9c..98bf766 100644
--- a/WebCore/svg/SVGFontElement.h
+++ b/WebCore/svg/SVGFontElement.h
@@ -56,12 +56,6 @@ class SVGFontElement : public SVGStyledElement
 public:
     static PassRefPtr<SVGFontElement> create(const QualifiedName&, Document*);
 
-    SVGFontElement(const QualifiedName&, Document*);
-    virtual ~SVGFontElement();
-
-    virtual void synchronizeProperty(const QualifiedName&);
-    virtual bool rendererIsNeeded(RenderStyle*) { return false; }    
-
     void invalidateGlyphCache();
 
     void getGlyphIdentifiersForString(const String&, Vector<SVGGlyphIdentifier>&) const;
@@ -72,11 +66,16 @@ public:
     SVGMissingGlyphElement* firstMissingGlyphElement() const;
 
 private:
-    // SVGExternalResourcesRequired
-    DECLARE_ANIMATED_PROPERTY(SVGFontElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
+    SVGFontElement(const QualifiedName&, Document*);
+
+    virtual void synchronizeProperty(const QualifiedName&);
+    virtual bool rendererIsNeeded(RenderStyle*) { return false; }    
 
     void ensureGlyphCache() const;
 
+    // SVGExternalResourcesRequired
+    DECLARE_ANIMATED_PROPERTY(SVGFontElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
+
     mutable KerningPairVector m_horizontalKerningPairs;
     mutable KerningPairVector m_verticalKerningPairs;
     mutable SVGGlyphMap m_glyphMap;
diff --git a/WebCore/svg/SVGFontFaceElement.cpp b/WebCore/svg/SVGFontFaceElement.cpp
index ac66e3b..eaece9e 100644
--- a/WebCore/svg/SVGFontFaceElement.cpp
+++ b/WebCore/svg/SVGFontFaceElement.cpp
@@ -46,12 +46,12 @@ namespace WebCore {
 
 using namespace SVGNames;
 
-SVGFontFaceElement::SVGFontFaceElement(const QualifiedName& tagName, Document* doc)
-    : SVGElement(tagName, doc)
+inline SVGFontFaceElement::SVGFontFaceElement(const QualifiedName& tagName, Document* document)
+    : SVGElement(tagName, document)
     , m_fontFaceRule(CSSFontFaceRule::create())
     , m_styleDeclaration(CSSMutableStyleDeclaration::create())
 {
-    m_styleDeclaration->setParent(document()->mappedElementSheet());
+    m_styleDeclaration->setParent(document->mappedElementSheet());
     m_styleDeclaration->setStrictParsing(true);
     m_fontFaceRule->setDeclaration(m_styleDeclaration.get());
 }
@@ -61,10 +61,6 @@ PassRefPtr<SVGFontFaceElement> SVGFontFaceElement::create(const QualifiedName& t
     return new SVGFontFaceElement(tagName, document);
 }
 
-SVGFontFaceElement::~SVGFontFaceElement()
-{
-}
-
 static int cssPropertyIdForSVGAttributeName(const QualifiedName& attrName)
 {
     if (!attrName.namespaceURI().isNull())
diff --git a/WebCore/svg/SVGFontFaceElement.h b/WebCore/svg/SVGFontFaceElement.h
index f9a2c95..3ee71d8 100644
--- a/WebCore/svg/SVGFontFaceElement.h
+++ b/WebCore/svg/SVGFontFaceElement.h
@@ -35,15 +35,6 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGFontFaceElement> create(const QualifiedName&, Document*);
 
-        SVGFontFaceElement(const QualifiedName&, Document*);
-        virtual ~SVGFontFaceElement();
-
-        virtual void parseMappedAttribute(Attribute*);
-
-        virtual void childrenChanged(bool changedByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0);
-        virtual void insertedIntoDocument();
-        virtual void removedFromDocument();
-
         unsigned unitsPerEm() const;
         int xHeight() const;
         float horizontalOriginX() const;
@@ -61,6 +52,14 @@ namespace WebCore {
         void removeFromMappedElementSheet();
 
     private:
+        SVGFontFaceElement(const QualifiedName&, Document*);
+
+        virtual void parseMappedAttribute(Attribute*);
+
+        virtual void childrenChanged(bool changedByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0);
+        virtual void insertedIntoDocument();
+        virtual void removedFromDocument();
+
         RefPtr<CSSFontFaceRule> m_fontFaceRule;
         RefPtr<CSSMutableStyleDeclaration> m_styleDeclaration;
 
diff --git a/WebCore/svg/SVGFontFaceFormatElement.cpp b/WebCore/svg/SVGFontFaceFormatElement.cpp
index 6504d1a..ed0f3bd 100644
--- a/WebCore/svg/SVGFontFaceFormatElement.cpp
+++ b/WebCore/svg/SVGFontFaceFormatElement.cpp
@@ -29,8 +29,8 @@ namespace WebCore {
     
 using namespace SVGNames;
     
-SVGFontFaceFormatElement::SVGFontFaceFormatElement(const QualifiedName& tagName, Document* doc)
-    : SVGElement(tagName, doc)
+inline SVGFontFaceFormatElement::SVGFontFaceFormatElement(const QualifiedName& tagName, Document* document)
+    : SVGElement(tagName, document)
 {
 }
 
diff --git a/WebCore/svg/SVGFontFaceFormatElement.h b/WebCore/svg/SVGFontFaceFormatElement.h
index c6daef1..6ca6c1f 100644
--- a/WebCore/svg/SVGFontFaceFormatElement.h
+++ b/WebCore/svg/SVGFontFaceFormatElement.h
@@ -29,6 +29,7 @@ class SVGFontFaceFormatElement : public SVGElement {
 public:
     static PassRefPtr<SVGFontFaceFormatElement> create(const QualifiedName&, Document*);
 
+private:
     SVGFontFaceFormatElement(const QualifiedName&, Document*);
 
     virtual void childrenChanged(bool changedByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0);
diff --git a/WebCore/svg/SVGFontFaceNameElement.cpp b/WebCore/svg/SVGFontFaceNameElement.cpp
index 1c8d2d7..cc52261 100644
--- a/WebCore/svg/SVGFontFaceNameElement.cpp
+++ b/WebCore/svg/SVGFontFaceNameElement.cpp
@@ -27,8 +27,8 @@
 
 namespace WebCore {
     
-SVGFontFaceNameElement::SVGFontFaceNameElement(const QualifiedName& tagName, Document* doc)
-    : SVGElement(tagName, doc)
+inline SVGFontFaceNameElement::SVGFontFaceNameElement(const QualifiedName& tagName, Document* document)
+    : SVGElement(tagName, document)
 {
 }
 
diff --git a/WebCore/svg/SVGFontFaceNameElement.h b/WebCore/svg/SVGFontFaceNameElement.h
index c12d21d..462d7a8 100644
--- a/WebCore/svg/SVGFontFaceNameElement.h
+++ b/WebCore/svg/SVGFontFaceNameElement.h
@@ -30,10 +30,11 @@ namespace WebCore {
     class SVGFontFaceNameElement : public SVGElement {
     public:
         static PassRefPtr<SVGFontFaceNameElement> create(const QualifiedName&, Document*);
-
-        SVGFontFaceNameElement(const QualifiedName&, Document*);
         
         PassRefPtr<CSSFontFaceSrcValue> srcValue() const;
+
+    private:
+        SVGFontFaceNameElement(const QualifiedName&, Document*);
     };
 
 } // namespace WebCore
diff --git a/WebCore/svg/SVGFontFaceSrcElement.cpp b/WebCore/svg/SVGFontFaceSrcElement.cpp
index f032366..c88dd9c 100644
--- a/WebCore/svg/SVGFontFaceSrcElement.cpp
+++ b/WebCore/svg/SVGFontFaceSrcElement.cpp
@@ -33,8 +33,8 @@ namespace WebCore {
     
 using namespace SVGNames;
     
-SVGFontFaceSrcElement::SVGFontFaceSrcElement(const QualifiedName& tagName, Document* doc)
-    : SVGElement(tagName, doc)
+inline SVGFontFaceSrcElement::SVGFontFaceSrcElement(const QualifiedName& tagName, Document* document)
+    : SVGElement(tagName, document)
 {
 }
 
diff --git a/WebCore/svg/SVGFontFaceSrcElement.h b/WebCore/svg/SVGFontFaceSrcElement.h
index 1ca603c..e6f8d30 100644
--- a/WebCore/svg/SVGFontFaceSrcElement.h
+++ b/WebCore/svg/SVGFontFaceSrcElement.h
@@ -24,15 +24,18 @@
 #include "SVGElement.h"
 
 namespace WebCore {
+
     class CSSValueList;
+
     class SVGFontFaceSrcElement : public SVGElement {
     public:
         static PassRefPtr<SVGFontFaceSrcElement> create(const QualifiedName&, Document*);
 
-        SVGFontFaceSrcElement(const QualifiedName&, Document*);
-        
         PassRefPtr<CSSValueList> srcValue() const;
         
+    private:
+        SVGFontFaceSrcElement(const QualifiedName&, Document*);
+        
         virtual void childrenChanged(bool changedByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0);
     };
 
diff --git a/WebCore/svg/SVGFontFaceUriElement.cpp b/WebCore/svg/SVGFontFaceUriElement.cpp
index 2237c1e..0b751c2 100644
--- a/WebCore/svg/SVGFontFaceUriElement.cpp
+++ b/WebCore/svg/SVGFontFaceUriElement.cpp
@@ -36,8 +36,8 @@ namespace WebCore {
     
 using namespace SVGNames;
     
-SVGFontFaceUriElement::SVGFontFaceUriElement(const QualifiedName& tagName, Document* doc)
-    : SVGElement(tagName, doc)
+inline SVGFontFaceUriElement::SVGFontFaceUriElement(const QualifiedName& tagName, Document* document)
+    : SVGElement(tagName, document)
 {
 }
 
diff --git a/WebCore/svg/SVGFontFaceUriElement.h b/WebCore/svg/SVGFontFaceUriElement.h
index 2e75896..043a20a 100644
--- a/WebCore/svg/SVGFontFaceUriElement.h
+++ b/WebCore/svg/SVGFontFaceUriElement.h
@@ -34,16 +34,17 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGFontFaceUriElement> create(const QualifiedName&, Document*);
 
-        SVGFontFaceUriElement(const QualifiedName&, Document*);
         virtual ~SVGFontFaceUriElement();
-        
+
         PassRefPtr<CSSFontFaceSrcValue> srcValue() const;
 
+    private:
+        SVGFontFaceUriElement(const QualifiedName&, Document*);
+        
         virtual void parseMappedAttribute(Attribute*);
         virtual void childrenChanged(bool changedByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0);
         virtual void insertedIntoDocument();
 
-    private:
         void loadFont();
 
         CachedResourceHandle<CachedFont> m_cachedFont;
diff --git a/WebCore/svg/SVGForeignObjectElement.cpp b/WebCore/svg/SVGForeignObjectElement.cpp
index 66d9b07..d66040d 100644
--- a/WebCore/svg/SVGForeignObjectElement.cpp
+++ b/WebCore/svg/SVGForeignObjectElement.cpp
@@ -33,11 +33,8 @@
 
 namespace WebCore {
 
-SVGForeignObjectElement::SVGForeignObjectElement(const QualifiedName& tagName, Document *doc)
-    : SVGStyledTransformableElement(tagName, doc)
-    , SVGTests()
-    , SVGLangSpace()
-    , SVGExternalResourcesRequired()
+SVGForeignObjectElement::SVGForeignObjectElement(const QualifiedName& tagName, Document* document)
+    : SVGStyledTransformableElement(tagName, document)
     , m_x(LengthModeWidth)
     , m_y(LengthModeHeight)
     , m_width(LengthModeWidth)
@@ -50,10 +47,6 @@ PassRefPtr<SVGForeignObjectElement> SVGForeignObjectElement::create(const Qualif
     return new SVGForeignObjectElement(tagName, document);
 }
 
-SVGForeignObjectElement::~SVGForeignObjectElement()
-{
-}
-
 void SVGForeignObjectElement::parseMappedAttribute(Attribute* attr)
 {
     const AtomicString& value = attr->value();
diff --git a/WebCore/svg/SVGForeignObjectElement.h b/WebCore/svg/SVGForeignObjectElement.h
index 3d0a990..a587134 100644
--- a/WebCore/svg/SVGForeignObjectElement.h
+++ b/WebCore/svg/SVGForeignObjectElement.h
@@ -37,8 +37,8 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGForeignObjectElement> create(const QualifiedName&, Document*);
 
+    private:
         SVGForeignObjectElement(const QualifiedName&, Document*);
-        virtual ~SVGForeignObjectElement();
 
         virtual bool isValid() const { return SVGTests::isValid(); }
         virtual void parseMappedAttribute(Attribute*);
@@ -48,7 +48,6 @@ namespace WebCore {
         virtual bool childShouldCreateRenderer(Node*) const;
         virtual RenderObject* createRenderer(RenderArena* arena, RenderStyle* style);
 
-    private:
         virtual bool selfHasRelativeLengths() const;
 
         DECLARE_ANIMATED_PROPERTY(SVGForeignObjectElement, SVGNames::xAttr, SVGLength, X, x)
diff --git a/WebCore/svg/SVGGElement.cpp b/WebCore/svg/SVGGElement.cpp
index 53b1e59..5efaa98 100644
--- a/WebCore/svg/SVGGElement.cpp
+++ b/WebCore/svg/SVGGElement.cpp
@@ -29,11 +29,8 @@
 
 namespace WebCore {
 
-SVGGElement::SVGGElement(const QualifiedName& tagName, Document* doc)
-    : SVGStyledTransformableElement(tagName, doc)
-    , SVGTests()
-    , SVGLangSpace()
-    , SVGExternalResourcesRequired()
+SVGGElement::SVGGElement(const QualifiedName& tagName, Document* document)
+    : SVGStyledTransformableElement(tagName, document)
 {
 }
 
@@ -42,10 +39,6 @@ PassRefPtr<SVGGElement> SVGGElement::create(const QualifiedName& tagName, Docume
     return new SVGGElement(tagName, document);
 }
 
-SVGGElement::~SVGGElement()
-{
-}
-
 void SVGGElement::parseMappedAttribute(Attribute* attr)
 {
     if (SVGTests::parseMappedAttribute(attr))
diff --git a/WebCore/svg/SVGGElement.h b/WebCore/svg/SVGGElement.h
index 5d142ee..a149351 100644
--- a/WebCore/svg/SVGGElement.h
+++ b/WebCore/svg/SVGGElement.h
@@ -36,10 +36,14 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGGElement> create(const QualifiedName&, Document*);
 
+        virtual bool isShadowTreeContainerElement() const { return false; }
+
+    protected:
         SVGGElement(const QualifiedName&, Document*);
-        virtual ~SVGGElement();
 
-        virtual bool isShadowTreeContainerElement() const { return false; }
+        virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
+
+    private:
         virtual bool isValid() const { return SVGTests::isValid(); }
 
         virtual void parseMappedAttribute(Attribute*);
@@ -47,9 +51,7 @@ namespace WebCore {
         virtual void synchronizeProperty(const QualifiedName&);
 
         virtual bool rendererIsNeeded(RenderStyle*) { return true; }
-        virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
 
-    private:
         // SVGExternalResourcesRequired
         DECLARE_ANIMATED_PROPERTY(SVGGElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
     };
diff --git a/WebCore/svg/SVGGlyphElement.cpp b/WebCore/svg/SVGGlyphElement.cpp
index 17642cc..77b231e 100644
--- a/WebCore/svg/SVGGlyphElement.cpp
+++ b/WebCore/svg/SVGGlyphElement.cpp
@@ -37,8 +37,8 @@ namespace WebCore {
 
 using namespace SVGNames;
 
-SVGGlyphElement::SVGGlyphElement(const QualifiedName& tagName, Document* doc)
-    : SVGStyledElement(tagName, doc)
+inline SVGGlyphElement::SVGGlyphElement(const QualifiedName& tagName, Document* document)
+    : SVGStyledElement(tagName, document)
 {
 }
 
@@ -47,10 +47,6 @@ PassRefPtr<SVGGlyphElement> SVGGlyphElement::create(const QualifiedName& tagName
     return new SVGGlyphElement(tagName, document);
 }
 
-SVGGlyphElement::~SVGGlyphElement()
-{
-}
-
 void SVGGlyphElement::invalidateGlyphCache()
 {
     Node* fontNode = parentNode();
diff --git a/WebCore/svg/SVGGlyphElement.h b/WebCore/svg/SVGGlyphElement.h
index cd26c96..a7dd570 100644
--- a/WebCore/svg/SVGGlyphElement.h
+++ b/WebCore/svg/SVGGlyphElement.h
@@ -105,16 +105,6 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGGlyphElement> create(const QualifiedName&, Document*);
 
-        SVGGlyphElement(const QualifiedName&, Document*);
-        virtual ~SVGGlyphElement();
-
-        virtual void parseMappedAttribute(Attribute*);
-
-        virtual void insertedIntoDocument();
-        virtual void removedFromDocument();
-
-        virtual bool rendererIsNeeded(RenderStyle*) { return false; }
-
         SVGGlyphIdentifier buildGlyphIdentifier() const;
 
         // Helper function used by SVGFont
@@ -123,7 +113,17 @@ namespace WebCore {
 
         // Helper function shared between SVGGlyphElement & SVGMissingGlyphElement
         static SVGGlyphIdentifier buildGenericGlyphIdentifier(const SVGElement*);
+
     private:
+        SVGGlyphElement(const QualifiedName&, Document*);
+
+        virtual void parseMappedAttribute(Attribute*);
+
+        virtual void insertedIntoDocument();
+        virtual void removedFromDocument();
+
+        virtual bool rendererIsNeeded(RenderStyle*) { return false; }
+
         void invalidateGlyphCache();
     };
 
diff --git a/WebCore/svg/SVGGradientElement.cpp b/WebCore/svg/SVGGradientElement.cpp
index f2d9712..523e4df 100644
--- a/WebCore/svg/SVGGradientElement.cpp
+++ b/WebCore/svg/SVGGradientElement.cpp
@@ -38,19 +38,13 @@
 
 namespace WebCore {
 
-SVGGradientElement::SVGGradientElement(const QualifiedName& tagName, Document* doc)
-    : SVGStyledElement(tagName, doc)
-    , SVGURIReference()
-    , SVGExternalResourcesRequired()
+SVGGradientElement::SVGGradientElement(const QualifiedName& tagName, Document* document)
+    : SVGStyledElement(tagName, document)
     , m_gradientUnits(SVGUnitTypes::SVG_UNIT_TYPE_OBJECTBOUNDINGBOX)
     , m_gradientTransform(SVGTransformList::create(SVGNames::gradientTransformAttr))
 {
 }
 
-SVGGradientElement::~SVGGradientElement()
-{
-}
-
 void SVGGradientElement::parseMappedAttribute(Attribute* attr)
 {
     if (attr->name() == SVGNames::gradientUnitsAttr) {
diff --git a/WebCore/svg/SVGGradientElement.h b/WebCore/svg/SVGGradientElement.h
index 9976d7d..d1e7914 100644
--- a/WebCore/svg/SVGGradientElement.h
+++ b/WebCore/svg/SVGGradientElement.h
@@ -34,20 +34,20 @@ namespace WebCore {
                                public SVGURIReference,
                                public SVGExternalResourcesRequired {
     public:
+        Vector<Gradient::ColorStop> buildStops();
+ 
+    protected:
         SVGGradientElement(const QualifiedName&, Document*);
-        virtual ~SVGGradientElement();
-
-        virtual bool needsPendingResourceHandling() const { return false; }
 
         virtual void parseMappedAttribute(Attribute*);
         virtual void svgAttributeChanged(const QualifiedName&);
         virtual void synchronizeProperty(const QualifiedName&);
 
+    private:
+        virtual bool needsPendingResourceHandling() const { return false; }
+
         virtual void childrenChanged(bool changedByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0);
 
-        Vector<Gradient::ColorStop> buildStops();
- 
-    protected:
         DECLARE_ANIMATED_PROPERTY(SVGGradientElement, SVGNames::spreadMethodAttr, int, SpreadMethod, spreadMethod)
         DECLARE_ANIMATED_PROPERTY(SVGGradientElement, SVGNames::gradientUnitsAttr, int, GradientUnits, gradientUnits)
         DECLARE_ANIMATED_PROPERTY(SVGGradientElement, SVGNames::gradientTransformAttr, SVGTransformList*, GradientTransform, gradientTransform)
diff --git a/WebCore/svg/SVGHKernElement.cpp b/WebCore/svg/SVGHKernElement.cpp
index f444dd6..4d08c33 100644
--- a/WebCore/svg/SVGHKernElement.cpp
+++ b/WebCore/svg/SVGHKernElement.cpp
@@ -35,8 +35,8 @@ namespace WebCore {
 
 using namespace SVGNames;
 
-SVGHKernElement::SVGHKernElement(const QualifiedName& tagName, Document* doc)
-    : SVGElement(tagName, doc)
+inline SVGHKernElement::SVGHKernElement(const QualifiedName& tagName, Document* document)
+    : SVGElement(tagName, document)
 {
 }
 
@@ -45,10 +45,6 @@ PassRefPtr<SVGHKernElement> SVGHKernElement::create(const QualifiedName& tagName
     return new SVGHKernElement(tagName, document);
 }
 
-SVGHKernElement::~SVGHKernElement()
-{
-}
-
 void SVGHKernElement::insertedIntoDocument()
 {
     Node* fontNode = parentNode();
diff --git a/WebCore/svg/SVGHKernElement.h b/WebCore/svg/SVGHKernElement.h
index 5985aee..7249fac 100644
--- a/WebCore/svg/SVGHKernElement.h
+++ b/WebCore/svg/SVGHKernElement.h
@@ -24,29 +24,22 @@
 
 #if ENABLE(SVG_FONTS)
 #include "SVGFontElement.h"
-#include "SVGParserUtilities.h"
-#include "SVGStyledElement.h"
-#include <wtf/Forward.h>
-
-#include <limits>
 
 namespace WebCore {
 
-    class SVGFontData;
-
     class SVGHKernElement : public SVGElement {
     public:
         static PassRefPtr<SVGHKernElement> create(const QualifiedName&, Document*);
 
+        void buildHorizontalKerningPair(KerningPairVector&);
+
+    private:
         SVGHKernElement(const QualifiedName&, Document*);
-        virtual ~SVGHKernElement();
 
         virtual void insertedIntoDocument();
         virtual void removedFromDocument();
 
         virtual bool rendererIsNeeded(RenderStyle*) { return false; }
-
-        void buildHorizontalKerningPair(KerningPairVector&);
     };
 
 } // namespace WebCore
diff --git a/WebCore/svg/SVGImageElement.cpp b/WebCore/svg/SVGImageElement.cpp
index 70515d6..22756e8 100644
--- a/WebCore/svg/SVGImageElement.cpp
+++ b/WebCore/svg/SVGImageElement.cpp
@@ -36,12 +36,8 @@
 
 namespace WebCore {
 
-SVGImageElement::SVGImageElement(const QualifiedName& tagName, Document* doc)
-    : SVGStyledTransformableElement(tagName, doc)
-    , SVGTests()
-    , SVGLangSpace()
-    , SVGExternalResourcesRequired()
-    , SVGURIReference()
+inline SVGImageElement::SVGImageElement(const QualifiedName& tagName, Document* document)
+    : SVGStyledTransformableElement(tagName, document)
     , m_x(LengthModeWidth)
     , m_y(LengthModeHeight)
     , m_width(LengthModeWidth)
@@ -55,10 +51,6 @@ PassRefPtr<SVGImageElement> SVGImageElement::create(const QualifiedName& tagName
     return new SVGImageElement(tagName, document);
 }
 
-SVGImageElement::~SVGImageElement()
-{
-}
-
 void SVGImageElement::parseMappedAttribute(Attribute* attr)
 {
     if (attr->name() == SVGNames::xAttr)
diff --git a/WebCore/svg/SVGImageElement.h b/WebCore/svg/SVGImageElement.h
index 474073f..9024415 100644
--- a/WebCore/svg/SVGImageElement.h
+++ b/WebCore/svg/SVGImageElement.h
@@ -42,8 +42,8 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGImageElement> create(const QualifiedName&, Document*);
 
+    private:
         SVGImageElement(const QualifiedName&, Document*);
-        virtual ~SVGImageElement();
         
         virtual bool isValid() const { return SVGTests::isValid(); }
 
@@ -59,10 +59,8 @@ namespace WebCore {
         virtual const QualifiedName& imageSourceAttributeName() const;       
         virtual void addSubresourceAttributeURLs(ListHashSet<KURL>&) const;
 
-    protected:
         virtual bool haveLoadedRequiredResources();
 
-    private:
         virtual bool selfHasRelativeLengths() const;
         virtual void willMoveToNewOwnerDocument();
 
diff --git a/WebCore/svg/SVGImageLoader.cpp b/WebCore/svg/SVGImageLoader.cpp
index 3d04863..5ba9c81 100644
--- a/WebCore/svg/SVGImageLoader.cpp
+++ b/WebCore/svg/SVGImageLoader.cpp
@@ -35,10 +35,6 @@ SVGImageLoader::SVGImageLoader(SVGImageElement* node)
 {
 }
 
-SVGImageLoader::~SVGImageLoader()
-{
-}
-
 void SVGImageLoader::dispatchLoadEvent()
 {
     if (image()->errorOccurred())
diff --git a/WebCore/svg/SVGImageLoader.h b/WebCore/svg/SVGImageLoader.h
index 807a9bc..98dcffc 100644
--- a/WebCore/svg/SVGImageLoader.h
+++ b/WebCore/svg/SVGImageLoader.h
@@ -30,8 +30,8 @@ namespace WebCore {
     class SVGImageLoader : public ImageLoader {
     public:
         SVGImageLoader(SVGImageElement*);
-        virtual ~SVGImageLoader();
 
+    private:
         virtual void dispatchLoadEvent();
         virtual String sourceURI(const AtomicString&) const;
     };
diff --git a/WebCore/svg/SVGLangSpace.cpp b/WebCore/svg/SVGLangSpace.cpp
index 4ac7c00..ad6458c 100644
--- a/WebCore/svg/SVGLangSpace.cpp
+++ b/WebCore/svg/SVGLangSpace.cpp
@@ -30,19 +30,6 @@
 
 namespace WebCore {
 
-SVGLangSpace::SVGLangSpace()
-{
-}
-
-SVGLangSpace::~SVGLangSpace()
-{
-}
-
-const AtomicString& SVGLangSpace::xmllang() const
-{
-    return m_lang;
-}
-
 void SVGLangSpace::setXmllang(const AtomicString& xmlLang)
 {
     m_lang = xmlLang;
diff --git a/WebCore/svg/SVGLangSpace.h b/WebCore/svg/SVGLangSpace.h
index 64e435d..723fa7a 100644
--- a/WebCore/svg/SVGLangSpace.h
+++ b/WebCore/svg/SVGLangSpace.h
@@ -31,10 +31,7 @@ namespace WebCore {
 
     class SVGLangSpace {
     public:
-        SVGLangSpace();
-        virtual ~SVGLangSpace();
-
-        const AtomicString& xmllang() const;
+        const AtomicString& xmllang() const { return m_lang; }
         void setXmllang(const AtomicString& xmlLang);
 
         const AtomicString& xmlspace() const;
diff --git a/WebCore/svg/SVGLengthList.cpp b/WebCore/svg/SVGLengthList.cpp
index d144ca0..2149e04 100644
--- a/WebCore/svg/SVGLengthList.cpp
+++ b/WebCore/svg/SVGLengthList.cpp
@@ -32,10 +32,6 @@ SVGLengthList::SVGLengthList(const QualifiedName& attributeName)
 {
 }
 
-SVGLengthList::~SVGLengthList()
-{
-}
-
 void SVGLengthList::parse(const String& value, SVGLengthMode mode)
 {
     ExceptionCode ec = 0;
diff --git a/WebCore/svg/SVGLengthList.h b/WebCore/svg/SVGLengthList.h
index bbabf62..27b958f 100644
--- a/WebCore/svg/SVGLengthList.h
+++ b/WebCore/svg/SVGLengthList.h
@@ -30,9 +30,8 @@ namespace WebCore {
     class SVGLengthList : public SVGPODList<SVGLength> {
     public:
         static PassRefPtr<SVGLengthList> create(const QualifiedName& attributeName) { return adoptRef(new SVGLengthList(attributeName)); }
-        virtual ~SVGLengthList();
 
-        void parse(const String& value, SVGLengthMode mode);
+        void parse(const String& value, SVGLengthMode);
  
         String valueAsString() const;
 
diff --git a/WebCore/svg/SVGLineElement.cpp b/WebCore/svg/SVGLineElement.cpp
index 1911529..84b9cee 100644
--- a/WebCore/svg/SVGLineElement.cpp
+++ b/WebCore/svg/SVGLineElement.cpp
@@ -32,11 +32,8 @@
 
 namespace WebCore {
 
-SVGLineElement::SVGLineElement(const QualifiedName& tagName, Document* doc)
-    : SVGStyledTransformableElement(tagName, doc)
-    , SVGTests()
-    , SVGLangSpace()
-    , SVGExternalResourcesRequired()
+inline SVGLineElement::SVGLineElement(const QualifiedName& tagName, Document* document)
+    : SVGStyledTransformableElement(tagName, document)
     , m_x1(LengthModeWidth)
     , m_y1(LengthModeHeight)
     , m_x2(LengthModeWidth)
@@ -49,10 +46,6 @@ PassRefPtr<SVGLineElement> SVGLineElement::create(const QualifiedName& tagName,
     return new SVGLineElement(tagName, document);
 }
 
-SVGLineElement::~SVGLineElement()
-{
-}
-
 void SVGLineElement::parseMappedAttribute(Attribute* attr)
 {
     if (attr->name() == SVGNames::x1Attr)
diff --git a/WebCore/svg/SVGLineElement.h b/WebCore/svg/SVGLineElement.h
index 1bfa189..21007f0 100644
--- a/WebCore/svg/SVGLineElement.h
+++ b/WebCore/svg/SVGLineElement.h
@@ -38,8 +38,8 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGLineElement> create(const QualifiedName&, Document*);
 
+    private:
         SVGLineElement(const QualifiedName&, Document*);
-        virtual ~SVGLineElement();
         
         virtual bool isValid() const { return SVGTests::isValid(); }
 
@@ -51,7 +51,6 @@ namespace WebCore {
 
         virtual bool supportsMarkers() const { return true; }
 
-    private:
         virtual bool selfHasRelativeLengths() const;
 
         DECLARE_ANIMATED_PROPERTY(SVGLineElement, SVGNames::x1Attr, SVGLength, X1, x1)
diff --git a/WebCore/svg/SVGLinearGradientElement.cpp b/WebCore/svg/SVGLinearGradientElement.cpp
index c8a8337..f727a0c 100644
--- a/WebCore/svg/SVGLinearGradientElement.cpp
+++ b/WebCore/svg/SVGLinearGradientElement.cpp
@@ -39,8 +39,8 @@
 
 namespace WebCore {
 
-SVGLinearGradientElement::SVGLinearGradientElement(const QualifiedName& tagName, Document* doc)
-    : SVGGradientElement(tagName, doc)
+inline SVGLinearGradientElement::SVGLinearGradientElement(const QualifiedName& tagName, Document* document)
+    : SVGGradientElement(tagName, document)
     , m_x1(LengthModeWidth)
     , m_y1(LengthModeHeight)
     , m_x2(LengthModeWidth, "100%")
@@ -54,10 +54,6 @@ PassRefPtr<SVGLinearGradientElement> SVGLinearGradientElement::create(const Qual
     return new SVGLinearGradientElement(tagName, document);
 }
 
-SVGLinearGradientElement::~SVGLinearGradientElement()
-{
-}
-
 void SVGLinearGradientElement::parseMappedAttribute(Attribute* attr)
 {
     if (attr->name() == SVGNames::x1Attr)
diff --git a/WebCore/svg/SVGLinearGradientElement.h b/WebCore/svg/SVGLinearGradientElement.h
index 08a312b..dec912f 100644
--- a/WebCore/svg/SVGLinearGradientElement.h
+++ b/WebCore/svg/SVGLinearGradientElement.h
@@ -33,8 +33,11 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGLinearGradientElement> create(const QualifiedName&, Document*);
 
+        LinearGradientAttributes collectGradientProperties();
+        void calculateStartEndPoints(const LinearGradientAttributes&, FloatPoint& startPoint, FloatPoint& endPoint);
+
+    private:
         SVGLinearGradientElement(const QualifiedName&, Document*);
-        virtual ~SVGLinearGradientElement();
 
         virtual void parseMappedAttribute(Attribute*);
         virtual void svgAttributeChanged(const QualifiedName&);
@@ -42,10 +45,6 @@ namespace WebCore {
 
         virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
 
-        LinearGradientAttributes collectGradientProperties();
-        void calculateStartEndPoints(const LinearGradientAttributes&, FloatPoint& startPoint, FloatPoint& endPoint);
-
-    private:
         virtual bool selfHasRelativeLengths() const;
 
         DECLARE_ANIMATED_PROPERTY(SVGLinearGradientElement, SVGNames::x1Attr, SVGLength, X1, x1)
diff --git a/WebCore/svg/SVGLocatable.cpp b/WebCore/svg/SVGLocatable.cpp
index b7b4440..3311a5a 100644
--- a/WebCore/svg/SVGLocatable.cpp
+++ b/WebCore/svg/SVGLocatable.cpp
@@ -31,14 +31,6 @@
 
 namespace WebCore {
 
-SVGLocatable::SVGLocatable()
-{
-}
-
-SVGLocatable::~SVGLocatable()
-{
-}
-
 static bool isViewportElement(Node* node)
 {
     return (node->hasTagName(SVGNames::svgTag)
diff --git a/WebCore/svg/SVGLocatable.h b/WebCore/svg/SVGLocatable.h
index 2e51dc5..b19f5cd 100644
--- a/WebCore/svg/SVGLocatable.h
+++ b/WebCore/svg/SVGLocatable.h
@@ -33,8 +33,7 @@ class SVGElement;
 
 class SVGLocatable {
 public:
-    SVGLocatable();
-    virtual ~SVGLocatable();
+    virtual ~SVGLocatable() { }
 
     // 'SVGLocatable' functions
     virtual SVGElement* nearestViewportElement() const = 0;
diff --git a/WebCore/svg/SVGMPathElement.cpp b/WebCore/svg/SVGMPathElement.cpp
index a7dd043..8238614 100644
--- a/WebCore/svg/SVGMPathElement.cpp
+++ b/WebCore/svg/SVGMPathElement.cpp
@@ -27,8 +27,8 @@
 
 namespace WebCore {
 
-SVGMPathElement::SVGMPathElement(const QualifiedName& qname, Document* doc)
-    : SVGElement(qname, doc)
+inline SVGMPathElement::SVGMPathElement(const QualifiedName& tagName, Document* document)
+    : SVGElement(tagName, document)
 {
 }
 
@@ -37,10 +37,6 @@ PassRefPtr<SVGMPathElement> SVGMPathElement::create(const QualifiedName& tagName
     return new SVGMPathElement(tagName, document);
 }
 
-SVGMPathElement::~SVGMPathElement()
-{
-}
-
 void SVGMPathElement::parseMappedAttribute(Attribute* attr)
 {
     if (SVGURIReference::parseMappedAttribute(attr))
diff --git a/WebCore/svg/SVGMPathElement.h b/WebCore/svg/SVGMPathElement.h
index 9223bf9..1bbe7d3 100644
--- a/WebCore/svg/SVGMPathElement.h
+++ b/WebCore/svg/SVGMPathElement.h
@@ -34,15 +34,14 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGMPathElement> create(const QualifiedName&, Document*);
 
+        SVGPathElement* pathElement();
+        
+    private:
         SVGMPathElement(const QualifiedName&, Document*);
-        virtual ~SVGMPathElement();
         
         virtual void parseMappedAttribute(Attribute*);
         virtual void synchronizeProperty(const QualifiedName&);
         
-        SVGPathElement* pathElement();
-        
-    private:
         // SVGURIReference
         DECLARE_ANIMATED_PROPERTY(SVGMPathElement, XLinkNames::hrefAttr, String, Href, href)
 
diff --git a/WebCore/svg/SVGMarkerElement.cpp b/WebCore/svg/SVGMarkerElement.cpp
index cd22f70..d8d0489 100644
--- a/WebCore/svg/SVGMarkerElement.cpp
+++ b/WebCore/svg/SVGMarkerElement.cpp
@@ -38,11 +38,8 @@ namespace WebCore {
 char SVGOrientTypeAttrIdentifier[] = "SVGOrientTypeAttr";
 char SVGOrientAngleAttrIdentifier[] = "SVGOrientAngleAttr";
 
-SVGMarkerElement::SVGMarkerElement(const QualifiedName& tagName, Document* doc)
-    : SVGStyledElement(tagName, doc)
-    , SVGLangSpace()
-    , SVGExternalResourcesRequired()
-    , SVGFitToViewBox()
+SVGMarkerElement::SVGMarkerElement(const QualifiedName& tagName, Document* document)
+    : SVGStyledElement(tagName, document)
     , m_refX(LengthModeWidth)
     , m_refY(LengthModeHeight)
     , m_markerWidth(LengthModeWidth, "3")
@@ -58,10 +55,6 @@ PassRefPtr<SVGMarkerElement> SVGMarkerElement::create(const QualifiedName& tagNa
     return new SVGMarkerElement(tagName, document);
 }
 
-SVGMarkerElement::~SVGMarkerElement()
-{
-}
-
 AffineTransform SVGMarkerElement::viewBoxToViewTransform(float viewWidth, float viewHeight) const
 {
     return SVGFitToViewBox::viewBoxToViewTransform(viewBox(), preserveAspectRatio(), viewWidth, viewHeight);
diff --git a/WebCore/svg/SVGMarkerElement.h b/WebCore/svg/SVGMarkerElement.h
index e3631e1..7782739 100644
--- a/WebCore/svg/SVGMarkerElement.h
+++ b/WebCore/svg/SVGMarkerElement.h
@@ -55,16 +55,16 @@ public:
 
     static PassRefPtr<SVGMarkerElement> create(const QualifiedName&, Document*);
 
-    SVGMarkerElement(const QualifiedName&, Document*);
-    virtual ~SVGMarkerElement();
-
-    virtual bool needsPendingResourceHandling() const { return false; }
-
     AffineTransform viewBoxToViewTransform(float viewWidth, float viewHeight) const;
 
     void setOrientToAuto();
     void setOrientToAngle(const SVGAngle&);
 
+private:
+    SVGMarkerElement(const QualifiedName&, Document*);
+
+    virtual bool needsPendingResourceHandling() const { return false; }
+
     virtual void parseMappedAttribute(Attribute*);
     virtual void svgAttributeChanged(const QualifiedName&);
     virtual void synchronizeProperty(const QualifiedName&);
@@ -72,7 +72,6 @@ public:
 
     virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
 
-private:
     virtual bool selfHasRelativeLengths() const;
 
     DECLARE_ANIMATED_PROPERTY(SVGMarkerElement, SVGNames::refXAttr, SVGLength, RefX, refX)
diff --git a/WebCore/svg/SVGMaskElement.cpp b/WebCore/svg/SVGMaskElement.cpp
index b9d97d0..384b234 100644
--- a/WebCore/svg/SVGMaskElement.cpp
+++ b/WebCore/svg/SVGMaskElement.cpp
@@ -38,11 +38,8 @@ using namespace std;
 
 namespace WebCore {
 
-SVGMaskElement::SVGMaskElement(const QualifiedName& tagName, Document* doc)
-    : SVGStyledLocatableElement(tagName, doc)
-    , SVGTests()
-    , SVGLangSpace()
-    , SVGExternalResourcesRequired()
+inline SVGMaskElement::SVGMaskElement(const QualifiedName& tagName, Document* document)
+    : SVGStyledLocatableElement(tagName, document)
     , m_maskUnits(SVGUnitTypes::SVG_UNIT_TYPE_OBJECTBOUNDINGBOX)
     , m_maskContentUnits(SVGUnitTypes::SVG_UNIT_TYPE_USERSPACEONUSE)
     , m_x(LengthModeWidth, "-10%")
@@ -59,10 +56,6 @@ PassRefPtr<SVGMaskElement> SVGMaskElement::create(const QualifiedName& tagName,
     return new SVGMaskElement(tagName, document);
 }
 
-SVGMaskElement::~SVGMaskElement()
-{
-}
-
 void SVGMaskElement::parseMappedAttribute(Attribute* attr)
 {
     if (attr->name() == SVGNames::maskUnitsAttr) {
diff --git a/WebCore/svg/SVGMaskElement.h b/WebCore/svg/SVGMaskElement.h
index 0ca6fdc..c951beb 100644
--- a/WebCore/svg/SVGMaskElement.h
+++ b/WebCore/svg/SVGMaskElement.h
@@ -38,13 +38,14 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGMaskElement> create(const QualifiedName&, Document*);
 
+        FloatRect maskBoundingBox(const FloatRect&) const;
+
+    private:
         SVGMaskElement(const QualifiedName&, Document*);
-        virtual ~SVGMaskElement();
 
         virtual bool isValid() const { return SVGTests::isValid(); }
         virtual bool needsPendingResourceHandling() const { return false; }
 
-        FloatRect maskBoundingBox(const FloatRect&) const;
         virtual void parseMappedAttribute(Attribute*);
         virtual void svgAttributeChanged(const QualifiedName&);
         virtual void synchronizeProperty(const QualifiedName&);
@@ -52,7 +53,6 @@ namespace WebCore {
 
         virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
 
-    private:
         virtual bool selfHasRelativeLengths() const;
 
         DECLARE_ANIMATED_PROPERTY(SVGMaskElement, SVGNames::maskUnitsAttr, int, MaskUnits, maskUnits)
diff --git a/WebCore/svg/SVGMetadataElement.cpp b/WebCore/svg/SVGMetadataElement.cpp
index 8e36226..740d94f 100644
--- a/WebCore/svg/SVGMetadataElement.cpp
+++ b/WebCore/svg/SVGMetadataElement.cpp
@@ -22,10 +22,10 @@
 #if ENABLE(SVG)
 #include "SVGMetadataElement.h"
 
-using namespace WebCore;
+namespace WebCore {
 
-SVGMetadataElement::SVGMetadataElement(const QualifiedName& tagName, Document *doc)
-: SVGElement(tagName, doc)
+inline SVGMetadataElement::SVGMetadataElement(const QualifiedName& tagName, Document* document)
+    : SVGElement(tagName, document)
 {
 }
 
@@ -34,8 +34,6 @@ PassRefPtr<SVGMetadataElement> SVGMetadataElement::create(const QualifiedName& t
     return new SVGMetadataElement(tagName, document);
 }
 
-SVGMetadataElement::~SVGMetadataElement()
-{
 }
 
 #endif // ENABLE(SVG)
diff --git a/WebCore/svg/SVGMetadataElement.h b/WebCore/svg/SVGMetadataElement.h
index db56631..4cac5bc 100644
--- a/WebCore/svg/SVGMetadataElement.h
+++ b/WebCore/svg/SVGMetadataElement.h
@@ -30,8 +30,8 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGMetadataElement> create(const QualifiedName&, Document*);
 
+    private:
         SVGMetadataElement(const QualifiedName&, Document*);
-        virtual ~SVGMetadataElement();
     };
 
 } // namespace WebCore
diff --git a/WebCore/svg/SVGMissingGlyphElement.cpp b/WebCore/svg/SVGMissingGlyphElement.cpp
index 86d57a4..3c7c502 100644
--- a/WebCore/svg/SVGMissingGlyphElement.cpp
+++ b/WebCore/svg/SVGMissingGlyphElement.cpp
@@ -24,8 +24,8 @@
 
 namespace WebCore {
 
-SVGMissingGlyphElement::SVGMissingGlyphElement(const QualifiedName& tagName, Document* doc)
-    : SVGStyledElement(tagName, doc)
+inline SVGMissingGlyphElement::SVGMissingGlyphElement(const QualifiedName& tagName, Document* document)
+    : SVGStyledElement(tagName, document)
 {
 }
 
diff --git a/WebCore/svg/SVGMissingGlyphElement.h b/WebCore/svg/SVGMissingGlyphElement.h
index 9391063..ecae295 100644
--- a/WebCore/svg/SVGMissingGlyphElement.h
+++ b/WebCore/svg/SVGMissingGlyphElement.h
@@ -24,10 +24,12 @@
 #include "SVGStyledElement.h"
 
 namespace WebCore {
+
     class SVGMissingGlyphElement : public SVGStyledElement {
     public:
         static PassRefPtr<SVGMissingGlyphElement> create(const QualifiedName&, Document*);
 
+    private:
         SVGMissingGlyphElement(const QualifiedName&, Document*);
 
         virtual bool rendererIsNeeded(RenderStyle*) { return false; }
diff --git a/WebCore/svg/SVGNumberList.cpp b/WebCore/svg/SVGNumberList.cpp
index 0603af7..96fe55f 100644
--- a/WebCore/svg/SVGNumberList.cpp
+++ b/WebCore/svg/SVGNumberList.cpp
@@ -32,10 +32,6 @@ SVGNumberList::SVGNumberList(const QualifiedName& attributeName)
 {
 }
 
-SVGNumberList::~SVGNumberList()
-{
-}
-
 void SVGNumberList::parse(const String& value)
 {
     ExceptionCode ec = 0;
diff --git a/WebCore/svg/SVGNumberList.h b/WebCore/svg/SVGNumberList.h
index fa29356..e64b0b7 100644
--- a/WebCore/svg/SVGNumberList.h
+++ b/WebCore/svg/SVGNumberList.h
@@ -31,7 +31,6 @@ namespace WebCore {
     class SVGNumberList : public SVGPODList<float> {
     public:
         static PassRefPtr<SVGNumberList> create(const QualifiedName& attributeName) { return adoptRef(new SVGNumberList(attributeName)); }
-        virtual ~SVGNumberList();
 
         void parse(const String& value);
  
diff --git a/WebCore/svg/SVGPaint.cpp b/WebCore/svg/SVGPaint.cpp
index a2100aa..b36e97d 100644
--- a/WebCore/svg/SVGPaint.cpp
+++ b/WebCore/svg/SVGPaint.cpp
@@ -63,10 +63,6 @@ SVGPaint::SVGPaint(const String& uri, const Color& c)
     setUri(uri);
 }
 
-SVGPaint::~SVGPaint()
-{
-}
-
 SVGPaint* SVGPaint::defaultFill()
 {
     static SVGPaint* staticDefaultFill = create(Color::black).releaseRef();
diff --git a/WebCore/svg/SVGPaint.h b/WebCore/svg/SVGPaint.h
index e86c315..f0ceb4c 100644
--- a/WebCore/svg/SVGPaint.h
+++ b/WebCore/svg/SVGPaint.h
@@ -64,16 +64,12 @@ namespace WebCore {
             return adoptRef(new SVGPaint(uri, color));
         }
 
-        virtual ~SVGPaint();
-
         // 'SVGPaint' functions
         SVGPaintType paintType() const { return m_paintType; }
         String uri() const;
 
         void setUri(const String&);
         void setPaint(SVGPaintType, const String& uri, const String& rgbPaint, const String& iccPaint, ExceptionCode&);
-
-        virtual String cssText() const;
         
         static SVGPaint* defaultFill();
         static SVGPaint* defaultStroke();
@@ -90,6 +86,8 @@ namespace WebCore {
 
         virtual bool isSVGPaint() const { return true; }
 
+        virtual String cssText() const;
+
         SVGPaintType m_paintType;
         String m_uri;
     };
diff --git a/WebCore/svg/SVGParserUtilities.cpp b/WebCore/svg/SVGParserUtilities.cpp
index 5bf2fbc..b8b6d85 100644
--- a/WebCore/svg/SVGParserUtilities.cpp
+++ b/WebCore/svg/SVGParserUtilities.cpp
@@ -34,11 +34,10 @@
 
 namespace WebCore {
 
-/* We use this generic _parseNumber function to allow the Path parsing code to work 
- * at a higher precision internally, without any unnecessary runtime cost or code
- * complexity
- */    
-template <typename FloatType> static bool _parseNumber(const UChar*& ptr, const UChar* end, FloatType& number, bool skip)
+// We use this generic parseNumber function to allow the Path parsing code to work 
+// at a higher precision internally, without any unnecessary runtime cost or code
+// complexity.
+template <typename FloatType> static bool genericParseNumber(const UChar*& ptr, const UChar* end, FloatType& number, bool skip)
 {
     int exponent;
     FloatType integer, decimal, frac;
@@ -127,7 +126,7 @@ template <typename FloatType> static bool _parseNumber(const UChar*& ptr, const
 
 bool parseNumber(const UChar*& ptr, const UChar* end, float& number, bool skip) 
 {
-    return _parseNumber(ptr, end, number, skip);
+    return genericParseNumber(ptr, end, number, skip);
 }
 
 // only used to parse largeArcFlag and sweepFlag which must be a "0" or "1"
diff --git a/WebCore/svg/SVGPathBlender.cpp b/WebCore/svg/SVGPathBlender.cpp
index 8320890..d46e24a 100644
--- a/WebCore/svg/SVGPathBlender.cpp
+++ b/WebCore/svg/SVGPathBlender.cpp
@@ -34,10 +34,6 @@ SVGPathBlender::SVGPathBlender()
 {
 }
 
-SVGPathBlender::~SVGPathBlender()
-{
-}
-
 float SVGPathBlender::blendAnimatedFloat(float from, float to)
 {
     return (to - from) * m_progress + from;
diff --git a/WebCore/svg/SVGPathBlender.h b/WebCore/svg/SVGPathBlender.h
index a15c0ad..c0ae7f3 100644
--- a/WebCore/svg/SVGPathBlender.h
+++ b/WebCore/svg/SVGPathBlender.h
@@ -30,7 +30,6 @@ namespace WebCore {
 class SVGPathBlender : public Noncopyable {
 public:
     SVGPathBlender();
-    ~SVGPathBlender();
 
     bool blendAnimatedPath(float, SVGPathSource*, SVGPathSource*, SVGPathConsumer*);
     void cleanup();
diff --git a/WebCore/svg/SVGPathBuilder.h b/WebCore/svg/SVGPathBuilder.h
index 38eabd4..f3c2632 100644
--- a/WebCore/svg/SVGPathBuilder.h
+++ b/WebCore/svg/SVGPathBuilder.h
@@ -36,18 +36,18 @@ public:
     SVGPathBuilder();
 
     void setCurrentPath(Path* path) { m_path = path; }
+
+private:
     virtual void incrementPathSegmentCount() { }
     virtual bool continueConsuming() { return true; }
     virtual void cleanup() { m_path = 0; }
 
-private:
     // Used in UnalteredParisng/NormalizedParsing modes.
     virtual void moveTo(const FloatPoint&, bool closed, PathCoordinateMode);
     virtual void lineTo(const FloatPoint&, PathCoordinateMode);
     virtual void curveToCubic(const FloatPoint&, const FloatPoint&, const FloatPoint&, PathCoordinateMode);
     virtual void closePath();
 
-private:
     // Only used in UnalteredParsing mode.
     virtual void lineToHorizontal(float, PathCoordinateMode) { ASSERT_NOT_REACHED(); }
     virtual void lineToVertical(float, PathCoordinateMode) { ASSERT_NOT_REACHED(); }
diff --git a/WebCore/svg/SVGPathByteStreamBuilder.h b/WebCore/svg/SVGPathByteStreamBuilder.h
index c89856f..55803aa 100644
--- a/WebCore/svg/SVGPathByteStreamBuilder.h
+++ b/WebCore/svg/SVGPathByteStreamBuilder.h
@@ -34,18 +34,18 @@ public:
     SVGPathByteStreamBuilder();
 
     void setCurrentByteStream(SVGPathByteStream* byteStream) { m_byteStream = byteStream; }
+
+private:
     virtual void incrementPathSegmentCount() { }
     virtual bool continueConsuming() { return true; }
     virtual void cleanup() { m_byteStream = 0; }
 
-private:
     // Used in UnalteredParsing/NormalizedParsing modes.
     virtual void moveTo(const FloatPoint&, bool closed, PathCoordinateMode);
     virtual void lineTo(const FloatPoint&, PathCoordinateMode);
     virtual void curveToCubic(const FloatPoint&, const FloatPoint&, const FloatPoint&, PathCoordinateMode);
     virtual void closePath();
 
-private:
     // Only used in UnalteredParsing mode.
     virtual void lineToHorizontal(float, PathCoordinateMode);
     virtual void lineToVertical(float, PathCoordinateMode);
@@ -54,7 +54,6 @@ private:
     virtual void curveToQuadraticSmooth(const FloatPoint&, PathCoordinateMode);
     virtual void arcTo(float, float, float, bool largeArcFlag, bool sweepFlag, const FloatPoint&, PathCoordinateMode);
 
-private:
     template<typename ByteType>
     void writeType(const ByteType& type)
     {
diff --git a/WebCore/svg/SVGPathByteStreamSource.cpp b/WebCore/svg/SVGPathByteStreamSource.cpp
index e6a60e3..d0475f3 100644
--- a/WebCore/svg/SVGPathByteStreamSource.cpp
+++ b/WebCore/svg/SVGPathByteStreamSource.cpp
@@ -32,10 +32,6 @@ SVGPathByteStreamSource::SVGPathByteStreamSource(SVGPathByteStream* stream)
     m_streamEnd = stream->end();
 }
 
-SVGPathByteStreamSource::~SVGPathByteStreamSource()
-{
-}
-
 bool SVGPathByteStreamSource::hasMoreData() const
 {
     return m_streamCurrent < m_streamEnd;
diff --git a/WebCore/svg/SVGPathByteStreamSource.h b/WebCore/svg/SVGPathByteStreamSource.h
index 2537ad2..6895c73 100644
--- a/WebCore/svg/SVGPathByteStreamSource.h
+++ b/WebCore/svg/SVGPathByteStreamSource.h
@@ -35,7 +35,8 @@ public:
         return adoptPtr(new SVGPathByteStreamSource(stream));
     }
 
-    virtual ~SVGPathByteStreamSource();
+private:
+    SVGPathByteStreamSource(SVGPathByteStream*);
 
     virtual bool hasMoreData() const;
     virtual bool moveToNextToken() { return true; }
@@ -52,9 +53,6 @@ public:
     virtual bool parseCurveToQuadraticSmoothSegment(FloatPoint&);
     virtual bool parseArcToSegment(float&, float&, float&, bool&, bool&, FloatPoint&);
 
-private:
-    SVGPathByteStreamSource(SVGPathByteStream*);
-
 #if COMPILER(MSVC)
 #pragma warning(disable: 4701)
 #endif
diff --git a/WebCore/svg/SVGPathConsumer.h b/WebCore/svg/SVGPathConsumer.h
index 629c1bf..b7c5e73 100644
--- a/WebCore/svg/SVGPathConsumer.h
+++ b/WebCore/svg/SVGPathConsumer.h
@@ -46,14 +46,12 @@ public:
     virtual bool continueConsuming() = 0;
     virtual void cleanup() = 0;
 
-public:
     // Used in UnalteredParisng/NormalizedParsing modes.
     virtual void moveTo(const FloatPoint&, bool closed, PathCoordinateMode) = 0;
     virtual void lineTo(const FloatPoint&, PathCoordinateMode) = 0;
     virtual void curveToCubic(const FloatPoint&, const FloatPoint&, const FloatPoint&, PathCoordinateMode) = 0;
     virtual void closePath() = 0;
 
-public:
     // Only used in UnalteredParsing mode.
     virtual void lineToHorizontal(float, PathCoordinateMode) = 0;
     virtual void lineToVertical(float, PathCoordinateMode) = 0;
@@ -63,7 +61,6 @@ public:
     virtual void arcTo(float, float, float, bool largeArcFlag, bool sweepFlag, const FloatPoint&, PathCoordinateMode) = 0;
 
 protected:
-    SVGPathConsumer() { }
     virtual ~SVGPathConsumer() { }
 };
 
diff --git a/WebCore/svg/SVGPathElement.cpp b/WebCore/svg/SVGPathElement.cpp
index be686a8..20ec5cd 100644
--- a/WebCore/svg/SVGPathElement.cpp
+++ b/WebCore/svg/SVGPathElement.cpp
@@ -44,11 +44,8 @@
 
 namespace WebCore {
 
-SVGPathElement::SVGPathElement(const QualifiedName& tagName, Document* doc)
-    : SVGStyledTransformableElement(tagName, doc)
-    , SVGTests()
-    , SVGLangSpace()
-    , SVGExternalResourcesRequired()
+inline SVGPathElement::SVGPathElement(const QualifiedName& tagName, Document* document)
+    : SVGStyledTransformableElement(tagName, document)
 {
 }
 
@@ -57,10 +54,6 @@ PassRefPtr<SVGPathElement> SVGPathElement::create(const QualifiedName& tagName,
     return new SVGPathElement(tagName, document);
 }
 
-SVGPathElement::~SVGPathElement()
-{
-}
-
 float SVGPathElement::getTotalLength()
 {
     // FIXME: this may wish to use the pathSegList instead of the pathdata if that's cheaper to build (or cached)
diff --git a/WebCore/svg/SVGPathElement.h b/WebCore/svg/SVGPathElement.h
index 7f058de..cc4e7bd 100644
--- a/WebCore/svg/SVGPathElement.h
+++ b/WebCore/svg/SVGPathElement.h
@@ -50,6 +50,7 @@ namespace WebCore {
     class SVGPathSegCurvetoCubicSmoothRel;
     class SVGPathSegCurvetoQuadraticSmoothAbs;
     class SVGPathSegCurvetoQuadraticSmoothRel;
+
     class SVGPathElement : public SVGStyledTransformableElement,
                            public SVGTests,
                            public SVGLangSpace,
@@ -57,11 +58,7 @@ namespace WebCore {
                            public SVGAnimatedPathData {
     public:
         static PassRefPtr<SVGPathElement> create(const QualifiedName&, Document*);
-
-        SVGPathElement(const QualifiedName&, Document*);
-        virtual ~SVGPathElement();
         
-        virtual bool isValid() const { return SVGTests::isValid(); }
         float getTotalLength();
         FloatPoint getPointAtLength(float distance);
         unsigned long getPathSegAtLength(float distance);
@@ -92,15 +89,19 @@ namespace WebCore {
         virtual SVGPathSegList* animatedPathSegList() const;
         virtual SVGPathSegList* animatedNormalizedPathSegList() const;
 
+        virtual Path toPathData() const;
+
+    private:
+        SVGPathElement(const QualifiedName&, Document*);
+
+        virtual bool isValid() const { return SVGTests::isValid(); }
+
         virtual void parseMappedAttribute(Attribute*);
         virtual void svgAttributeChanged(const QualifiedName&);
         virtual void synchronizeProperty(const QualifiedName&);
 
-        virtual Path toPathData() const;
-
         virtual bool supportsMarkers() const { return true; }
 
-    private:
         mutable RefPtr<SVGPathSegList> m_pathSegList;
 
         DECLARE_ANIMATED_PROPERTY(SVGPathElement, SVGNames::pathLengthAttr, float, PathLength, pathLength)
diff --git a/WebCore/svg/SVGPathParser.cpp b/WebCore/svg/SVGPathParser.cpp
index 66bd00f..a0d6847 100644
--- a/WebCore/svg/SVGPathParser.cpp
+++ b/WebCore/svg/SVGPathParser.cpp
@@ -38,10 +38,6 @@ SVGPathParser::SVGPathParser()
 {
 }
 
-SVGPathParser::~SVGPathParser()
-{
-}
-
 void SVGPathParser::parseClosePathSegment()
 {
     // Reset m_currentPoint for the next path.
diff --git a/WebCore/svg/SVGPathParser.h b/WebCore/svg/SVGPathParser.h
index 5393fc2..7679a95 100644
--- a/WebCore/svg/SVGPathParser.h
+++ b/WebCore/svg/SVGPathParser.h
@@ -37,7 +37,6 @@ namespace WebCore {
 class SVGPathParser : public Noncopyable {
 public:
     SVGPathParser();
-    ~SVGPathParser();
 
     bool parsePathDataFromSource(PathParsingMode pathParsingMode);
     void setCurrentConsumer(SVGPathConsumer* consumer) { m_consumer = consumer; }
diff --git a/WebCore/svg/SVGPathSeg.cpp b/WebCore/svg/SVGPathSeg.cpp
index 56ee56c..5939976 100644
--- a/WebCore/svg/SVGPathSeg.cpp
+++ b/WebCore/svg/SVGPathSeg.cpp
@@ -31,20 +31,6 @@
 
 namespace WebCore {
 
-SVGPathSeg::~SVGPathSeg()
-{
-}
-
-unsigned short SVGPathSeg::pathSegType() const
-{
-    return PATHSEG_UNKNOWN;
-}
-
-String SVGPathSeg::pathSegTypeAsLetter() const
-{
-    return "";
-}
-
 const QualifiedName& SVGPathSeg::associatedAttributeName() const
 {
     return SVGNames::dAttr;
diff --git a/WebCore/svg/SVGPathSeg.h b/WebCore/svg/SVGPathSeg.h
index 6c4db89..a2cf261 100644
--- a/WebCore/svg/SVGPathSeg.h
+++ b/WebCore/svg/SVGPathSeg.h
@@ -50,13 +50,11 @@ enum SVGPathSegType {
     PathSegCurveToQuadraticSmoothRel = 19
 };
 
-class SVGPathElement;
-class SVGStyledElement;
 class QualifiedName;
 
 class SVGPathSeg : public RefCounted<SVGPathSeg> {
 public:
-    virtual ~SVGPathSeg();
+    virtual ~SVGPathSeg() { }
 
     // Forward declare these enums in the w3c naming scheme, for IDL generation
     enum {
@@ -83,29 +81,27 @@ public:
     };
 
 
-    virtual unsigned short pathSegType() const;
-    virtual String pathSegTypeAsLetter() const;
+    virtual unsigned short pathSegType() const = 0;
+    virtual String pathSegTypeAsLetter() const = 0;
 
     const QualifiedName& associatedAttributeName() const;
-    
-protected:
-    SVGPathSeg() { }
 };
 
 class SVGPathSegSingleCoord : public SVGPathSeg { 
 public:
-    SVGPathSegSingleCoord(float x, float y)
-        : m_x(x)
-        , m_y(y)
-    {
-    }
-
     void setX(float x) { m_x = x; }
     float x() const { return m_x; }
 
     void setY(float y) { m_y = y; }
     float y() const { return m_y; }
 
+protected:
+    SVGPathSegSingleCoord(float x, float y)
+        : m_x(x)
+        , m_y(y)
+    {
+    }
+
 private:
     float m_x;
     float m_y;
diff --git a/WebCore/svg/SVGPathSegArc.h b/WebCore/svg/SVGPathSegArc.h
index c7bbbb0..5d5c332 100644
--- a/WebCore/svg/SVGPathSegArc.h
+++ b/WebCore/svg/SVGPathSegArc.h
@@ -80,11 +80,11 @@ namespace WebCore {
             return adoptRef(new SVGPathSegArcAbs(x, y, r1, r2, angle, largeArcFlag, sweepFlag));
         }
 
-        virtual unsigned short pathSegType() const { return PATHSEG_ARC_ABS; }
-        virtual String pathSegTypeAsLetter() const { return "A"; }
-
     private:
         SVGPathSegArcAbs(float x, float y, float r1, float r2, float angle, bool largeArcFlag, bool sweepFlag);
+
+        virtual unsigned short pathSegType() const { return PATHSEG_ARC_ABS; }
+        virtual String pathSegTypeAsLetter() const { return "A"; }
     };
 
     class SVGPathSegArcRel : public SVGPathSegArc {
@@ -94,11 +94,11 @@ namespace WebCore {
             return adoptRef(new SVGPathSegArcRel(x, y, r1, r2, angle, largeArcFlag, sweepFlag));
         }
 
-        virtual unsigned short pathSegType() const { return PATHSEG_ARC_REL; }
-        virtual String pathSegTypeAsLetter() const { return "a"; }
-
     private:
         SVGPathSegArcRel(float x, float y, float r1, float r2, float angle, bool largeArcFlag, bool sweepFlag);
+
+        virtual unsigned short pathSegType() const { return PATHSEG_ARC_REL; }
+        virtual String pathSegTypeAsLetter() const { return "a"; }
     };
 
 } // namespace WebCore
diff --git a/WebCore/svg/SVGPathSegClosePath.cpp b/WebCore/svg/SVGPathSegClosePath.cpp
index d3c8c3b..6f54888 100644
--- a/WebCore/svg/SVGPathSegClosePath.cpp
+++ b/WebCore/svg/SVGPathSegClosePath.cpp
@@ -1,41 +1 @@
-/*
- * Copyright (C) 2004, 2005, 2006 Nikolas Zimmermann <zimmermann at kde.org>
- * Copyright (C) 2004, 2005, 2006 Rob Buis <buis at kde.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#include "config.h"
-
-#if ENABLE(SVG)
-#include "SVGPathSegClosePath.h"
-
-namespace WebCore {
-
-SVGPathSegClosePath::SVGPathSegClosePath()
-    : SVGPathSeg()
-{
-}
-
-SVGPathSegClosePath::~SVGPathSegClosePath()
-{
-}
-
-}
-
-#endif // ENABLE(SVG)
-
-// vim:ts=4:noet
+// This file is now intentionally empty. Delete it after removing it from all the build systems and project files.
diff --git a/WebCore/svg/SVGPathSegClosePath.h b/WebCore/svg/SVGPathSegClosePath.h
index 635c970..8f074ed 100644
--- a/WebCore/svg/SVGPathSegClosePath.h
+++ b/WebCore/svg/SVGPathSegClosePath.h
@@ -31,13 +31,12 @@ namespace WebCore {
 class SVGPathSegClosePath : public SVGPathSeg {
 public:
     static PassRefPtr<SVGPathSegClosePath> create() { return adoptRef(new SVGPathSegClosePath); }
-    virtual ~SVGPathSegClosePath();
+
+private:
+    SVGPathSegClosePath() { }
 
     virtual unsigned short pathSegType() const { return PATHSEG_CLOSEPATH; }
     virtual String pathSegTypeAsLetter() const { return "Z"; }
-
-private:
-    SVGPathSegClosePath();
 };
 
 } // namespace WebCore
diff --git a/WebCore/svg/SVGPathSegCurvetoCubic.h b/WebCore/svg/SVGPathSegCurvetoCubic.h
index 7e2735e..ae4a21d 100644
--- a/WebCore/svg/SVGPathSegCurvetoCubic.h
+++ b/WebCore/svg/SVGPathSegCurvetoCubic.h
@@ -30,7 +30,7 @@ namespace WebCore {
 
     class SVGPathSegCurvetoCubic : public SVGPathSeg { 
     public:
-        SVGPathSegCurvetoCubic(float x, float y, float x1, float y1, float x2, float y2) : SVGPathSeg() , m_x(x) , m_y(y) , m_x1(x1) , m_y1(y1) , m_x2(x2) , m_y2(y2) {}
+        SVGPathSegCurvetoCubic(float x, float y, float x1, float y1, float x2, float y2) : m_x(x), m_y(y), m_x1(x1), m_y1(y1), m_x2(x2), m_y2(y2) { }
 
         void setX(float x) { m_x = x; }
         float x() const { return m_x; }
@@ -66,11 +66,11 @@ namespace WebCore {
             return adoptRef(new SVGPathSegCurvetoCubicAbs(x, y, x1, y1, x2, y2));
         }
 
-        virtual unsigned short pathSegType() const { return PATHSEG_CURVETO_CUBIC_ABS; }
-        virtual String pathSegTypeAsLetter() const { return "C"; }
-
     private:
         SVGPathSegCurvetoCubicAbs(float x, float y, float x1, float y1, float x2, float y2);
+
+        virtual unsigned short pathSegType() const { return PATHSEG_CURVETO_CUBIC_ABS; }
+        virtual String pathSegTypeAsLetter() const { return "C"; }
     };
 
     class SVGPathSegCurvetoCubicRel : public SVGPathSegCurvetoCubic { 
@@ -80,11 +80,11 @@ namespace WebCore {
             return adoptRef(new SVGPathSegCurvetoCubicRel(x, y, x1, y1, x2, y2));
         }
 
-        virtual unsigned short pathSegType() const { return PATHSEG_CURVETO_CUBIC_REL; }
-        virtual String pathSegTypeAsLetter() const { return "c"; }
-
     private:
         SVGPathSegCurvetoCubicRel(float x, float y, float x1, float y1, float x2, float y2);
+
+        virtual unsigned short pathSegType() const { return PATHSEG_CURVETO_CUBIC_REL; }
+        virtual String pathSegTypeAsLetter() const { return "c"; }
     };
 
 } // namespace WebCore
diff --git a/WebCore/svg/SVGPathSegCurvetoCubicSmooth.h b/WebCore/svg/SVGPathSegCurvetoCubicSmooth.h
index bc8895c..2227951 100644
--- a/WebCore/svg/SVGPathSegCurvetoCubicSmooth.h
+++ b/WebCore/svg/SVGPathSegCurvetoCubicSmooth.h
@@ -31,7 +31,12 @@ namespace WebCore {
     class SVGPathSegCurvetoCubicSmooth : public SVGPathSeg {
     public:
         SVGPathSegCurvetoCubicSmooth(float x, float y, float x2, float y2)
-        : m_x(x), m_y(y), m_x2(x2), m_y2(y2) { }
+            : m_x(x)
+            , m_y(y)
+            , m_x2(x2)
+            , m_y2(y2)
+        {
+        }
 
         void setX(float x) { m_x = x; }
         float x() const { return m_x; }
@@ -56,22 +61,22 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGPathSegCurvetoCubicSmoothAbs> create(float x, float y, float x2, float y2) { return adoptRef(new SVGPathSegCurvetoCubicSmoothAbs(x, y, x2, y2)); }
 
-        virtual unsigned short pathSegType() const { return PATHSEG_CURVETO_CUBIC_SMOOTH_ABS; }
-        virtual String pathSegTypeAsLetter() const { return "S"; }
-
     private:
         SVGPathSegCurvetoCubicSmoothAbs(float x, float y, float x2, float y2);
+
+        virtual unsigned short pathSegType() const { return PATHSEG_CURVETO_CUBIC_SMOOTH_ABS; }
+        virtual String pathSegTypeAsLetter() const { return "S"; }
     };
 
     class SVGPathSegCurvetoCubicSmoothRel : public SVGPathSegCurvetoCubicSmooth { 
     public:
         static PassRefPtr<SVGPathSegCurvetoCubicSmoothRel> create(float x, float y, float x2, float y2) { return adoptRef(new SVGPathSegCurvetoCubicSmoothRel(x, y, x2, y2)); }
 
-        virtual unsigned short pathSegType() const { return PATHSEG_CURVETO_CUBIC_SMOOTH_REL; }
-        virtual String pathSegTypeAsLetter() const { return "s"; }
-
     private:
         SVGPathSegCurvetoCubicSmoothRel(float x, float y, float x2, float y2);
+
+        virtual unsigned short pathSegType() const { return PATHSEG_CURVETO_CUBIC_SMOOTH_REL; }
+        virtual String pathSegTypeAsLetter() const { return "s"; }
     };
 
 } // namespace WebCore
diff --git a/WebCore/svg/SVGPathSegCurvetoQuadratic.h b/WebCore/svg/SVGPathSegCurvetoQuadratic.h
index 967442f..f84cfaa 100644
--- a/WebCore/svg/SVGPathSegCurvetoQuadratic.h
+++ b/WebCore/svg/SVGPathSegCurvetoQuadratic.h
@@ -31,7 +31,12 @@ namespace WebCore {
     class SVGPathSegCurvetoQuadratic : public SVGPathSeg { 
     public:
         SVGPathSegCurvetoQuadratic(float x, float y, float x1, float y1)
-        : SVGPathSeg(), m_x(x), m_y(y), m_x1(x1), m_y1(y1) {}
+            : m_x(x)
+            , m_y(y)
+            , m_x1(x1)
+            , m_y1(y1)
+        {
+        }
 
         void setX(float x) { m_x = x; }
         float x() const { return m_x; }
@@ -56,22 +61,22 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGPathSegCurvetoQuadraticAbs> create(float x, float y, float x1, float y1) { return adoptRef(new SVGPathSegCurvetoQuadraticAbs(x, y, x1, y1)); }
 
-        virtual unsigned short pathSegType() const { return PATHSEG_CURVETO_QUADRATIC_ABS; }
-        virtual String pathSegTypeAsLetter() const { return "Q"; }
-
     private:
         SVGPathSegCurvetoQuadraticAbs(float x, float y, float x1, float y1);
+
+        virtual unsigned short pathSegType() const { return PATHSEG_CURVETO_QUADRATIC_ABS; }
+        virtual String pathSegTypeAsLetter() const { return "Q"; }
     };
 
     class SVGPathSegCurvetoQuadraticRel : public SVGPathSegCurvetoQuadratic {
     public:
         static PassRefPtr<SVGPathSegCurvetoQuadraticRel> create(float x, float y, float x1, float y1) { return adoptRef(new SVGPathSegCurvetoQuadraticRel(x, y, x1, y1)); }
 
-        virtual unsigned short pathSegType() const { return PATHSEG_CURVETO_QUADRATIC_REL; }
-        virtual String pathSegTypeAsLetter() const { return "q"; }
-
     private:
         SVGPathSegCurvetoQuadraticRel(float x, float y, float x1, float y1);
+
+        virtual unsigned short pathSegType() const { return PATHSEG_CURVETO_QUADRATIC_REL; }
+        virtual String pathSegTypeAsLetter() const { return "q"; }
     };
 
 } // namespace WebCore
diff --git a/WebCore/svg/SVGPathSegCurvetoQuadraticSmooth.h b/WebCore/svg/SVGPathSegCurvetoQuadraticSmooth.h
index fb3d51f..109799e 100644
--- a/WebCore/svg/SVGPathSegCurvetoQuadraticSmooth.h
+++ b/WebCore/svg/SVGPathSegCurvetoQuadraticSmooth.h
@@ -32,22 +32,22 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGPathSegCurvetoQuadraticSmoothAbs> create(float x, float y) { return adoptRef(new SVGPathSegCurvetoQuadraticSmoothAbs(x, y)); }
 
-        virtual unsigned short pathSegType() const { return PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS; }
-        virtual String pathSegTypeAsLetter() const { return "T"; }
-
     private:
         SVGPathSegCurvetoQuadraticSmoothAbs(float x, float y);
+
+        virtual unsigned short pathSegType() const { return PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS; }
+        virtual String pathSegTypeAsLetter() const { return "T"; }
     };
 
     class SVGPathSegCurvetoQuadraticSmoothRel : public SVGPathSegSingleCoord {
     public:
         static PassRefPtr<SVGPathSegCurvetoQuadraticSmoothRel> create(float x, float y) { return adoptRef(new SVGPathSegCurvetoQuadraticSmoothRel(x, y)); }
 
-        virtual unsigned short pathSegType() const { return PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL; }
-        virtual String pathSegTypeAsLetter() const { return "t"; }
-
     private:
         SVGPathSegCurvetoQuadraticSmoothRel(float x, float y);
+
+        virtual unsigned short pathSegType() const { return PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL; }
+        virtual String pathSegTypeAsLetter() const { return "t"; }
     };
 
 } // namespace WebCore
diff --git a/WebCore/svg/SVGPathSegLineto.h b/WebCore/svg/SVGPathSegLineto.h
index 9b69bf0..3cd3b7f 100644
--- a/WebCore/svg/SVGPathSegLineto.h
+++ b/WebCore/svg/SVGPathSegLineto.h
@@ -27,27 +27,27 @@
 #include "SVGPathSeg.h"
 
 namespace WebCore {
+
     class SVGPathSegLinetoAbs : public SVGPathSegSingleCoord { 
     public:
         static PassRefPtr<SVGPathSegLinetoAbs> create(float x, float y) { return adoptRef(new SVGPathSegLinetoAbs(x, y)); }
 
-        virtual unsigned short pathSegType() const { return PATHSEG_LINETO_ABS; }
-        virtual String pathSegTypeAsLetter() const { return "L"; }
-
     private:
         SVGPathSegLinetoAbs(float x, float y);
+
+        virtual unsigned short pathSegType() const { return PATHSEG_LINETO_ABS; }
+        virtual String pathSegTypeAsLetter() const { return "L"; }
     };
 
     class SVGPathSegLinetoRel : public SVGPathSegSingleCoord { 
     public:
         static PassRefPtr<SVGPathSegLinetoRel> create(float x, float y) { return adoptRef(new SVGPathSegLinetoRel(x, y)); }
 
+    private:
+        SVGPathSegLinetoRel(float x, float y);
 
         virtual unsigned short pathSegType() const { return PATHSEG_LINETO_REL; }
         virtual String pathSegTypeAsLetter() const { return "l"; }
-
-    private:
-        SVGPathSegLinetoRel(float x, float y);
     };
 
 } // namespace WebCore
diff --git a/WebCore/svg/SVGPathSegLinetoHorizontal.h b/WebCore/svg/SVGPathSegLinetoHorizontal.h
index 3a16ad1..da59f05 100644
--- a/WebCore/svg/SVGPathSegLinetoHorizontal.h
+++ b/WebCore/svg/SVGPathSegLinetoHorizontal.h
@@ -43,22 +43,22 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGPathSegLinetoHorizontalAbs> create(float x) { return adoptRef(new SVGPathSegLinetoHorizontalAbs(x)); }
 
-        virtual unsigned short pathSegType() const { return PATHSEG_LINETO_HORIZONTAL_ABS; }
-        virtual String pathSegTypeAsLetter() const { return "H"; }
-
     private:
         SVGPathSegLinetoHorizontalAbs(float x);
+
+        virtual unsigned short pathSegType() const { return PATHSEG_LINETO_HORIZONTAL_ABS; }
+        virtual String pathSegTypeAsLetter() const { return "H"; }
     };
 
     class SVGPathSegLinetoHorizontalRel : public SVGPathSegLinetoHorizontal {
     public:
         static PassRefPtr<SVGPathSegLinetoHorizontalRel> create(float x) { return adoptRef(new SVGPathSegLinetoHorizontalRel(x)); }
 
-        virtual unsigned short pathSegType() const { return PATHSEG_LINETO_HORIZONTAL_REL; }
-        virtual String pathSegTypeAsLetter() const { return "h"; }
-
     private:
         SVGPathSegLinetoHorizontalRel(float x);
+
+        virtual unsigned short pathSegType() const { return PATHSEG_LINETO_HORIZONTAL_REL; }
+        virtual String pathSegTypeAsLetter() const { return "h"; }
     };
 
 } // namespace WebCore
diff --git a/WebCore/svg/SVGPathSegLinetoVertical.h b/WebCore/svg/SVGPathSegLinetoVertical.h
index d4d9f85..b13b9f4 100644
--- a/WebCore/svg/SVGPathSegLinetoVertical.h
+++ b/WebCore/svg/SVGPathSegLinetoVertical.h
@@ -43,22 +43,22 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGPathSegLinetoVerticalAbs> create(float y) { return adoptRef(new SVGPathSegLinetoVerticalAbs(y)); }
 
-        virtual unsigned short pathSegType() const { return PATHSEG_LINETO_VERTICAL_ABS; }
-        virtual String pathSegTypeAsLetter() const { return "V"; }
-
     private:
         SVGPathSegLinetoVerticalAbs(float y);
+
+        virtual unsigned short pathSegType() const { return PATHSEG_LINETO_VERTICAL_ABS; }
+        virtual String pathSegTypeAsLetter() const { return "V"; }
     };
 
     class SVGPathSegLinetoVerticalRel : public SVGPathSegLinetoVertical {
     public:
         static PassRefPtr<SVGPathSegLinetoVerticalRel> create(float y) { return adoptRef(new SVGPathSegLinetoVerticalRel(y)); }
 
-        virtual unsigned short pathSegType() const { return PATHSEG_LINETO_VERTICAL_REL; }
-        virtual String pathSegTypeAsLetter() const { return "v"; }
-
     private:
         SVGPathSegLinetoVerticalRel(float y);
+
+        virtual unsigned short pathSegType() const { return PATHSEG_LINETO_VERTICAL_REL; }
+        virtual String pathSegTypeAsLetter() const { return "v"; }
     };
 
 } // namespace WebCore
diff --git a/WebCore/svg/SVGPathSegList.cpp b/WebCore/svg/SVGPathSegList.cpp
index 3b86f55..5a40c64 100644
--- a/WebCore/svg/SVGPathSegList.cpp
+++ b/WebCore/svg/SVGPathSegList.cpp
@@ -32,10 +32,6 @@ SVGPathSegList::SVGPathSegList(const QualifiedName& attributeName)
 {
 }
 
-SVGPathSegList::~SVGPathSegList()
-{
-}
-
 }
 
 #endif // ENABLE(SVG)
diff --git a/WebCore/svg/SVGPathSegList.h b/WebCore/svg/SVGPathSegList.h
index f27c653..6e61c06 100644
--- a/WebCore/svg/SVGPathSegList.h
+++ b/WebCore/svg/SVGPathSegList.h
@@ -31,7 +31,6 @@ class SVGElement;
 class SVGPathSegList : public SVGList<RefPtr<SVGPathSeg> > {
 public:
     static PassRefPtr<SVGPathSegList> create(const QualifiedName& attributeName) { return adoptRef(new SVGPathSegList(attributeName)); }
-    virtual ~SVGPathSegList();
 
 private:
     SVGPathSegList(const QualifiedName&);
diff --git a/WebCore/svg/SVGPathSegListBuilder.h b/WebCore/svg/SVGPathSegListBuilder.h
index 2fd2667..f376706 100644
--- a/WebCore/svg/SVGPathSegListBuilder.h
+++ b/WebCore/svg/SVGPathSegListBuilder.h
@@ -36,18 +36,18 @@ public:
     SVGPathSegListBuilder();
 
     void setCurrentSVGPathSegList(SVGPathSegList* pathSegList) { m_pathSegList = pathSegList; }
+
+private:
     virtual void incrementPathSegmentCount() { }
     virtual bool continueConsuming() { return true; }
     virtual void cleanup() { m_pathSegList = 0; }
 
-private:
     // Used in UnalteredParisng/NormalizedParsing modes.
     virtual void moveTo(const FloatPoint&, bool closed, PathCoordinateMode);
     virtual void lineTo(const FloatPoint&, PathCoordinateMode);
     virtual void curveToCubic(const FloatPoint&, const FloatPoint&, const FloatPoint&, PathCoordinateMode);
     virtual void closePath();
 
-private:
     // Only used in UnalteredParsing mode.
     virtual void lineToHorizontal(float, PathCoordinateMode);
     virtual void lineToVertical(float, PathCoordinateMode);
diff --git a/WebCore/svg/SVGPathSegListSource.cpp b/WebCore/svg/SVGPathSegListSource.cpp
index 48fa094..2378743 100644
--- a/WebCore/svg/SVGPathSegListSource.cpp
+++ b/WebCore/svg/SVGPathSegListSource.cpp
@@ -39,10 +39,6 @@ SVGPathSegListSource::SVGPathSegListSource(SVGPathSegList* pathSegList)
     m_itemEnd = m_pathSegList->numberOfItems();
 }
 
-SVGPathSegListSource::~SVGPathSegListSource()
-{
-}
-
 bool SVGPathSegListSource::hasMoreData() const
 {
     return m_itemCurrent < m_itemEnd;
diff --git a/WebCore/svg/SVGPathSegListSource.h b/WebCore/svg/SVGPathSegListSource.h
index fd89e3e..4f93be1 100644
--- a/WebCore/svg/SVGPathSegListSource.h
+++ b/WebCore/svg/SVGPathSegListSource.h
@@ -37,7 +37,8 @@ public:
         return adoptPtr(new SVGPathSegListSource(pathSegList));
     }
 
-    virtual ~SVGPathSegListSource();
+private:
+    SVGPathSegListSource(SVGPathSegList*);
 
     virtual bool hasMoreData() const;
     virtual bool moveToNextToken() { return true; }
@@ -54,9 +55,6 @@ public:
     virtual bool parseCurveToQuadraticSmoothSegment(FloatPoint&);
     virtual bool parseArcToSegment(float&, float&, float&, bool&, bool&, FloatPoint&);
 
-private:
-    SVGPathSegListSource(SVGPathSegList*);
-
     SVGPathSegList* m_pathSegList;
     RefPtr<SVGPathSeg> m_segment;
     int m_itemCurrent;
diff --git a/WebCore/svg/SVGPathSegMoveto.h b/WebCore/svg/SVGPathSegMoveto.h
index 194b1a6..edaff4b 100644
--- a/WebCore/svg/SVGPathSegMoveto.h
+++ b/WebCore/svg/SVGPathSegMoveto.h
@@ -31,22 +31,22 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGPathSegMovetoAbs> create(float x, float y) { return adoptRef(new SVGPathSegMovetoAbs(x, y)); }
 
-        virtual unsigned short pathSegType() const { return PATHSEG_MOVETO_ABS; }
-        virtual String pathSegTypeAsLetter() const { return "M"; }
-
     private:
         SVGPathSegMovetoAbs(float x, float y);
+
+        virtual unsigned short pathSegType() const { return PATHSEG_MOVETO_ABS; }
+        virtual String pathSegTypeAsLetter() const { return "M"; }
     };
 
     class SVGPathSegMovetoRel : public SVGPathSegSingleCoord { 
     public:
         static PassRefPtr<SVGPathSegMovetoRel> create(float x, float y) { return adoptRef(new SVGPathSegMovetoRel(x, y)); }
 
-        virtual unsigned short pathSegType() const { return PATHSEG_MOVETO_REL; }
-        virtual String pathSegTypeAsLetter() const { return "m"; }
-
     private:
         SVGPathSegMovetoRel(float x, float y);
+
+        virtual unsigned short pathSegType() const { return PATHSEG_MOVETO_REL; }
+        virtual String pathSegTypeAsLetter() const { return "m"; }
     };
 
 } // namespace WebCore
diff --git a/WebCore/svg/SVGPathSource.h b/WebCore/svg/SVGPathSource.h
index 6d7ec5f..d1a6149 100644
--- a/WebCore/svg/SVGPathSource.h
+++ b/WebCore/svg/SVGPathSource.h
@@ -43,9 +43,6 @@ public:
     virtual bool parseCurveToQuadraticSegment(FloatPoint&, FloatPoint&) = 0;
     virtual bool parseCurveToQuadraticSmoothSegment(FloatPoint&) = 0;
     virtual bool parseArcToSegment(float&, float&, float&, bool&, bool&, FloatPoint&) = 0;
-
-public:
-    SVGPathSource() { }
 };
 
 } // namespace WebCore
diff --git a/WebCore/svg/SVGPathStringBuilder.cpp b/WebCore/svg/SVGPathStringBuilder.cpp
index 0a166ad..951956d 100644
--- a/WebCore/svg/SVGPathStringBuilder.cpp
+++ b/WebCore/svg/SVGPathStringBuilder.cpp
@@ -24,10 +24,6 @@
 
 namespace WebCore {
 
-SVGPathStringBuilder::SVGPathStringBuilder()
-{
-}
-
 void SVGPathStringBuilder::moveTo(const FloatPoint& targetPoint, bool, PathCoordinateMode mode)
 {
     if (mode == AbsoluteCoordinates)
diff --git a/WebCore/svg/SVGPathStringBuilder.h b/WebCore/svg/SVGPathStringBuilder.h
index ebb8596..a51c40c 100644
--- a/WebCore/svg/SVGPathStringBuilder.h
+++ b/WebCore/svg/SVGPathStringBuilder.h
@@ -29,21 +29,19 @@ namespace WebCore {
 
 class SVGPathStringBuilder : public SVGPathConsumer {
 public:
-    SVGPathStringBuilder();
+    String result() { return m_stringBuilder.toString(ConcatAddingSpacesBetweenIndividualStrings); }
 
+private:
     virtual void cleanup() { m_stringBuilder.clear(); }
     virtual void incrementPathSegmentCount() { }
     virtual bool continueConsuming() { return true; }
-    String result() { return m_stringBuilder.toString(ConcatAddingSpacesBetweenIndividualStrings); }
 
-private:
     // Used in UnalteredParsing/NormalizedParsing modes.
     virtual void moveTo(const FloatPoint&, bool closed, PathCoordinateMode);
     virtual void lineTo(const FloatPoint&, PathCoordinateMode);
     virtual void curveToCubic(const FloatPoint&, const FloatPoint&, const FloatPoint&, PathCoordinateMode);
     virtual void closePath();
 
-private:
     // Only used in UnalteredParsing mode.
     virtual void lineToHorizontal(float, PathCoordinateMode);
     virtual void lineToVertical(float, PathCoordinateMode);
diff --git a/WebCore/svg/SVGPathStringSource.cpp b/WebCore/svg/SVGPathStringSource.cpp
index 0efbfd0..5154ee6 100644
--- a/WebCore/svg/SVGPathStringSource.cpp
+++ b/WebCore/svg/SVGPathStringSource.cpp
@@ -34,10 +34,6 @@ SVGPathStringSource::SVGPathStringSource(const String& string)
     ASSERT(!string.isEmpty());
 }
 
-SVGPathStringSource::~SVGPathStringSource()
-{
-}
-
 bool SVGPathStringSource::hasMoreData() const
 {
     return m_current < m_end;
diff --git a/WebCore/svg/SVGPathStringSource.h b/WebCore/svg/SVGPathStringSource.h
index d0266f4..a3c8a95 100644
--- a/WebCore/svg/SVGPathStringSource.h
+++ b/WebCore/svg/SVGPathStringSource.h
@@ -35,7 +35,8 @@ public:
         return adoptPtr(new SVGPathStringSource(string));
     }
 
-    virtual ~SVGPathStringSource();
+private:
+    SVGPathStringSource(const String&);
 
     virtual bool hasMoreData() const;
     virtual bool moveToNextToken();
@@ -52,8 +53,6 @@ public:
     virtual bool parseCurveToQuadraticSmoothSegment(FloatPoint&);
     virtual bool parseArcToSegment(float&, float&, float&, bool&, bool&, FloatPoint&);
 
-private:
-    SVGPathStringSource(const String&);
     String m_string;
 
     const UChar* m_current;
diff --git a/WebCore/svg/SVGPatternElement.cpp b/WebCore/svg/SVGPatternElement.cpp
index 57e3b25..39c5842 100644
--- a/WebCore/svg/SVGPatternElement.cpp
+++ b/WebCore/svg/SVGPatternElement.cpp
@@ -49,13 +49,8 @@ using namespace std;
 
 namespace WebCore {
 
-SVGPatternElement::SVGPatternElement(const QualifiedName& tagName, Document* doc)
-    : SVGStyledElement(tagName, doc)
-    , SVGURIReference()
-    , SVGTests()
-    , SVGLangSpace()
-    , SVGExternalResourcesRequired()
-    , SVGFitToViewBox()
+inline SVGPatternElement::SVGPatternElement(const QualifiedName& tagName, Document* document)
+    : SVGStyledElement(tagName, document)
     , m_x(LengthModeWidth)
     , m_y(LengthModeHeight)
     , m_width(LengthModeWidth)
@@ -71,10 +66,6 @@ PassRefPtr<SVGPatternElement> SVGPatternElement::create(const QualifiedName& tag
     return new SVGPatternElement(tagName, document);
 }
 
-SVGPatternElement::~SVGPatternElement()
-{
-}
-
 void SVGPatternElement::parseMappedAttribute(Attribute* attr)
 {
     if (attr->name() == SVGNames::patternUnitsAttr) {
diff --git a/WebCore/svg/SVGPatternElement.h b/WebCore/svg/SVGPatternElement.h
index a3d0587..497660a 100644
--- a/WebCore/svg/SVGPatternElement.h
+++ b/WebCore/svg/SVGPatternElement.h
@@ -45,8 +45,10 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGPatternElement> create(const QualifiedName&, Document*);
 
+        PatternAttributes collectPatternProperties() const;
+
+    private:
         SVGPatternElement(const QualifiedName&, Document*);
-        virtual ~SVGPatternElement();
         
         virtual bool isValid() const { return SVGTests::isValid(); }
         virtual bool needsPendingResourceHandling() const { return false; }
@@ -58,9 +60,6 @@ namespace WebCore {
 
         virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
 
-        PatternAttributes collectPatternProperties() const;
-
-    private:
         virtual bool selfHasRelativeLengths() const;
 
         DECLARE_ANIMATED_PROPERTY(SVGPatternElement, SVGNames::xAttr, SVGLength, X, x)
diff --git a/WebCore/svg/SVGPointList.cpp b/WebCore/svg/SVGPointList.cpp
index 8a3d870..0d8e10c 100644
--- a/WebCore/svg/SVGPointList.cpp
+++ b/WebCore/svg/SVGPointList.cpp
@@ -32,10 +32,6 @@ SVGPointList::SVGPointList(const QualifiedName& attributeName)
 {
 }
 
-SVGPointList::~SVGPointList()
-{
-}
-
 String SVGPointList::valueAsString() const
 {
     String result;
diff --git a/WebCore/svg/SVGPointList.h b/WebCore/svg/SVGPointList.h
index 853c7b1..43edbbb 100644
--- a/WebCore/svg/SVGPointList.h
+++ b/WebCore/svg/SVGPointList.h
@@ -32,7 +32,6 @@ namespace WebCore {
     class SVGPointList : public SVGPODList<FloatPoint> {
     public:
         static PassRefPtr<SVGPointList> create(const QualifiedName& attributeName) { return adoptRef(new SVGPointList(attributeName)); }
-        virtual ~SVGPointList();
 
         String valueAsString() const;
 
diff --git a/WebCore/svg/SVGPolyElement.cpp b/WebCore/svg/SVGPolyElement.cpp
index 8475309..da8aba4 100644
--- a/WebCore/svg/SVGPolyElement.cpp
+++ b/WebCore/svg/SVGPolyElement.cpp
@@ -34,16 +34,8 @@
 
 namespace WebCore {
 
-SVGPolyElement::SVGPolyElement(const QualifiedName& tagName, Document* doc)
-    : SVGStyledTransformableElement(tagName, doc)
-    , SVGTests()
-    , SVGLangSpace()
-    , SVGExternalResourcesRequired()
-    , SVGAnimatedPoints()
-{
-}
-
-SVGPolyElement::~SVGPolyElement()
+SVGPolyElement::SVGPolyElement(const QualifiedName& tagName, Document* document)
+    : SVGStyledTransformableElement(tagName, document)
 {
 }
 
diff --git a/WebCore/svg/SVGPolyElement.h b/WebCore/svg/SVGPolyElement.h
index bbcdb67..6d36f4b 100644
--- a/WebCore/svg/SVGPolyElement.h
+++ b/WebCore/svg/SVGPolyElement.h
@@ -36,21 +36,21 @@ namespace WebCore {
                             public SVGExternalResourcesRequired,
                             public SVGAnimatedPoints {
     public:
-        SVGPolyElement(const QualifiedName&, Document*);
-        virtual ~SVGPolyElement();
-        
-        virtual bool isValid() const { return SVGTests::isValid(); }
-
         virtual SVGPointList* points() const;
         virtual SVGPointList* animatedPoints() const;
 
+    protected:
+        SVGPolyElement(const QualifiedName&, Document*);
+
+    private:
+        virtual bool isValid() const { return SVGTests::isValid(); }
+
         virtual void parseMappedAttribute(Attribute*); 
         virtual void svgAttributeChanged(const QualifiedName&);
         virtual void synchronizeProperty(const QualifiedName&);
 
         virtual bool supportsMarkers() const { return true; }
 
-    private:
         // SVGExternalResourcesRequired
         DECLARE_ANIMATED_PROPERTY(SVGPolyElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
 
diff --git a/WebCore/svg/SVGPolygonElement.cpp b/WebCore/svg/SVGPolygonElement.cpp
index ee1dc6d..445b4e5 100644
--- a/WebCore/svg/SVGPolygonElement.cpp
+++ b/WebCore/svg/SVGPolygonElement.cpp
@@ -27,8 +27,8 @@
 
 namespace WebCore {
 
-SVGPolygonElement::SVGPolygonElement(const QualifiedName& tagName, Document* doc)
-    : SVGPolyElement(tagName, doc)
+inline SVGPolygonElement::SVGPolygonElement(const QualifiedName& tagName, Document* document)
+    : SVGPolyElement(tagName, document)
 {
 }
 
@@ -37,10 +37,6 @@ PassRefPtr<SVGPolygonElement> SVGPolygonElement::create(const QualifiedName& tag
     return new SVGPolygonElement(tagName, document);
 }
 
-SVGPolygonElement::~SVGPolygonElement()
-{
-}
-
 Path SVGPolygonElement::toPathData() const
 {
     Path polyData;
diff --git a/WebCore/svg/SVGPolygonElement.h b/WebCore/svg/SVGPolygonElement.h
index e629df5..7a5bda8 100644
--- a/WebCore/svg/SVGPolygonElement.h
+++ b/WebCore/svg/SVGPolygonElement.h
@@ -30,8 +30,8 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGPolygonElement> create(const QualifiedName&, Document*);
 
+    private:
         SVGPolygonElement(const QualifiedName&, Document*);
-        virtual ~SVGPolygonElement();
 
         virtual Path toPathData() const;
     };
diff --git a/WebCore/svg/SVGPolylineElement.cpp b/WebCore/svg/SVGPolylineElement.cpp
index e69d6d6..5b79934 100644
--- a/WebCore/svg/SVGPolylineElement.cpp
+++ b/WebCore/svg/SVGPolylineElement.cpp
@@ -27,8 +27,8 @@
 
 namespace WebCore {
 
-SVGPolylineElement::SVGPolylineElement(const QualifiedName& tagName, Document* doc)
-    : SVGPolyElement(tagName, doc)
+inline SVGPolylineElement::SVGPolylineElement(const QualifiedName& tagName, Document* document)
+    : SVGPolyElement(tagName, document)
 {
 }
 
@@ -37,10 +37,6 @@ PassRefPtr<SVGPolylineElement> SVGPolylineElement::create(const QualifiedName& t
     return new SVGPolylineElement(tagName, document);
 }
 
-SVGPolylineElement::~SVGPolylineElement()
-{
-}
-
 Path SVGPolylineElement::toPathData() const
 {
     Path polyData;
diff --git a/WebCore/svg/SVGPolylineElement.h b/WebCore/svg/SVGPolylineElement.h
index 2672deb..d3fe555 100644
--- a/WebCore/svg/SVGPolylineElement.h
+++ b/WebCore/svg/SVGPolylineElement.h
@@ -30,8 +30,8 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGPolylineElement> create(const QualifiedName&, Document*);
 
+    private:
         SVGPolylineElement(const QualifiedName&, Document*);
-        virtual ~SVGPolylineElement();
 
         virtual Path toPathData() const;
     };
diff --git a/WebCore/svg/SVGPreserveAspectRatio.cpp b/WebCore/svg/SVGPreserveAspectRatio.cpp
index 00a7a65..a129fe6 100644
--- a/WebCore/svg/SVGPreserveAspectRatio.cpp
+++ b/WebCore/svg/SVGPreserveAspectRatio.cpp
@@ -37,10 +37,6 @@ SVGPreserveAspectRatio::SVGPreserveAspectRatio()
     // FIXME: Should the two values default to UNKNOWN instead?
 }
 
-SVGPreserveAspectRatio::~SVGPreserveAspectRatio()
-{
-}
-
 void SVGPreserveAspectRatio::setAlign(unsigned short align)
 {
     m_align = align;
diff --git a/WebCore/svg/SVGPreserveAspectRatio.h b/WebCore/svg/SVGPreserveAspectRatio.h
index 9ed27fe..f29b7d3 100644
--- a/WebCore/svg/SVGPreserveAspectRatio.h
+++ b/WebCore/svg/SVGPreserveAspectRatio.h
@@ -54,7 +54,6 @@ namespace WebCore {
         };
 
         SVGPreserveAspectRatio();
-        virtual ~SVGPreserveAspectRatio();
 
         void setAlign(unsigned short);
         unsigned short align() const;
diff --git a/WebCore/svg/SVGRadialGradientElement.cpp b/WebCore/svg/SVGRadialGradientElement.cpp
index 6abe05c..3c3230a 100644
--- a/WebCore/svg/SVGRadialGradientElement.cpp
+++ b/WebCore/svg/SVGRadialGradientElement.cpp
@@ -40,8 +40,8 @@
 
 namespace WebCore {
 
-SVGRadialGradientElement::SVGRadialGradientElement(const QualifiedName& tagName, Document* doc)
-    : SVGGradientElement(tagName, doc)
+inline SVGRadialGradientElement::SVGRadialGradientElement(const QualifiedName& tagName, Document* document)
+    : SVGGradientElement(tagName, document)
     , m_cx(LengthModeWidth, "50%")
     , m_cy(LengthModeHeight, "50%")
     , m_r(LengthModeOther, "50%")
@@ -56,10 +56,6 @@ PassRefPtr<SVGRadialGradientElement> SVGRadialGradientElement::create(const Qual
     return new SVGRadialGradientElement(tagName, document);
 }
 
-SVGRadialGradientElement::~SVGRadialGradientElement()
-{
-}
-
 void SVGRadialGradientElement::parseMappedAttribute(Attribute* attr)
 {
     if (attr->name() == SVGNames::cxAttr)
diff --git a/WebCore/svg/SVGRadialGradientElement.h b/WebCore/svg/SVGRadialGradientElement.h
index 7472bcb..e528a13 100644
--- a/WebCore/svg/SVGRadialGradientElement.h
+++ b/WebCore/svg/SVGRadialGradientElement.h
@@ -33,8 +33,11 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGRadialGradientElement> create(const QualifiedName&, Document*);
 
+        RadialGradientAttributes collectGradientProperties();
+        void calculateFocalCenterPointsAndRadius(const RadialGradientAttributes&, FloatPoint& focalPoint, FloatPoint& centerPoint, float& radius);
+
+    private:
         SVGRadialGradientElement(const QualifiedName&, Document*);
-        virtual ~SVGRadialGradientElement();
 
         virtual void parseMappedAttribute(Attribute*);
         virtual void svgAttributeChanged(const QualifiedName&);
@@ -42,10 +45,6 @@ namespace WebCore {
 
         virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
 
-        RadialGradientAttributes collectGradientProperties();
-        void calculateFocalCenterPointsAndRadius(const RadialGradientAttributes&, FloatPoint& focalPoint, FloatPoint& centerPoint, float& radius);
-
-    private:
         virtual bool selfHasRelativeLengths() const;
 
         DECLARE_ANIMATED_PROPERTY(SVGRadialGradientElement, SVGNames::cxAttr, SVGLength, Cx, cx)
diff --git a/WebCore/svg/SVGRectElement.cpp b/WebCore/svg/SVGRectElement.cpp
index 88bc4ca..d13598f 100644
--- a/WebCore/svg/SVGRectElement.cpp
+++ b/WebCore/svg/SVGRectElement.cpp
@@ -31,11 +31,8 @@
 
 namespace WebCore {
 
-SVGRectElement::SVGRectElement(const QualifiedName& tagName, Document *doc)
-    : SVGStyledTransformableElement(tagName, doc)
-    , SVGTests()
-    , SVGLangSpace()
-    , SVGExternalResourcesRequired()
+inline SVGRectElement::SVGRectElement(const QualifiedName& tagName, Document* document)
+    : SVGStyledTransformableElement(tagName, document)
     , m_x(LengthModeWidth)
     , m_y(LengthModeHeight)
     , m_width(LengthModeWidth)
@@ -50,10 +47,6 @@ PassRefPtr<SVGRectElement> SVGRectElement::create(const QualifiedName& tagName,
     return new SVGRectElement(tagName, document);
 }
 
-SVGRectElement::~SVGRectElement()
-{
-}
-
 void SVGRectElement::parseMappedAttribute(Attribute* attr)
 {
     if (attr->name() == SVGNames::xAttr)
diff --git a/WebCore/svg/SVGRectElement.h b/WebCore/svg/SVGRectElement.h
index 0a3e9b7..382078d 100644
--- a/WebCore/svg/SVGRectElement.h
+++ b/WebCore/svg/SVGRectElement.h
@@ -36,8 +36,8 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGRectElement> create(const QualifiedName&, Document*);
 
+    private:
         SVGRectElement(const QualifiedName&, Document*);
-        virtual ~SVGRectElement();
         
         virtual bool isValid() const { return SVGTests::isValid(); }
 
@@ -47,7 +47,6 @@ namespace WebCore {
 
         virtual Path toPathData() const;
 
-    private:
         virtual bool selfHasRelativeLengths() const;
 
         DECLARE_ANIMATED_PROPERTY(SVGRectElement, SVGNames::xAttr, SVGLength, X, x)
diff --git a/WebCore/svg/SVGSVGElement.h b/WebCore/svg/SVGSVGElement.h
index 8e721fa..b5b10b1 100644
--- a/WebCore/svg/SVGSVGElement.h
+++ b/WebCore/svg/SVGSVGElement.h
@@ -47,11 +47,6 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGSVGElement> create(const QualifiedName&, Document*);
 
-        SVGSVGElement(const QualifiedName&, Document*);
-        virtual ~SVGSVGElement();
-
-        virtual bool isSVG() const { return true; }
-        
         virtual bool isValid() const { return SVGTests::isValid(); }
 
         // 'SVGSVGElement' functions
@@ -114,6 +109,20 @@ namespace WebCore {
         static SVGTransform createSVGTransform();
         static SVGTransform createSVGTransformFromMatrix(const AffineTransform&);
 
+        AffineTransform viewBoxToViewTransform(float viewWidth, float viewHeight) const;
+
+        void inheritViewAttributes(SVGViewElement*);
+
+        bool isOutermostSVG() const;
+
+        Element* getElementById(const AtomicString&) const;
+
+    private:
+        SVGSVGElement(const QualifiedName&, Document*);
+        virtual ~SVGSVGElement();
+
+        virtual bool isSVG() const { return true; }
+        
         virtual void parseMappedAttribute(Attribute*);
 
         virtual bool rendererIsNeeded(RenderStyle* style) { return StyledElement::rendererIsNeeded(style); }
@@ -125,15 +134,6 @@ namespace WebCore {
         virtual void svgAttributeChanged(const QualifiedName&);
         virtual void synchronizeProperty(const QualifiedName&);
 
-        AffineTransform viewBoxToViewTransform(float viewWidth, float viewHeight) const;
-
-        void inheritViewAttributes(SVGViewElement*);
-
-        bool isOutermostSVG() const;
-
-        Element* getElementById(const AtomicString&) const;
-
-    private:
         virtual bool selfHasRelativeLengths() const;
 
         DECLARE_ANIMATED_PROPERTY(SVGSVGElement, SVGNames::xAttr, SVGLength, X, x)
diff --git a/WebCore/svg/SVGScriptElement.cpp b/WebCore/svg/SVGScriptElement.cpp
index dc2314f..e5254ec 100644
--- a/WebCore/svg/SVGScriptElement.cpp
+++ b/WebCore/svg/SVGScriptElement.cpp
@@ -31,10 +31,8 @@
 
 namespace WebCore {
 
-SVGScriptElement::SVGScriptElement(const QualifiedName& tagName, Document* document, bool createdByParser)
+inline SVGScriptElement::SVGScriptElement(const QualifiedName& tagName, Document* document, bool createdByParser)
     : SVGElement(tagName, document)
-    , SVGURIReference()
-    , SVGExternalResourcesRequired()
     , m_data(this, this)
 {
     m_data.setCreatedByParser(createdByParser);
@@ -45,10 +43,6 @@ PassRefPtr<SVGScriptElement> SVGScriptElement::create(const QualifiedName& tagNa
     return new SVGScriptElement(tagName, document, createdByParser);
 }
 
-SVGScriptElement::~SVGScriptElement()
-{
-}
-
 String SVGScriptElement::scriptContent() const
 {
     return m_data.scriptContent();
diff --git a/WebCore/svg/SVGScriptElement.h b/WebCore/svg/SVGScriptElement.h
index 27978e4..6dffea6 100644
--- a/WebCore/svg/SVGScriptElement.h
+++ b/WebCore/svg/SVGScriptElement.h
@@ -36,8 +36,11 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGScriptElement> create(const QualifiedName&, Document*, bool createdByParser);
 
+        String type() const;
+        void setType(const String&);
+
+    private:
         SVGScriptElement(const QualifiedName&, Document*, bool createdByParser);
-        virtual ~SVGScriptElement();
 
         virtual String scriptContent() const;
 
@@ -51,16 +54,12 @@ namespace WebCore {
         virtual bool isURLAttribute(Attribute*) const;
         virtual void finishParsingChildren();
 
-        String type() const;
-        void setType(const String&);
-
         virtual String scriptCharset() const;
 
         virtual void addSubresourceAttributeURLs(ListHashSet<KURL>&) const;
 
         virtual bool shouldExecuteAsJavaScript() const;
 
-    protected:
         virtual bool haveLoadedRequiredResources();
 
         virtual String sourceAttributeValue() const;
@@ -75,14 +74,12 @@ namespace WebCore {
         virtual void dispatchLoadEvent();
         virtual void dispatchErrorEvent();
 
-    private:
         // SVGURIReference
         DECLARE_ANIMATED_PROPERTY(SVGScriptElement, XLinkNames::hrefAttr, String, Href, href)
 
         // SVGExternalResourcesRequired
         DECLARE_ANIMATED_PROPERTY(SVGScriptElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
 
-    private:
         ScriptElementData m_data;
         String m_type;
     };
diff --git a/WebCore/svg/SVGSetElement.cpp b/WebCore/svg/SVGSetElement.cpp
index 3408775..081481d 100644
--- a/WebCore/svg/SVGSetElement.cpp
+++ b/WebCore/svg/SVGSetElement.cpp
@@ -24,7 +24,7 @@
 
 namespace WebCore {
     
-SVGSetElement::SVGSetElement(const QualifiedName& tagName, Document* document)
+inline SVGSetElement::SVGSetElement(const QualifiedName& tagName, Document* document)
     : SVGAnimateElement(tagName, document)
 {
 }
diff --git a/WebCore/svg/SVGSetElement.h b/WebCore/svg/SVGSetElement.h
index 2257ac6..a519973 100644
--- a/WebCore/svg/SVGSetElement.h
+++ b/WebCore/svg/SVGSetElement.h
@@ -31,6 +31,7 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGSetElement> create(const QualifiedName&, Document*);
 
+    private:
         SVGSetElement(const QualifiedName&, Document*);
     };
 
diff --git a/WebCore/svg/SVGStopElement.cpp b/WebCore/svg/SVGStopElement.cpp
index 8c9e1d3..f8b3180 100644
--- a/WebCore/svg/SVGStopElement.cpp
+++ b/WebCore/svg/SVGStopElement.cpp
@@ -32,8 +32,8 @@
 
 namespace WebCore {
 
-SVGStopElement::SVGStopElement(const QualifiedName& tagName, Document* doc)
-    : SVGStyledElement(tagName, doc)
+inline SVGStopElement::SVGStopElement(const QualifiedName& tagName, Document* document)
+    : SVGStyledElement(tagName, document)
     , m_offset(0)
 {
 }
@@ -43,10 +43,6 @@ PassRefPtr<SVGStopElement> SVGStopElement::create(const QualifiedName& tagName,
     return new SVGStopElement(tagName, document);
 }
 
-SVGStopElement::~SVGStopElement()
-{
-}
-
 void SVGStopElement::parseMappedAttribute(Attribute* attr)
 {
     if (attr->name() == SVGNames::offsetAttr) {
diff --git a/WebCore/svg/SVGStopElement.h b/WebCore/svg/SVGStopElement.h
index c0f91b2..232b97a 100644
--- a/WebCore/svg/SVGStopElement.h
+++ b/WebCore/svg/SVGStopElement.h
@@ -31,16 +31,15 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGStopElement> create(const QualifiedName&, Document*);
 
+        Color stopColorIncludingOpacity() const;
+
+    private:
         SVGStopElement(const QualifiedName&, Document*);
-        virtual ~SVGStopElement();
 
         virtual void parseMappedAttribute(Attribute*);
         virtual void svgAttributeChanged(const QualifiedName&);
         virtual void synchronizeProperty(const QualifiedName&);
 
-        Color stopColorIncludingOpacity() const;
-
-    private:
         virtual bool isGradientStop() const { return true; }
 
         virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
diff --git a/WebCore/svg/SVGStringList.cpp b/WebCore/svg/SVGStringList.cpp
index 806c70a..9f4809f 100644
--- a/WebCore/svg/SVGStringList.cpp
+++ b/WebCore/svg/SVGStringList.cpp
@@ -32,10 +32,6 @@ SVGStringList::SVGStringList(const QualifiedName& attributeName)
 {
 }
 
-SVGStringList::~SVGStringList()
-{
-}
-
 void SVGStringList::reset(const String& str)
 {
     ExceptionCode ec = 0;
diff --git a/WebCore/svg/SVGStringList.h b/WebCore/svg/SVGStringList.h
index bc234ff..e8841ea 100644
--- a/WebCore/svg/SVGStringList.h
+++ b/WebCore/svg/SVGStringList.h
@@ -30,7 +30,6 @@ namespace WebCore {
     class SVGStringList : public SVGList<String> {
     public:
         static PassRefPtr<SVGStringList> create(const QualifiedName& attributeName) { return adoptRef(new SVGStringList(attributeName)); }
-        virtual ~SVGStringList();
 
         void reset(const String& str);
         void parse(const String& data, UChar delimiter = ',');
diff --git a/WebCore/svg/SVGStylable.cpp b/WebCore/svg/SVGStylable.cpp
index 510467d..6f54888 100644
--- a/WebCore/svg/SVGStylable.cpp
+++ b/WebCore/svg/SVGStylable.cpp
@@ -1,38 +1 @@
-/*
- * Copyright (C) 2004, 2005, 2008 Nikolas Zimmermann <zimmermann at kde.org>
- * Copyright (C) 2004, 2005, 2006 Rob Buis <buis at kde.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#include "config.h"
-
-#if ENABLE(SVG)
-#include "SVGStylable.h"
-
-namespace WebCore {
-
-SVGStylable::SVGStylable()
-{
-}
-
-SVGStylable::~SVGStylable()
-{
-}
-
-}
-
-#endif // ENABLE(SVG)
+// This file is now intentionally empty. Delete it after removing it from all the build systems and project files.
diff --git a/WebCore/svg/SVGStylable.h b/WebCore/svg/SVGStylable.h
index 37148f9..fee4e63 100644
--- a/WebCore/svg/SVGStylable.h
+++ b/WebCore/svg/SVGStylable.h
@@ -29,12 +29,10 @@ namespace WebCore {
 
     class CSSValue;
     class CSSStyleDeclaration;
-    class QualifiedName;
 
     class SVGStylable {
     public:
-        SVGStylable();
-        virtual ~SVGStylable();
+        virtual ~SVGStylable() { }
 
         virtual CSSStyleDeclaration* style() = 0;
         virtual PassRefPtr<CSSValue> getPresentationAttribute(const String&) = 0;
diff --git a/WebCore/svg/SVGStyleElement.cpp b/WebCore/svg/SVGStyleElement.cpp
index b328b97..519d421 100644
--- a/WebCore/svg/SVGStyleElement.cpp
+++ b/WebCore/svg/SVGStyleElement.cpp
@@ -34,7 +34,7 @@
 
 namespace WebCore {
 
-SVGStyleElement::SVGStyleElement(const QualifiedName& tagName, Document* document, bool createdByParser)
+inline SVGStyleElement::SVGStyleElement(const QualifiedName& tagName, Document* document, bool createdByParser)
     : SVGElement(tagName, document)
     , StyleElement(document, createdByParser)
 {
diff --git a/WebCore/svg/SVGStyleElement.h b/WebCore/svg/SVGStyleElement.h
index 7fba412..bb46549 100644
--- a/WebCore/svg/SVGStyleElement.h
+++ b/WebCore/svg/SVGStyleElement.h
@@ -34,6 +34,18 @@ class SVGStyleElement : public SVGElement
 public:
     static PassRefPtr<SVGStyleElement> create(const QualifiedName&, Document*, bool createdByParser);
 
+    StyleSheet* sheet();
+
+    virtual const AtomicString& type() const;
+    void setType(const AtomicString&, ExceptionCode&);
+
+    virtual const AtomicString& media() const;
+    void setMedia(const AtomicString&, ExceptionCode&);
+
+    virtual String title() const;
+    void setTitle(const AtomicString&, ExceptionCode&);
+
+private:
     SVGStyleElement(const QualifiedName&, Document*, bool createdByParser);
 
     virtual void parseMappedAttribute(Attribute*);
@@ -45,17 +57,6 @@ public:
 
     virtual bool isLoading() const { return StyleElement::isLoading(); }
     virtual bool sheetLoaded() { return StyleElement::sheetLoaded(document()); }
-
-    virtual const AtomicString& type() const;
-    void setType(const AtomicString&, ExceptionCode&);
-
-    virtual const AtomicString& media() const;
-    void setMedia(const AtomicString&, ExceptionCode&);
-
-    virtual String title() const;
-    void setTitle(const AtomicString&, ExceptionCode&);
-
-    StyleSheet* sheet();
 };
 
 } // namespace WebCore
diff --git a/WebCore/svg/SVGStyledElement.cpp b/WebCore/svg/SVGStyledElement.cpp
index 6f04382..f554846 100644
--- a/WebCore/svg/SVGStyledElement.cpp
+++ b/WebCore/svg/SVGStyledElement.cpp
@@ -55,12 +55,8 @@ void mapAttributeToCSSProperty(HashMap<AtomicStringImpl*, int>* propertyNameToId
     propertyNameToIdMap->set(attrName.localName().impl(), propertyId);
 }
 
-SVGStyledElement::SVGStyledElement(const QualifiedName& tagName, Document* doc)
-    : SVGElement(tagName, doc)
-{
-}
-
-SVGStyledElement::~SVGStyledElement()
+SVGStyledElement::SVGStyledElement(const QualifiedName& tagName, Document* document)
+    : SVGElement(tagName, document)
 {
 }
 
diff --git a/WebCore/svg/SVGStyledElement.h b/WebCore/svg/SVGStyledElement.h
index 8431458..3482a4f 100644
--- a/WebCore/svg/SVGStyledElement.h
+++ b/WebCore/svg/SVGStyledElement.h
@@ -35,21 +35,29 @@ namespace WebCore {
     class SVGStyledElement : public SVGElement,
                              public SVGStylable {
     public:
-        SVGStyledElement(const QualifiedName&, Document*);
-        virtual ~SVGStyledElement();
-
         virtual String title() const;
 
         bool hasRelativeLengths() const { return !m_elementsWithRelativeLengths.isEmpty(); }
 
-        virtual bool isStyled() const { return true; }
         virtual bool supportsMarkers() const { return false; }
 
         virtual PassRefPtr<CSSValue> getPresentationAttribute(const String& name);
-        virtual CSSStyleDeclaration* style() { return StyledElement::style(); }
 
         bool isKnownAttribute(const QualifiedName&);
 
+        // Centralized place to force a manual style resolution. Hacky but needed for now.
+        PassRefPtr<RenderStyle> resolveStyle(RenderStyle* parentStyle);
+
+        bool instanceUpdatesBlocked() const;
+        void setInstanceUpdatesBlocked(bool);
+
+        virtual AffineTransform localCoordinateSpaceTransform(SVGLocatable::CTMScope) const;
+
+        virtual CSSStyleDeclaration* style() { return StyledElement::style(); }
+
+    protected: 
+        SVGStyledElement(const QualifiedName&, Document*);
+
         virtual bool rendererIsNeeded(RenderStyle*);
 
         virtual bool mapToEntry(const QualifiedName&, MappedAttributeEntry&) const;
@@ -62,15 +70,6 @@ namespace WebCore {
         virtual void removedFromDocument();
         virtual void childrenChanged(bool changedByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0);
 
-        // Centralized place to force a manual style resolution. Hacky but needed for now.
-        PassRefPtr<RenderStyle> resolveStyle(RenderStyle* parentStyle);
-
-        bool instanceUpdatesBlocked() const;
-        void setInstanceUpdatesBlocked(bool);
-
-        virtual AffineTransform localCoordinateSpaceTransform(SVGLocatable::CTMScope) const;
-
-    protected: 
         static int cssPropertyIdForSVGAttributeName(const QualifiedName&);
         void updateRelativeLengthsInformation() { updateRelativeLengthsInformation(selfHasRelativeLengths(), this); }
         void updateRelativeLengthsInformation(bool hasRelativeLengths, SVGStyledElement*);
@@ -78,7 +77,10 @@ namespace WebCore {
         virtual bool selfHasRelativeLengths() const { return false; }
 
     private:
+        virtual bool isStyled() const { return true; }
+
         HashSet<SVGStyledElement*> m_elementsWithRelativeLengths;
+
         DECLARE_ANIMATED_PROPERTY(SVGStyledElement, HTMLNames::classAttr, String, ClassName, className)
     };
 
diff --git a/WebCore/svg/SVGStyledLocatableElement.cpp b/WebCore/svg/SVGStyledLocatableElement.cpp
index 6b49542..d22e708 100644
--- a/WebCore/svg/SVGStyledLocatableElement.cpp
+++ b/WebCore/svg/SVGStyledLocatableElement.cpp
@@ -30,13 +30,8 @@
 
 namespace WebCore {
 
-SVGStyledLocatableElement::SVGStyledLocatableElement(const QualifiedName& tagName, Document* doc)
-    : SVGLocatable()
-    , SVGStyledElement(tagName, doc)
-{
-}
-
-SVGStyledLocatableElement::~SVGStyledLocatableElement()
+SVGStyledLocatableElement::SVGStyledLocatableElement(const QualifiedName& tagName, Document* document)
+    : SVGStyledElement(tagName, document)
 {
 }
 
diff --git a/WebCore/svg/SVGStyledLocatableElement.h b/WebCore/svg/SVGStyledLocatableElement.h
index 6eab7b0..82b3436 100644
--- a/WebCore/svg/SVGStyledLocatableElement.h
+++ b/WebCore/svg/SVGStyledLocatableElement.h
@@ -32,11 +32,6 @@ namespace WebCore {
     class SVGStyledLocatableElement : public SVGStyledElement,
                                       virtual public SVGLocatable {
     public:
-        SVGStyledLocatableElement(const QualifiedName&, Document*);
-        virtual ~SVGStyledLocatableElement();
-        
-        virtual bool isStyledLocatable() const { return true; }
-
         virtual SVGElement* nearestViewportElement() const;
         virtual SVGElement* farthestViewportElement() const;
 
@@ -45,6 +40,12 @@ namespace WebCore {
         virtual AffineTransform getScreenCTM(StyleUpdateStrategy = AllowStyleUpdate) const;
 
         virtual AffineTransform localCoordinateSpaceTransform(SVGLocatable::CTMScope mode) const { return SVGLocatable::localCoordinateSpaceTransform(mode); }
+
+    protected:
+        SVGStyledLocatableElement(const QualifiedName&, Document*);
+
+    private:
+        virtual bool isStyledLocatable() const { return true; }
     };
 
 } // namespace WebCore
diff --git a/WebCore/svg/SVGStyledTransformableElement.cpp b/WebCore/svg/SVGStyledTransformableElement.cpp
index 279f437..af10ed7 100644
--- a/WebCore/svg/SVGStyledTransformableElement.cpp
+++ b/WebCore/svg/SVGStyledTransformableElement.cpp
@@ -32,17 +32,12 @@
 
 namespace WebCore {
 
-SVGStyledTransformableElement::SVGStyledTransformableElement(const QualifiedName& tagName, Document* doc)
-    : SVGStyledLocatableElement(tagName, doc)
-    , SVGTransformable()
+SVGStyledTransformableElement::SVGStyledTransformableElement(const QualifiedName& tagName, Document* document)
+    : SVGStyledLocatableElement(tagName, document)
     , m_transform(SVGTransformList::create(SVGNames::transformAttr))
 {
 }
 
-SVGStyledTransformableElement::~SVGStyledTransformableElement()
-{
-}
-
 AffineTransform SVGStyledTransformableElement::getCTM(StyleUpdateStrategy styleUpdateStrategy) const
 {
     return SVGLocatable::computeCTM(this, SVGLocatable::NearestViewportScope, styleUpdateStrategy);
diff --git a/WebCore/svg/SVGStyledTransformableElement.h b/WebCore/svg/SVGStyledTransformableElement.h
index 1d7b197..7668889 100644
--- a/WebCore/svg/SVGStyledTransformableElement.h
+++ b/WebCore/svg/SVGStyledTransformableElement.h
@@ -33,11 +33,6 @@ class AffineTransform;
 class SVGStyledTransformableElement : public SVGStyledLocatableElement,
                                       public SVGTransformable {
 public:
-    SVGStyledTransformableElement(const QualifiedName&, Document*);
-    virtual ~SVGStyledTransformableElement();
-    
-    virtual bool isStyledTransformable() const { return true; }
-
     virtual AffineTransform getCTM(StyleUpdateStrategy = AllowStyleUpdate) const;
     virtual AffineTransform getScreenCTM(StyleUpdateStrategy = AllowStyleUpdate) const;
     virtual SVGElement* nearestViewportElement() const;
@@ -49,8 +44,6 @@ public:
 
     virtual FloatRect getBBox(StyleUpdateStrategy = AllowStyleUpdate) const;
 
-    virtual void parseMappedAttribute(Attribute*);
-    virtual void synchronizeProperty(const QualifiedName&);
     bool isKnownAttribute(const QualifiedName&);
 
     // "base class" methods for all the elements which render as paths
@@ -59,9 +52,16 @@ public:
     virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
 
 protected:
+    SVGStyledTransformableElement(const QualifiedName&, Document*);
+
+    virtual void parseMappedAttribute(Attribute*);
+    virtual void synchronizeProperty(const QualifiedName&);
+
     DECLARE_ANIMATED_PROPERTY(SVGStyledTransformableElement, SVGNames::transformAttr, SVGTransformList*, Transform, transform)
 
 private:
+    virtual bool isStyledTransformable() const { return true; }
+
     // Used by <animateMotion>
     OwnPtr<AffineTransform> m_supplementalTransform;
 };
diff --git a/WebCore/svg/SVGSwitchElement.cpp b/WebCore/svg/SVGSwitchElement.cpp
index 748390d..fa2e06b 100644
--- a/WebCore/svg/SVGSwitchElement.cpp
+++ b/WebCore/svg/SVGSwitchElement.cpp
@@ -27,11 +27,8 @@
 
 namespace WebCore {
 
-SVGSwitchElement::SVGSwitchElement(const QualifiedName& tagName, Document* doc)
-    : SVGStyledTransformableElement(tagName, doc)
-    , SVGTests()
-    , SVGLangSpace()
-    , SVGExternalResourcesRequired()
+inline SVGSwitchElement::SVGSwitchElement(const QualifiedName& tagName, Document* document)
+    : SVGStyledTransformableElement(tagName, document)
 {
 }
 
@@ -40,12 +37,11 @@ PassRefPtr<SVGSwitchElement> SVGSwitchElement::create(const QualifiedName& tagNa
     return new SVGSwitchElement(tagName, document);
 }
 
-SVGSwitchElement::~SVGSwitchElement()
-{
-}
-
 bool SVGSwitchElement::childShouldCreateRenderer(Node* child) const
 {
+    // FIXME: This function does not do what the comment below implies it does.
+    // It will create a renderer for any valid SVG element children, not just the first one.
+
     for (Node* n = firstChild(); n != 0; n = n->nextSibling()) {
         if (n->isSVGElement()) {
             SVGElement* element = static_cast<SVGElement*>(n);
diff --git a/WebCore/svg/SVGSwitchElement.h b/WebCore/svg/SVGSwitchElement.h
index af5a694..970cc1f 100644
--- a/WebCore/svg/SVGSwitchElement.h
+++ b/WebCore/svg/SVGSwitchElement.h
@@ -35,8 +35,8 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGSwitchElement> create(const QualifiedName&, Document*);
 
+    private:
         SVGSwitchElement(const QualifiedName&, Document*);
-        virtual ~SVGSwitchElement();
         
         virtual bool isValid() const { return SVGTests::isValid(); }
 
@@ -45,7 +45,6 @@ namespace WebCore {
         virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
         virtual void synchronizeProperty(const QualifiedName&);
 
-    private:
         // SVGExternalResourcesRequired
         DECLARE_ANIMATED_PROPERTY(SVGSwitchElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
     };
diff --git a/WebCore/svg/SVGSymbolElement.cpp b/WebCore/svg/SVGSymbolElement.cpp
index c6474e4..d8e4cbc 100644
--- a/WebCore/svg/SVGSymbolElement.cpp
+++ b/WebCore/svg/SVGSymbolElement.cpp
@@ -27,11 +27,8 @@
 
 namespace WebCore {
 
-SVGSymbolElement::SVGSymbolElement(const QualifiedName& tagName, Document* doc)
-    : SVGStyledElement(tagName, doc)
-    , SVGLangSpace()
-    , SVGExternalResourcesRequired()
-    , SVGFitToViewBox()
+inline SVGSymbolElement::SVGSymbolElement(const QualifiedName& tagName, Document* document)
+    : SVGStyledElement(tagName, document)
 {
 }
 
@@ -40,10 +37,6 @@ PassRefPtr<SVGSymbolElement> SVGSymbolElement::create(const QualifiedName& tagNa
     return new SVGSymbolElement(tagName, document);
 }
 
-SVGSymbolElement::~SVGSymbolElement()
-{
-}
-
 void SVGSymbolElement::parseMappedAttribute(Attribute* attr)
 {
     if (SVGLangSpace::parseMappedAttribute(attr))
diff --git a/WebCore/svg/SVGSymbolElement.h b/WebCore/svg/SVGSymbolElement.h
index da6b442..1f310f8 100644
--- a/WebCore/svg/SVGSymbolElement.h
+++ b/WebCore/svg/SVGSymbolElement.h
@@ -36,15 +36,14 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGSymbolElement> create(const QualifiedName&, Document*);
 
+    private:
         SVGSymbolElement(const QualifiedName&, Document*);
-        virtual ~SVGSymbolElement();
 
         virtual void parseMappedAttribute(Attribute*);
         virtual void svgAttributeChanged(const QualifiedName&);
         virtual void synchronizeProperty(const QualifiedName&);
         virtual bool rendererIsNeeded(RenderStyle*) { return false; }
 
-    private:
         virtual bool selfHasRelativeLengths() const;
 
         // SVGExternalResourcesRequired
diff --git a/WebCore/svg/SVGTRefElement.cpp b/WebCore/svg/SVGTRefElement.cpp
index 7476c27..cc302c7 100644
--- a/WebCore/svg/SVGTRefElement.cpp
+++ b/WebCore/svg/SVGTRefElement.cpp
@@ -32,9 +32,8 @@
 
 namespace WebCore {
 
-SVGTRefElement::SVGTRefElement(const QualifiedName& tagName, Document* doc)
-    : SVGTextPositioningElement(tagName, doc)
-    , SVGURIReference()
+inline SVGTRefElement::SVGTRefElement(const QualifiedName& tagName, Document* document)
+    : SVGTextPositioningElement(tagName, document)
 {
 }
 
@@ -43,10 +42,6 @@ PassRefPtr<SVGTRefElement> SVGTRefElement::create(const QualifiedName& tagName,
     return new SVGTRefElement(tagName, document);
 }
 
-SVGTRefElement::~SVGTRefElement()
-{
-}
-
 void SVGTRefElement::updateReferencedText()
 {
     Element* target = document()->getElementById(SVGURIReference::getTarget(href()));
diff --git a/WebCore/svg/SVGTRefElement.h b/WebCore/svg/SVGTRefElement.h
index 5aa9873..7a79ae5 100644
--- a/WebCore/svg/SVGTRefElement.h
+++ b/WebCore/svg/SVGTRefElement.h
@@ -32,8 +32,8 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGTRefElement> create(const QualifiedName&, Document*);
 
+    private:
         SVGTRefElement(const QualifiedName&, Document*);
-        virtual ~SVGTRefElement();
 
         virtual void parseMappedAttribute(Attribute*);
         virtual void svgAttributeChanged(const QualifiedName&);
@@ -42,7 +42,6 @@ namespace WebCore {
         virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
         virtual bool childShouldCreateRenderer(Node*) const;
 
-    private:
         void updateReferencedText();
 
         // SVGURIReference
diff --git a/WebCore/svg/SVGTSpanElement.cpp b/WebCore/svg/SVGTSpanElement.cpp
index 84dd613..5dc07ab 100644
--- a/WebCore/svg/SVGTSpanElement.cpp
+++ b/WebCore/svg/SVGTSpanElement.cpp
@@ -29,8 +29,8 @@
 
 namespace WebCore {
 
-SVGTSpanElement::SVGTSpanElement(const QualifiedName& tagName, Document* doc)
-    : SVGTextPositioningElement(tagName, doc)
+inline SVGTSpanElement::SVGTSpanElement(const QualifiedName& tagName, Document* document)
+    : SVGTextPositioningElement(tagName, document)
 {
 }
 
diff --git a/WebCore/svg/SVGTests.cpp b/WebCore/svg/SVGTests.cpp
index 9767432..e4813cd 100644
--- a/WebCore/svg/SVGTests.cpp
+++ b/WebCore/svg/SVGTests.cpp
@@ -64,11 +64,6 @@ SVGStringList* SVGTests::systemLanguage() const
     return m_systemLanguage.get();
 }
 
-bool SVGTests::hasExtension(const String&) const
-{
-    return false;
-}
-
 bool SVGTests::isValid() const
 {
     ExceptionCode ec = 0;
diff --git a/WebCore/svg/SVGTests.h b/WebCore/svg/SVGTests.h
index b638c0a..c5bb70f 100644
--- a/WebCore/svg/SVGTests.h
+++ b/WebCore/svg/SVGTests.h
@@ -33,20 +33,21 @@ namespace WebCore {
 
     class SVGTests {
     public:
-        SVGTests();
-        virtual ~SVGTests();
-
         SVGStringList* requiredFeatures() const;
         SVGStringList* requiredExtensions() const;
         SVGStringList* systemLanguage() const;
 
-        bool hasExtension(const String&) const;
+        bool hasExtension(const String&) const { return false; }
 
         bool isValid() const;
         
         bool parseMappedAttribute(Attribute*);
         bool isKnownAttribute(const QualifiedName&);
 
+    protected:
+        SVGTests();
+        ~SVGTests();
+
     private:
         mutable RefPtr<SVGStringList> m_features;
         mutable RefPtr<SVGStringList> m_extensions;
diff --git a/WebCore/svg/SVGTextContentElement.cpp b/WebCore/svg/SVGTextContentElement.cpp
index a96ce63..9d44b10 100644
--- a/WebCore/svg/SVGTextContentElement.cpp
+++ b/WebCore/svg/SVGTextContentElement.cpp
@@ -32,20 +32,13 @@
 
 namespace WebCore {
 
-SVGTextContentElement::SVGTextContentElement(const QualifiedName& tagName, Document* doc)
-    : SVGStyledElement(tagName, doc)
-    , SVGTests()
-    , SVGLangSpace()
-    , SVGExternalResourcesRequired()
+SVGTextContentElement::SVGTextContentElement(const QualifiedName& tagName, Document* document)
+    : SVGStyledElement(tagName, document)
     , m_textLength(LengthModeOther)
     , m_lengthAdjust(LENGTHADJUST_SPACING)
 {
 }
 
-SVGTextContentElement::~SVGTextContentElement()
-{
-}
-
 unsigned SVGTextContentElement::getNumberOfChars() const
 {
     document()->updateLayoutIgnorePendingStylesheets();
diff --git a/WebCore/svg/SVGTextContentElement.h b/WebCore/svg/SVGTextContentElement.h
index 534f21e..cf3698b 100644
--- a/WebCore/svg/SVGTextContentElement.h
+++ b/WebCore/svg/SVGTextContentElement.h
@@ -42,11 +42,6 @@ namespace WebCore {
             LENGTHADJUST_SPACINGANDGLYPHS   = 2
         };
 
-        virtual ~SVGTextContentElement();
-        
-        virtual bool isValid() const { return SVGTests::isValid(); }
-        virtual bool isTextContent() const { return true; }
-
         unsigned getNumberOfChars() const;
         float getComputedTextLength() const;
         float getSubStringLength(unsigned charnum, unsigned nchars, ExceptionCode&) const;
@@ -57,17 +52,21 @@ namespace WebCore {
         int getCharNumAtPosition(const FloatPoint&) const;
         void selectSubString(unsigned charnum, unsigned nchars, ExceptionCode&) const;
 
-        virtual void parseMappedAttribute(Attribute*);
-        virtual void synchronizeProperty(const QualifiedName&);
-
         bool isKnownAttribute(const QualifiedName&);
 
     protected:
         SVGTextContentElement(const QualifiedName&, Document*);
 
+        virtual bool isValid() const { return SVGTests::isValid(); }
+
+        virtual void parseMappedAttribute(Attribute*);
+        virtual void synchronizeProperty(const QualifiedName&);
+
         virtual bool selfHasRelativeLengths() const;
 
     private:
+        virtual bool isTextContent() const { return true; }
+
         DECLARE_ANIMATED_PROPERTY(SVGTextContentElement, SVGNames::textLengthAttr, SVGLength, TextLength, textLength)
         DECLARE_ANIMATED_PROPERTY(SVGTextContentElement, SVGNames::lengthAdjustAttr, int, LengthAdjust, lengthAdjust)
 
diff --git a/WebCore/svg/SVGTextElement.cpp b/WebCore/svg/SVGTextElement.cpp
index b3b6524..1de0119 100644
--- a/WebCore/svg/SVGTextElement.cpp
+++ b/WebCore/svg/SVGTextElement.cpp
@@ -35,7 +35,7 @@
 
 namespace WebCore {
 
-SVGTextElement::SVGTextElement(const QualifiedName& tagName, Document* doc)
+inline SVGTextElement::SVGTextElement(const QualifiedName& tagName, Document* doc)
     : SVGTextPositioningElement(tagName, doc)
     , SVGTransformable()
     , m_transform(SVGTransformList::create(SVGNames::transformAttr))
@@ -47,10 +47,6 @@ PassRefPtr<SVGTextElement> SVGTextElement::create(const QualifiedName& tagName,
     return new SVGTextElement(tagName, document);
 }
 
-SVGTextElement::~SVGTextElement()
-{
-}
-
 void SVGTextElement::parseMappedAttribute(Attribute* attr)
 {
     if (SVGTransformable::isKnownAttribute(attr->name())) {
diff --git a/WebCore/svg/SVGTextElement.h b/WebCore/svg/SVGTextElement.h
index c6aa506..00afa59 100644
--- a/WebCore/svg/SVGTextElement.h
+++ b/WebCore/svg/SVGTextElement.h
@@ -32,8 +32,6 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGTextElement> create(const QualifiedName&, Document*);
 
-        virtual ~SVGTextElement();
-
         virtual SVGElement* nearestViewportElement() const;
         virtual SVGElement* farthestViewportElement() const;
 
@@ -44,6 +42,7 @@ namespace WebCore {
 
     private:
         SVGTextElement(const QualifiedName&, Document*);
+
         virtual void parseMappedAttribute(Attribute*);
 
         virtual AffineTransform* supplementalTransform();
diff --git a/WebCore/svg/SVGTextPathElement.cpp b/WebCore/svg/SVGTextPathElement.cpp
index c5dc363..47800c6 100644
--- a/WebCore/svg/SVGTextPathElement.cpp
+++ b/WebCore/svg/SVGTextPathElement.cpp
@@ -34,9 +34,8 @@
 
 namespace WebCore {
 
-SVGTextPathElement::SVGTextPathElement(const QualifiedName& tagName, Document* doc)
-    : SVGTextContentElement(tagName, doc)
-    , SVGURIReference()
+inline SVGTextPathElement::SVGTextPathElement(const QualifiedName& tagName, Document* document)
+    : SVGTextContentElement(tagName, document)
     , m_startOffset(LengthModeOther)
     , m_method(SVG_TEXTPATH_METHODTYPE_ALIGN)
     , m_spacing(SVG_TEXTPATH_SPACINGTYPE_EXACT)
@@ -48,10 +47,6 @@ PassRefPtr<SVGTextPathElement> SVGTextPathElement::create(const QualifiedName& t
     return new SVGTextPathElement(tagName, document);
 }
 
-SVGTextPathElement::~SVGTextPathElement()
-{
-}
-
 void SVGTextPathElement::parseMappedAttribute(Attribute* attr)
 {
     const String& value = attr->value();
diff --git a/WebCore/svg/SVGTextPathElement.h b/WebCore/svg/SVGTextPathElement.h
index a951ed1..b87dfa5 100644
--- a/WebCore/svg/SVGTextPathElement.h
+++ b/WebCore/svg/SVGTextPathElement.h
@@ -52,8 +52,6 @@ namespace WebCore {
         };
 
         static PassRefPtr<SVGTextPathElement> create(const QualifiedName&, Document*);
-
-        virtual ~SVGTextPathElement();
  
     private:
         SVGTextPathElement(const QualifiedName&, Document*);
diff --git a/WebCore/svg/SVGTextPositioningElement.cpp b/WebCore/svg/SVGTextPositioningElement.cpp
index 86231f8..4703482 100644
--- a/WebCore/svg/SVGTextPositioningElement.cpp
+++ b/WebCore/svg/SVGTextPositioningElement.cpp
@@ -32,8 +32,8 @@
 
 namespace WebCore {
 
-SVGTextPositioningElement::SVGTextPositioningElement(const QualifiedName& tagName, Document* doc)
-    : SVGTextContentElement(tagName, doc)
+SVGTextPositioningElement::SVGTextPositioningElement(const QualifiedName& tagName, Document* document)
+    : SVGTextContentElement(tagName, document)
     , m_x(SVGLengthList::create(SVGNames::xAttr))
     , m_y(SVGLengthList::create(SVGNames::yAttr))
     , m_dx(SVGLengthList::create(SVGNames::dxAttr))
@@ -42,10 +42,6 @@ SVGTextPositioningElement::SVGTextPositioningElement(const QualifiedName& tagNam
 {
 }
 
-SVGTextPositioningElement::~SVGTextPositioningElement()
-{
-}
-
 void SVGTextPositioningElement::parseMappedAttribute(Attribute* attr)
 {
     if (attr->name() == SVGNames::xAttr)
diff --git a/WebCore/svg/SVGTextPositioningElement.h b/WebCore/svg/SVGTextPositioningElement.h
index 367847c..57a4028 100644
--- a/WebCore/svg/SVGTextPositioningElement.h
+++ b/WebCore/svg/SVGTextPositioningElement.h
@@ -29,16 +29,13 @@
 namespace WebCore {
 
     class SVGTextPositioningElement : public SVGTextContentElement {
-    public:
-        virtual ~SVGTextPositioningElement();
+    protected:
+        SVGTextPositioningElement(const QualifiedName&, Document*);
 
         virtual void parseMappedAttribute(Attribute*);
         virtual void svgAttributeChanged(const QualifiedName&);
         virtual void synchronizeProperty(const QualifiedName&);
 
-    protected:
-        SVGTextPositioningElement(const QualifiedName&, Document*);
-
         bool isKnownAttribute(const QualifiedName&);
 
         virtual bool selfHasRelativeLengths() const;
diff --git a/WebCore/svg/SVGTitleElement.cpp b/WebCore/svg/SVGTitleElement.cpp
index 3330541..7715ad9 100644
--- a/WebCore/svg/SVGTitleElement.cpp
+++ b/WebCore/svg/SVGTitleElement.cpp
@@ -26,8 +26,8 @@
 
 namespace WebCore {
 
-SVGTitleElement::SVGTitleElement(const QualifiedName& tagName, Document* doc)
-    : SVGStyledElement(tagName, doc)
+inline SVGTitleElement::SVGTitleElement(const QualifiedName& tagName, Document* document)
+    : SVGStyledElement(tagName, document)
 {
 }
 
diff --git a/WebCore/svg/SVGTransform.cpp b/WebCore/svg/SVGTransform.cpp
index 594af16..86774db 100644
--- a/WebCore/svg/SVGTransform.cpp
+++ b/WebCore/svg/SVGTransform.cpp
@@ -52,10 +52,6 @@ SVGTransform::SVGTransform(const AffineTransform& matrix)
 {
 }
 
-SVGTransform::~SVGTransform()
-{
-}
-
 bool SVGTransform::isValid()
 {
     return (m_type != SVG_TRANSFORM_UNKNOWN);
diff --git a/WebCore/svg/SVGTransform.h b/WebCore/svg/SVGTransform.h
index 071d908..db6a42f 100644
--- a/WebCore/svg/SVGTransform.h
+++ b/WebCore/svg/SVGTransform.h
@@ -44,8 +44,7 @@ namespace WebCore {
         SVGTransform();
         SVGTransform(SVGTransformType);
         explicit SVGTransform(const AffineTransform&);
-        virtual ~SVGTransform();
-               
+
         SVGTransformType type() const;
 
         AffineTransform matrix() const;
diff --git a/WebCore/svg/SVGTransformable.cpp b/WebCore/svg/SVGTransformable.cpp
index a47cd1f..a25e086 100644
--- a/WebCore/svg/SVGTransformable.cpp
+++ b/WebCore/svg/SVGTransformable.cpp
@@ -33,15 +33,6 @@
 
 namespace WebCore {
 
-SVGTransformable::SVGTransformable()
-    : SVGLocatable()
-{
-}
-
-SVGTransformable::~SVGTransformable()
-{
-}
-
 static int parseTransformParamList(const UChar*& ptr, const UChar* end, float* values, int required, int optional)
 {
     int optionalParams = 0, requiredParams = 0;
diff --git a/WebCore/svg/SVGTransformable.h b/WebCore/svg/SVGTransformable.h
index 8979eb1..e2fec4e 100644
--- a/WebCore/svg/SVGTransformable.h
+++ b/WebCore/svg/SVGTransformable.h
@@ -35,9 +35,6 @@ class QualifiedName;
 
 class SVGTransformable : virtual public SVGLocatable {
 public:
-    SVGTransformable();
-    virtual ~SVGTransformable();
-
     enum TransformParsingMode {
         ClearList,
         DoNotClearList
diff --git a/WebCore/svg/SVGURIReference.cpp b/WebCore/svg/SVGURIReference.cpp
index 97003e5..af62eb4 100644
--- a/WebCore/svg/SVGURIReference.cpp
+++ b/WebCore/svg/SVGURIReference.cpp
@@ -27,14 +27,6 @@
 
 namespace WebCore {
 
-SVGURIReference::SVGURIReference()
-{
-}
-
-SVGURIReference::~SVGURIReference()
-{
-}
-
 bool SVGURIReference::parseMappedAttribute(Attribute* attr)
 {
     if (attr->name().matches(XLinkNames::hrefAttr)) {
diff --git a/WebCore/svg/SVGURIReference.h b/WebCore/svg/SVGURIReference.h
index 0900215..92a93a9 100644
--- a/WebCore/svg/SVGURIReference.h
+++ b/WebCore/svg/SVGURIReference.h
@@ -31,8 +31,7 @@ namespace WebCore {
 
     class SVGURIReference {
     public:
-        SVGURIReference();
-        virtual ~SVGURIReference();
+        virtual ~SVGURIReference() { }
 
         bool parseMappedAttribute(Attribute*);
         bool isKnownAttribute(const QualifiedName&);
diff --git a/WebCore/svg/SVGUseElement.cpp b/WebCore/svg/SVGUseElement.cpp
index 56fda67..514fc3f 100644
--- a/WebCore/svg/SVGUseElement.cpp
+++ b/WebCore/svg/SVGUseElement.cpp
@@ -54,12 +54,8 @@
 
 namespace WebCore {
 
-SVGUseElement::SVGUseElement(const QualifiedName& tagName, Document* doc)
-    : SVGStyledTransformableElement(tagName, doc)
-    , SVGTests()
-    , SVGLangSpace()
-    , SVGExternalResourcesRequired()
-    , SVGURIReference()
+inline SVGUseElement::SVGUseElement(const QualifiedName& tagName, Document* document)
+    : SVGStyledTransformableElement(tagName, document)
     , m_x(LengthModeWidth)
     , m_y(LengthModeHeight)
     , m_width(LengthModeWidth)
@@ -75,10 +71,6 @@ PassRefPtr<SVGUseElement> SVGUseElement::create(const QualifiedName& tagName, Do
     return new SVGUseElement(tagName, document);
 }
 
-SVGUseElement::~SVGUseElement()
-{
-}
-
 SVGElementInstance* SVGUseElement::instanceRoot() const
 {
     // If there is no element instance tree, force immediate SVGElementInstance tree
@@ -853,7 +845,7 @@ void SVGUseElement::expandSymbolElementsInShadowTree(SVGShadowTreeRootElement* s
         // height are provided on the 'use' element, then these attributes will be transferred to
         // the generated 'svg'. If attributes width and/or height are not specified, the generated
         // 'svg' element will use values of 100% for these attributes.
-        RefPtr<SVGSVGElement> svgElement = new SVGSVGElement(SVGNames::svgTag, document());
+        RefPtr<SVGSVGElement> svgElement = SVGSVGElement::create(SVGNames::svgTag, document());
 
         // Transfer all attributes from <symbol> to the new <svg> element
         svgElement->attributes()->setAttributes(*element->attributes());
diff --git a/WebCore/svg/SVGUseElement.h b/WebCore/svg/SVGUseElement.h
index 40d97a0..9366d25 100644
--- a/WebCore/svg/SVGUseElement.h
+++ b/WebCore/svg/SVGUseElement.h
@@ -42,8 +42,6 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGUseElement> create(const QualifiedName&, Document*);
 
-        virtual ~SVGUseElement();
-
         SVGElementInstance* instanceRoot() const;
         SVGElementInstance* animatedInstanceRoot() const;
         SVGElementInstance* instanceForShadowTreeElement(Node*) const;
diff --git a/WebCore/svg/SVGViewElement.cpp b/WebCore/svg/SVGViewElement.cpp
index 0eb9931..d87300e 100644
--- a/WebCore/svg/SVGViewElement.cpp
+++ b/WebCore/svg/SVGViewElement.cpp
@@ -32,11 +32,8 @@
 
 namespace WebCore {
 
-SVGViewElement::SVGViewElement(const QualifiedName& tagName, Document* doc)
-    : SVGStyledElement(tagName, doc)
-    , SVGExternalResourcesRequired()
-    , SVGFitToViewBox()
-    , SVGZoomAndPan()
+inline SVGViewElement::SVGViewElement(const QualifiedName& tagName, Document* document)
+    : SVGStyledElement(tagName, document)
 {
 }
 
@@ -45,10 +42,6 @@ PassRefPtr<SVGViewElement> SVGViewElement::create(const QualifiedName& tagName,
     return new SVGViewElement(tagName, document);
 }
 
-SVGViewElement::~SVGViewElement()
-{
-}
-
 SVGStringList* SVGViewElement::viewTarget() const
 {
     if (!m_viewTarget)
diff --git a/WebCore/svg/SVGViewElement.h b/WebCore/svg/SVGViewElement.h
index 3b42a8e..b483236 100644
--- a/WebCore/svg/SVGViewElement.h
+++ b/WebCore/svg/SVGViewElement.h
@@ -37,8 +37,6 @@ namespace WebCore {
     public:
         static PassRefPtr<SVGViewElement> create(const QualifiedName&, Document*);
 
-        virtual ~SVGViewElement();
-
         SVGStringList* viewTarget() const;
 
     private:
diff --git a/WebCore/svg/SVGViewSpec.cpp b/WebCore/svg/SVGViewSpec.cpp
index 25fb66b..20c58ac 100644
--- a/WebCore/svg/SVGViewSpec.cpp
+++ b/WebCore/svg/SVGViewSpec.cpp
@@ -32,17 +32,11 @@
 namespace WebCore {
 
 SVGViewSpec::SVGViewSpec(const SVGSVGElement* contextElement)
-    : SVGFitToViewBox()
-    , SVGZoomAndPan()
-    , m_contextElement(contextElement)
+    : m_contextElement(contextElement)
     , m_transform(SVGTransformList::create(SVGNames::transformAttr))
 {
 }
 
-SVGViewSpec::~SVGViewSpec()
-{
-}
-
 void SVGViewSpec::setTransform(const String& transform)
 {
     SVGTransformable::parseTransformAttribute(m_transform.get(), transform);
diff --git a/WebCore/svg/SVGViewSpec.h b/WebCore/svg/SVGViewSpec.h
index 3355fce..cf64bca 100644
--- a/WebCore/svg/SVGViewSpec.h
+++ b/WebCore/svg/SVGViewSpec.h
@@ -37,7 +37,6 @@ namespace WebCore {
                         public Noncopyable {
     public:
         SVGViewSpec(const SVGSVGElement*);
-        virtual ~SVGViewSpec();
 
         bool parseViewSpec(const String&);
 
diff --git a/WebCore/svg/SVGZoomAndPan.cpp b/WebCore/svg/SVGZoomAndPan.cpp
index d256bd0..93ab3ad 100644
--- a/WebCore/svg/SVGZoomAndPan.cpp
+++ b/WebCore/svg/SVGZoomAndPan.cpp
@@ -29,20 +29,6 @@
 
 namespace WebCore {
 
-SVGZoomAndPan::SVGZoomAndPan()
-    : m_zoomAndPan(SVG_ZOOMANDPAN_MAGNIFY)
-{
-}
-
-SVGZoomAndPan::~SVGZoomAndPan()
-{
-}
-
-unsigned short SVGZoomAndPan::zoomAndPan() const
-{
-    return m_zoomAndPan;
-}
-
 void SVGZoomAndPan::setZoomAndPan(unsigned short zoomAndPan)
 {
     m_zoomAndPan = zoomAndPan;
diff --git a/WebCore/svg/SVGZoomAndPan.h b/WebCore/svg/SVGZoomAndPan.h
index a85304d..b2e9d83 100644
--- a/WebCore/svg/SVGZoomAndPan.h
+++ b/WebCore/svg/SVGZoomAndPan.h
@@ -22,7 +22,8 @@
 #define SVGZoomAndPan_h
 
 #if ENABLE(SVG)
-#include "PlatformString.h"
+
+#include <wtf/unicode/Unicode.h>
 
 namespace WebCore {
 
@@ -37,10 +38,10 @@ namespace WebCore {
             SVG_ZOOMANDPAN_MAGNIFY = 2
         };
 
-        SVGZoomAndPan();
-        virtual ~SVGZoomAndPan();
+        SVGZoomAndPan() : m_zoomAndPan(SVG_ZOOMANDPAN_MAGNIFY) { }
+        virtual ~SVGZoomAndPan() { }
 
-        unsigned short zoomAndPan() const;
+        unsigned short zoomAndPan() const { return m_zoomAndPan; }
         virtual void setZoomAndPan(unsigned short zoomAndPan);
 
         bool parseMappedAttribute(Attribute*);
@@ -55,4 +56,5 @@ namespace WebCore {
 } // namespace WebCore
 
 #endif // ENABLE(SVG)
+
 #endif // SVGZoomAndPan_h
diff --git a/WebCore/svg/SVGZoomEvent.cpp b/WebCore/svg/SVGZoomEvent.cpp
index f8d94e4..784c32b 100644
--- a/WebCore/svg/SVGZoomEvent.cpp
+++ b/WebCore/svg/SVGZoomEvent.cpp
@@ -31,10 +31,6 @@ SVGZoomEvent::SVGZoomEvent()
 {
 }
 
-SVGZoomEvent::~SVGZoomEvent()
-{
-}
-
 FloatRect SVGZoomEvent::zoomRectScreen() const
 {
     return m_zoomRectScreen;
diff --git a/WebCore/svg/SVGZoomEvent.h b/WebCore/svg/SVGZoomEvent.h
index d4b7de0..48a3636 100644
--- a/WebCore/svg/SVGZoomEvent.h
+++ b/WebCore/svg/SVGZoomEvent.h
@@ -31,7 +31,6 @@ namespace WebCore {
     class SVGZoomEvent : public UIEvent {
     public:
         static PassRefPtr<SVGZoomEvent> create() { return adoptRef(new SVGZoomEvent); }
-        virtual ~SVGZoomEvent();
 
         // 'SVGZoomEvent' functions
         FloatRect zoomRectScreen() const;
@@ -46,11 +45,11 @@ namespace WebCore {
 
         FloatPoint newTranslate() const;
 
-        virtual bool isSVGZoomEvent() const;
-
     private:
         SVGZoomEvent();
 
+        virtual bool isSVGZoomEvent() const;
+
         float m_newScale;
         float m_previousScale;
         

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list