[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:50:52 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 69b3ef4ba40b25f14ae2df5e60d2af6216725ee3
Author: darin at apple.com <darin at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Aug 31 17:08:40 2010 +0000

    2010-08-31  Darin Adler  <darin at apple.com>
    
            Reviewed by Simon Fraser.
    
            Make DOM classes start with a reference count of 1, like all other RefCounted
            https://bugs.webkit.org/show_bug.cgi?id=28068
    
            * dom/Document.cpp:
            (WebCore::Document::accessSVGExtensions): Use adoptPtr instead of set.
    
            * dom/Document.h: Removed initialRefCount in Node constructor. It's always 1 now.
    
            * dom/Node.h: Removed CreateWithZeroRefCountFlag, CreateStyledElementZeroRefCount,
            CreateSVGElementZeroRefCount, and initialRefCount.
    
            * platform/TreeShared.h: Removed initialRefCount argument. It's always 1 now.
    
            * rendering/RenderSVGShadowTreeRootContainer.cpp:
            (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement): Use create
            instead of new.
    
            * rendering/SVGResources.h: Inherit from Noncopyable.
    
            * rendering/SVGResourcesCache.cpp:
            (WebCore::SVGResourcesCache::~SVGResourcesCache): Removed unneeded special
            case code.
    
            * rendering/SVGShadowTreeElements.cpp:
            (WebCore::SVGShadowTreeContainerElement::create): Added.
            (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): Made argument
            type more specific.
            (WebCore::SVGShadowTreeRootElement::create): Added.
            * rendering/SVGShadowTreeElements.h: Added create functions, and made the
            argument type more specific.
    
            * svg/SVGDocumentExtensions.cpp:
            (WebCore::SVGDocumentExtensions::SVGDocumentExtensions): Use adoptPtr.
            * svg/graphics/SVGImage.cpp:
            (WebCore::SVGImage::dataChanged): Use adoptPtr instead of set.
    
            * svg/SVGElement.cpp:
            (WebCore::SVGElement::SVGElement): Use CreateSVGElement instead of
            CreateSVGElementZeroRefCount.
            (WebCore::SVGElement::create): Use adoptRef.
    
            * wml/WMLElement.cpp:
            (WebCore::WMLElement::WMLElement): Use CreateStyledElement instead of
            CreateStyledElementZeroRefCount.
            (WebCore::WMLElement::create): Use adoptRef.
    
            * svg/SVGAElement.cpp:
            (WebCore::SVGAElement::create):
            * svg/SVGAltGlyphElement.cpp:
            (WebCore::SVGAltGlyphElement::create):
            * svg/SVGAnimateColorElement.cpp:
            (WebCore::SVGAnimateColorElement::create):
            * svg/SVGAnimateElement.cpp:
            (WebCore::SVGAnimateElement::create):
            * svg/SVGAnimateMotionElement.cpp:
            (WebCore::SVGAnimateMotionElement::create):
            * svg/SVGAnimateTransformElement.cpp:
            (WebCore::SVGAnimateTransformElement::create):
            * svg/SVGCircleElement.cpp:
            (WebCore::SVGCircleElement::create):
            * svg/SVGClipPathElement.cpp:
            (WebCore::SVGClipPathElement::create):
            * svg/SVGCursorElement.cpp:
            (WebCore::SVGCursorElement::create):
            * svg/SVGDefsElement.cpp:
            (WebCore::SVGDefsElement::create):
            * svg/SVGDescElement.cpp:
            (WebCore::SVGDescElement::create):
            * svg/SVGEllipseElement.cpp:
            (WebCore::SVGEllipseElement::create):
            * svg/SVGFEBlendElement.cpp:
            (WebCore::SVGFEBlendElement::create):
            * svg/SVGFEColorMatrixElement.cpp:
            (WebCore::SVGFEColorMatrixElement::create):
            * svg/SVGFEComponentTransferElement.cpp:
            (WebCore::SVGFEComponentTransferElement::create):
            * svg/SVGFECompositeElement.cpp:
            (WebCore::SVGFECompositeElement::create):
            * svg/SVGFEConvolveMatrixElement.cpp:
            (WebCore::SVGFEConvolveMatrixElement::create):
            * svg/SVGFEDiffuseLightingElement.cpp:
            (WebCore::SVGFEDiffuseLightingElement::create):
            * svg/SVGFEDisplacementMapElement.cpp:
            (WebCore::SVGFEDisplacementMapElement::create):
            * svg/SVGFEDistantLightElement.cpp:
            (WebCore::SVGFEDistantLightElement::create):
            * svg/SVGFEFloodElement.cpp:
            (WebCore::SVGFEFloodElement::create):
            * svg/SVGFEFuncAElement.cpp:
            (WebCore::SVGFEFuncAElement::create):
            * svg/SVGFEFuncBElement.cpp:
            (WebCore::SVGFEFuncBElement::create):
            * svg/SVGFEFuncGElement.cpp:
            (WebCore::SVGFEFuncGElement::create):
            * svg/SVGFEFuncRElement.cpp:
            (WebCore::SVGFEFuncRElement::create):
            * svg/SVGFEGaussianBlurElement.cpp:
            (WebCore::SVGFEGaussianBlurElement::create):
            * svg/SVGFEImageElement.cpp:
            (WebCore::SVGFEImageElement::create):
            * svg/SVGFEMergeElement.cpp:
            (WebCore::SVGFEMergeElement::create):
            * svg/SVGFEMergeNodeElement.cpp:
            (WebCore::SVGFEMergeNodeElement::create):
            * svg/SVGFEMorphologyElement.cpp:
            (WebCore::SVGFEMorphologyElement::create):
            * svg/SVGFEOffsetElement.cpp:
            (WebCore::SVGFEOffsetElement::create):
            * svg/SVGFEPointLightElement.cpp:
            (WebCore::SVGFEPointLightElement::create):
            * svg/SVGFESpecularLightingElement.cpp:
            (WebCore::SVGFESpecularLightingElement::create):
            * svg/SVGFESpotLightElement.cpp:
            (WebCore::SVGFESpotLightElement::create):
            * svg/SVGFETileElement.cpp:
            (WebCore::SVGFETileElement::create):
            * svg/SVGFETurbulenceElement.cpp:
            (WebCore::SVGFETurbulenceElement::create):
            * svg/SVGFilterElement.cpp:
            (WebCore::SVGFilterElement::create):
            * svg/SVGFontElement.cpp:
            (WebCore::SVGFontElement::create):
            * svg/SVGFontFaceElement.cpp:
            (WebCore::SVGFontFaceElement::create):
            * svg/SVGFontFaceFormatElement.cpp:
            (WebCore::SVGFontFaceFormatElement::create):
            * svg/SVGFontFaceNameElement.cpp:
            (WebCore::SVGFontFaceNameElement::create):
            * svg/SVGFontFaceSrcElement.cpp:
            (WebCore::SVGFontFaceSrcElement::create):
            * svg/SVGFontFaceUriElement.cpp:
            (WebCore::SVGFontFaceUriElement::create):
            * svg/SVGForeignObjectElement.cpp:
            (WebCore::SVGForeignObjectElement::create):
            * svg/SVGGElement.cpp:
            (WebCore::SVGGElement::create):
            * svg/SVGGlyphElement.cpp:
            (WebCore::SVGGlyphElement::create):
            * svg/SVGHKernElement.cpp:
            (WebCore::SVGHKernElement::create):
            * svg/SVGImageElement.cpp:
            (WebCore::SVGImageElement::create):
            * svg/SVGLineElement.cpp:
            (WebCore::SVGLineElement::create):
            * svg/SVGLinearGradientElement.cpp:
            (WebCore::SVGLinearGradientElement::create):
            * svg/SVGMPathElement.cpp:
            (WebCore::SVGMPathElement::create):
            * svg/SVGMarkerElement.cpp:
            (WebCore::SVGMarkerElement::create):
            * svg/SVGMaskElement.cpp:
            (WebCore::SVGMaskElement::create):
            * svg/SVGMetadataElement.cpp:
            (WebCore::SVGMetadataElement::create):
            * svg/SVGMissingGlyphElement.cpp:
            (WebCore::SVGMissingGlyphElement::create):
            * svg/SVGPathElement.cpp:
            (WebCore::SVGPathElement::create):
            * svg/SVGPatternElement.cpp:
            (WebCore::SVGPatternElement::create):
            * svg/SVGPolygonElement.cpp:
            (WebCore::SVGPolygonElement::create):
            * svg/SVGPolylineElement.cpp:
            (WebCore::SVGPolylineElement::create):
            * svg/SVGRadialGradientElement.cpp:
            (WebCore::SVGRadialGradientElement::create):
            * svg/SVGRectElement.cpp:
            (WebCore::SVGRectElement::create):
            * svg/SVGSVGElement.cpp:
            (WebCore::SVGSVGElement::create):
            (WebCore::SVGSVGElement::currentView):
            * svg/SVGScriptElement.cpp:
            (WebCore::SVGScriptElement::create):
            * svg/SVGSetElement.cpp:
            (WebCore::SVGSetElement::create):
            * svg/SVGStopElement.cpp:
            (WebCore::SVGStopElement::create):
            * svg/SVGStyleElement.cpp:
            (WebCore::SVGStyleElement::create):
            * svg/SVGSwitchElement.cpp:
            (WebCore::SVGSwitchElement::create):
            * svg/SVGSymbolElement.cpp:
            (WebCore::SVGSymbolElement::create):
            * svg/SVGTRefElement.cpp:
            (WebCore::SVGTRefElement::create):
            * svg/SVGTSpanElement.cpp:
            (WebCore::SVGTSpanElement::create):
            * svg/SVGTextElement.cpp:
            (WebCore::SVGTextElement::create):
            * svg/SVGTextPathElement.cpp:
            (WebCore::SVGTextPathElement::create):
            * svg/SVGTitleElement.cpp:
            (WebCore::SVGTitleElement::create):
            * svg/SVGUseElement.cpp:
            (WebCore::SVGUseElement::create):
            (WebCore::SVGUseElement::expandUseElementsInShadowTree):
            * svg/SVGVKernElement.cpp:
            (WebCore::SVGVKernElement::create):
            * svg/SVGViewElement.cpp:
            (WebCore::SVGViewElement::create):
            * wml/WMLAElement.cpp:
            (WebCore::WMLAElement::create):
            * wml/WMLAccessElement.cpp:
            (WebCore::WMLAccessElement::create):
            * wml/WMLAnchorElement.cpp:
            (WebCore::WMLAnchorElement::create):
            * wml/WMLBRElement.cpp:
            (WebCore::WMLBRElement::create):
            * wml/WMLCardElement.cpp:
            (WebCore::WMLCardElement::create):
            * wml/WMLDoElement.cpp:
            (WebCore::WMLDoElement::create):
            * wml/WMLDocument.h:
            (WebCore::WMLDocument::create):
            * wml/WMLFieldSetElement.cpp:
            (WebCore::WMLFieldSetElement::create):
            * wml/WMLFormControlElement.cpp:
            (WebCore::WMLFormControlElement::create):
            * wml/WMLGoElement.cpp:
            (WebCore::WMLGoElement::create):
            * wml/WMLImageElement.cpp:
            (WebCore::WMLImageElement::create):
            * wml/WMLInputElement.cpp:
            (WebCore::WMLInputElement::create):
            * wml/WMLInsertedLegendElement.cpp:
            (WebCore::WMLInsertedLegendElement::create):
            * wml/WMLIntrinsicEvent.cpp:
            (WebCore::WMLIntrinsicEvent::create):
            * wml/WMLMetaElement.cpp:
            (WebCore::WMLMetaElement::create):
            * wml/WMLNoopElement.cpp:
            (WebCore::WMLNoopElement::create):
            * wml/WMLOnEventElement.cpp:
            (WebCore::WMLOnEventElement::create):
            * wml/WMLOptGroupElement.cpp:
            (WebCore::WMLOptGroupElement::create):
            * wml/WMLOptionElement.cpp:
            (WebCore::WMLOptionElement::create):
            * wml/WMLPElement.cpp:
            (WebCore::WMLPElement::create):
            * wml/WMLPostfieldElement.cpp:
            (WebCore::WMLPostfieldElement::create):
            * wml/WMLPrevElement.cpp:
            (WebCore::WMLPrevElement::create):
            * wml/WMLRefreshElement.cpp:
            (WebCore::WMLRefreshElement::create):
            * wml/WMLSelectElement.cpp:
            (WebCore::WMLSelectElement::create):
            * wml/WMLSetvarElement.cpp:
            (WebCore::WMLSetvarElement::create):
            * wml/WMLTableElement.cpp:
            (WebCore::WMLTableElement::create):
            * wml/WMLTaskElement.cpp:
            (WebCore::WMLTaskElement::create):
            * wml/WMLTemplateElement.cpp:
            (WebCore::WMLTemplateElement::create):
            * wml/WMLTimerElement.cpp:
            (WebCore::WMLTimerElement::create):
            Use adoptRef.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@66498 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 547317c..f9bc6b6 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,267 @@
+2010-08-31  Darin Adler  <darin at apple.com>
+
+        Reviewed by Simon Fraser.
+
+        Make DOM classes start with a reference count of 1, like all other RefCounted
+        https://bugs.webkit.org/show_bug.cgi?id=28068
+
+        * dom/Document.cpp:
+        (WebCore::Document::accessSVGExtensions): Use adoptPtr instead of set.
+
+        * dom/Document.h: Removed initialRefCount in Node constructor. It's always 1 now.
+
+        * dom/Node.h: Removed CreateWithZeroRefCountFlag, CreateStyledElementZeroRefCount,
+        CreateSVGElementZeroRefCount, and initialRefCount.
+
+        * platform/TreeShared.h: Removed initialRefCount argument. It's always 1 now.
+
+        * rendering/RenderSVGShadowTreeRootContainer.cpp:
+        (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement): Use create
+        instead of new.
+
+        * rendering/SVGResources.h: Inherit from Noncopyable.
+
+        * rendering/SVGResourcesCache.cpp:
+        (WebCore::SVGResourcesCache::~SVGResourcesCache): Removed unneeded special
+        case code.
+
+        * rendering/SVGShadowTreeElements.cpp:
+        (WebCore::SVGShadowTreeContainerElement::create): Added.
+        (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): Made argument
+        type more specific.
+        (WebCore::SVGShadowTreeRootElement::create): Added.
+        * rendering/SVGShadowTreeElements.h: Added create functions, and made the
+        argument type more specific.
+
+        * svg/SVGDocumentExtensions.cpp:
+        (WebCore::SVGDocumentExtensions::SVGDocumentExtensions): Use adoptPtr.
+        * svg/graphics/SVGImage.cpp:
+        (WebCore::SVGImage::dataChanged): Use adoptPtr instead of set.
+
+        * svg/SVGElement.cpp:
+        (WebCore::SVGElement::SVGElement): Use CreateSVGElement instead of
+        CreateSVGElementZeroRefCount.
+        (WebCore::SVGElement::create): Use adoptRef.
+
+        * wml/WMLElement.cpp:
+        (WebCore::WMLElement::WMLElement): Use CreateStyledElement instead of
+        CreateStyledElementZeroRefCount.
+        (WebCore::WMLElement::create): Use adoptRef.
+
+        * svg/SVGAElement.cpp:
+        (WebCore::SVGAElement::create):
+        * svg/SVGAltGlyphElement.cpp:
+        (WebCore::SVGAltGlyphElement::create):
+        * svg/SVGAnimateColorElement.cpp:
+        (WebCore::SVGAnimateColorElement::create):
+        * svg/SVGAnimateElement.cpp:
+        (WebCore::SVGAnimateElement::create):
+        * svg/SVGAnimateMotionElement.cpp:
+        (WebCore::SVGAnimateMotionElement::create):
+        * svg/SVGAnimateTransformElement.cpp:
+        (WebCore::SVGAnimateTransformElement::create):
+        * svg/SVGCircleElement.cpp:
+        (WebCore::SVGCircleElement::create):
+        * svg/SVGClipPathElement.cpp:
+        (WebCore::SVGClipPathElement::create):
+        * svg/SVGCursorElement.cpp:
+        (WebCore::SVGCursorElement::create):
+        * svg/SVGDefsElement.cpp:
+        (WebCore::SVGDefsElement::create):
+        * svg/SVGDescElement.cpp:
+        (WebCore::SVGDescElement::create):
+        * svg/SVGEllipseElement.cpp:
+        (WebCore::SVGEllipseElement::create):
+        * svg/SVGFEBlendElement.cpp:
+        (WebCore::SVGFEBlendElement::create):
+        * svg/SVGFEColorMatrixElement.cpp:
+        (WebCore::SVGFEColorMatrixElement::create):
+        * svg/SVGFEComponentTransferElement.cpp:
+        (WebCore::SVGFEComponentTransferElement::create):
+        * svg/SVGFECompositeElement.cpp:
+        (WebCore::SVGFECompositeElement::create):
+        * svg/SVGFEConvolveMatrixElement.cpp:
+        (WebCore::SVGFEConvolveMatrixElement::create):
+        * svg/SVGFEDiffuseLightingElement.cpp:
+        (WebCore::SVGFEDiffuseLightingElement::create):
+        * svg/SVGFEDisplacementMapElement.cpp:
+        (WebCore::SVGFEDisplacementMapElement::create):
+        * svg/SVGFEDistantLightElement.cpp:
+        (WebCore::SVGFEDistantLightElement::create):
+        * svg/SVGFEFloodElement.cpp:
+        (WebCore::SVGFEFloodElement::create):
+        * svg/SVGFEFuncAElement.cpp:
+        (WebCore::SVGFEFuncAElement::create):
+        * svg/SVGFEFuncBElement.cpp:
+        (WebCore::SVGFEFuncBElement::create):
+        * svg/SVGFEFuncGElement.cpp:
+        (WebCore::SVGFEFuncGElement::create):
+        * svg/SVGFEFuncRElement.cpp:
+        (WebCore::SVGFEFuncRElement::create):
+        * svg/SVGFEGaussianBlurElement.cpp:
+        (WebCore::SVGFEGaussianBlurElement::create):
+        * svg/SVGFEImageElement.cpp:
+        (WebCore::SVGFEImageElement::create):
+        * svg/SVGFEMergeElement.cpp:
+        (WebCore::SVGFEMergeElement::create):
+        * svg/SVGFEMergeNodeElement.cpp:
+        (WebCore::SVGFEMergeNodeElement::create):
+        * svg/SVGFEMorphologyElement.cpp:
+        (WebCore::SVGFEMorphologyElement::create):
+        * svg/SVGFEOffsetElement.cpp:
+        (WebCore::SVGFEOffsetElement::create):
+        * svg/SVGFEPointLightElement.cpp:
+        (WebCore::SVGFEPointLightElement::create):
+        * svg/SVGFESpecularLightingElement.cpp:
+        (WebCore::SVGFESpecularLightingElement::create):
+        * svg/SVGFESpotLightElement.cpp:
+        (WebCore::SVGFESpotLightElement::create):
+        * svg/SVGFETileElement.cpp:
+        (WebCore::SVGFETileElement::create):
+        * svg/SVGFETurbulenceElement.cpp:
+        (WebCore::SVGFETurbulenceElement::create):
+        * svg/SVGFilterElement.cpp:
+        (WebCore::SVGFilterElement::create):
+        * svg/SVGFontElement.cpp:
+        (WebCore::SVGFontElement::create):
+        * svg/SVGFontFaceElement.cpp:
+        (WebCore::SVGFontFaceElement::create):
+        * svg/SVGFontFaceFormatElement.cpp:
+        (WebCore::SVGFontFaceFormatElement::create):
+        * svg/SVGFontFaceNameElement.cpp:
+        (WebCore::SVGFontFaceNameElement::create):
+        * svg/SVGFontFaceSrcElement.cpp:
+        (WebCore::SVGFontFaceSrcElement::create):
+        * svg/SVGFontFaceUriElement.cpp:
+        (WebCore::SVGFontFaceUriElement::create):
+        * svg/SVGForeignObjectElement.cpp:
+        (WebCore::SVGForeignObjectElement::create):
+        * svg/SVGGElement.cpp:
+        (WebCore::SVGGElement::create):
+        * svg/SVGGlyphElement.cpp:
+        (WebCore::SVGGlyphElement::create):
+        * svg/SVGHKernElement.cpp:
+        (WebCore::SVGHKernElement::create):
+        * svg/SVGImageElement.cpp:
+        (WebCore::SVGImageElement::create):
+        * svg/SVGLineElement.cpp:
+        (WebCore::SVGLineElement::create):
+        * svg/SVGLinearGradientElement.cpp:
+        (WebCore::SVGLinearGradientElement::create):
+        * svg/SVGMPathElement.cpp:
+        (WebCore::SVGMPathElement::create):
+        * svg/SVGMarkerElement.cpp:
+        (WebCore::SVGMarkerElement::create):
+        * svg/SVGMaskElement.cpp:
+        (WebCore::SVGMaskElement::create):
+        * svg/SVGMetadataElement.cpp:
+        (WebCore::SVGMetadataElement::create):
+        * svg/SVGMissingGlyphElement.cpp:
+        (WebCore::SVGMissingGlyphElement::create):
+        * svg/SVGPathElement.cpp:
+        (WebCore::SVGPathElement::create):
+        * svg/SVGPatternElement.cpp:
+        (WebCore::SVGPatternElement::create):
+        * svg/SVGPolygonElement.cpp:
+        (WebCore::SVGPolygonElement::create):
+        * svg/SVGPolylineElement.cpp:
+        (WebCore::SVGPolylineElement::create):
+        * svg/SVGRadialGradientElement.cpp:
+        (WebCore::SVGRadialGradientElement::create):
+        * svg/SVGRectElement.cpp:
+        (WebCore::SVGRectElement::create):
+        * svg/SVGSVGElement.cpp:
+        (WebCore::SVGSVGElement::create):
+        (WebCore::SVGSVGElement::currentView):
+        * svg/SVGScriptElement.cpp:
+        (WebCore::SVGScriptElement::create):
+        * svg/SVGSetElement.cpp:
+        (WebCore::SVGSetElement::create):
+        * svg/SVGStopElement.cpp:
+        (WebCore::SVGStopElement::create):
+        * svg/SVGStyleElement.cpp:
+        (WebCore::SVGStyleElement::create):
+        * svg/SVGSwitchElement.cpp:
+        (WebCore::SVGSwitchElement::create):
+        * svg/SVGSymbolElement.cpp:
+        (WebCore::SVGSymbolElement::create):
+        * svg/SVGTRefElement.cpp:
+        (WebCore::SVGTRefElement::create):
+        * svg/SVGTSpanElement.cpp:
+        (WebCore::SVGTSpanElement::create):
+        * svg/SVGTextElement.cpp:
+        (WebCore::SVGTextElement::create):
+        * svg/SVGTextPathElement.cpp:
+        (WebCore::SVGTextPathElement::create):
+        * svg/SVGTitleElement.cpp:
+        (WebCore::SVGTitleElement::create):
+        * svg/SVGUseElement.cpp:
+        (WebCore::SVGUseElement::create):
+        (WebCore::SVGUseElement::expandUseElementsInShadowTree):
+        * svg/SVGVKernElement.cpp:
+        (WebCore::SVGVKernElement::create):
+        * svg/SVGViewElement.cpp:
+        (WebCore::SVGViewElement::create):
+        * wml/WMLAElement.cpp:
+        (WebCore::WMLAElement::create):
+        * wml/WMLAccessElement.cpp:
+        (WebCore::WMLAccessElement::create):
+        * wml/WMLAnchorElement.cpp:
+        (WebCore::WMLAnchorElement::create):
+        * wml/WMLBRElement.cpp:
+        (WebCore::WMLBRElement::create):
+        * wml/WMLCardElement.cpp:
+        (WebCore::WMLCardElement::create):
+        * wml/WMLDoElement.cpp:
+        (WebCore::WMLDoElement::create):
+        * wml/WMLDocument.h:
+        (WebCore::WMLDocument::create):
+        * wml/WMLFieldSetElement.cpp:
+        (WebCore::WMLFieldSetElement::create):
+        * wml/WMLFormControlElement.cpp:
+        (WebCore::WMLFormControlElement::create):
+        * wml/WMLGoElement.cpp:
+        (WebCore::WMLGoElement::create):
+        * wml/WMLImageElement.cpp:
+        (WebCore::WMLImageElement::create):
+        * wml/WMLInputElement.cpp:
+        (WebCore::WMLInputElement::create):
+        * wml/WMLInsertedLegendElement.cpp:
+        (WebCore::WMLInsertedLegendElement::create):
+        * wml/WMLIntrinsicEvent.cpp:
+        (WebCore::WMLIntrinsicEvent::create):
+        * wml/WMLMetaElement.cpp:
+        (WebCore::WMLMetaElement::create):
+        * wml/WMLNoopElement.cpp:
+        (WebCore::WMLNoopElement::create):
+        * wml/WMLOnEventElement.cpp:
+        (WebCore::WMLOnEventElement::create):
+        * wml/WMLOptGroupElement.cpp:
+        (WebCore::WMLOptGroupElement::create):
+        * wml/WMLOptionElement.cpp:
+        (WebCore::WMLOptionElement::create):
+        * wml/WMLPElement.cpp:
+        (WebCore::WMLPElement::create):
+        * wml/WMLPostfieldElement.cpp:
+        (WebCore::WMLPostfieldElement::create):
+        * wml/WMLPrevElement.cpp:
+        (WebCore::WMLPrevElement::create):
+        * wml/WMLRefreshElement.cpp:
+        (WebCore::WMLRefreshElement::create):
+        * wml/WMLSelectElement.cpp:
+        (WebCore::WMLSelectElement::create):
+        * wml/WMLSetvarElement.cpp:
+        (WebCore::WMLSetvarElement::create):
+        * wml/WMLTableElement.cpp:
+        (WebCore::WMLTableElement::create):
+        * wml/WMLTaskElement.cpp:
+        (WebCore::WMLTaskElement::create):
+        * wml/WMLTemplateElement.cpp:
+        (WebCore::WMLTemplateElement::create):
+        * wml/WMLTimerElement.cpp:
+        (WebCore::WMLTimerElement::create):
+        Use adoptRef.
+
 2010-08-31  Justin Schuh  <jschuh at chromium.org>
 
         Reviewed by Nate Chapin.
diff --git a/WebCore/dom/Document.cpp b/WebCore/dom/Document.cpp
index efd9a13..8a35abc 100644
--- a/WebCore/dom/Document.cpp
+++ b/WebCore/dom/Document.cpp
@@ -4023,7 +4023,7 @@ const SVGDocumentExtensions* Document::svgExtensions()
 SVGDocumentExtensions* Document::accessSVGExtensions()
 {
     if (!m_svgExtensions)
-        m_svgExtensions.set(new SVGDocumentExtensions(this));
+        m_svgExtensions = adoptPtr(new SVGDocumentExtensions(this));
     return m_svgExtensions.get();
 }
 #endif
diff --git a/WebCore/dom/Document.h b/WebCore/dom/Document.h
index a3d5cfe..b458d26 100644
--- a/WebCore/dom/Document.h
+++ b/WebCore/dom/Document.h
@@ -1319,8 +1319,7 @@ inline bool Node::isDocumentNode() const
 
 // here because it uses a Document method but we really want to inline it
 inline Node::Node(Document* document, ConstructionType type)
-    : TreeShared<ContainerNode>(initialRefCount(type))
-    , m_document(document)
+    : m_document(document)
     , m_previous(0)
     , m_next(0)
     , m_renderer(0)
diff --git a/WebCore/dom/Node.h b/WebCore/dom/Node.h
index 697919c..258c8fd 100644
--- a/WebCore/dom/Node.h
+++ b/WebCore/dom/Node.h
@@ -635,7 +635,6 @@ private:
         HasSVGRareDataFlag = 1 << 23, // SVGElement
 #endif
         StyleChangeMask = 1 << nodeStyleChangeShift | 1 << (nodeStyleChangeShift + 1),
-        CreateWithZeroRefCountFlag = 1 << 26,
 
 #if ENABLE(SVG)
         DefaultNodeFlags = IsParsingChildrenFinishedFlag | IsStyleAttributeValidFlag | AreSVGAttributesValidFlag
@@ -652,8 +651,6 @@ private:
     void clearFlag(NodeFlags mask) const { m_nodeFlags &= ~mask; } 
 
 protected:
-    // CreateWithZeroRefCountFlag is deprecated and can be removed once we convert all element
-    // classes to start with a reference count of 1.
     enum ConstructionType { 
         CreateOther = DefaultNodeFlags,
         CreateText = DefaultNodeFlags | IsTextFlag,
@@ -661,10 +658,8 @@ protected:
         CreateContainer = DefaultNodeFlags | IsContainerFlag, 
         CreateElement = CreateContainer | IsElementFlag, 
         CreateStyledElement = CreateElement | IsStyledElementFlag, 
-        CreateStyledElementZeroRefCount =  CreateStyledElement | CreateWithZeroRefCountFlag, 
         CreateHTMLElement = CreateStyledElement | IsHTMLFlag, 
         CreateSVGElement = CreateStyledElement | IsSVGFlag, 
-        CreateSVGElementZeroRefCount = CreateSVGElement | CreateWithZeroRefCountFlag,
     };
     Node(Document*, ConstructionType);
 
@@ -684,7 +679,6 @@ private:
     void markCachedNodeListsSlow(JSC::MarkStack&, JSC::JSGlobalData&);
 #endif
 
-    static bool initialRefCount(ConstructionType);
     void setStyleChange(StyleChangeType);
 
     virtual void refEventTarget() { ref(); }
@@ -741,11 +735,6 @@ private:
 #endif
 };
 
-inline bool Node::initialRefCount(ConstructionType type)
-{
-    return !(type & CreateWithZeroRefCountFlag);
-}
-
 // Used in Node::addSubresourceAttributeURLs() and in addSubresourceStyleURLs()
 inline void addSubresourceURL(ListHashSet<KURL>& urls, const KURL& url)
 {
diff --git a/WebCore/platform/TreeShared.h b/WebCore/platform/TreeShared.h
index 6e60656..9d9ac1f 100644
--- a/WebCore/platform/TreeShared.h
+++ b/WebCore/platform/TreeShared.h
@@ -34,11 +34,11 @@ template<typename T> void adopted(TreeShared<T>*);
 
 template<typename T> class TreeShared : public Noncopyable {
 public:
-    TreeShared(int initialRefCount = 1)
-        : m_refCount(initialRefCount)
+    TreeShared()
+        : m_refCount(1)
         , m_parent(0)
 #ifndef NDEBUG
-        , m_adoptionIsRequired(initialRefCount == 1)
+        , m_adoptionIsRequired(true)
 #endif
     {
         ASSERT(isMainThread());
diff --git a/WebCore/rendering/RenderSVGShadowTreeRootContainer.cpp b/WebCore/rendering/RenderSVGShadowTreeRootContainer.cpp
index 888dd57..d3064c6 100644
--- a/WebCore/rendering/RenderSVGShadowTreeRootContainer.cpp
+++ b/WebCore/rendering/RenderSVGShadowTreeRootContainer.cpp
@@ -53,7 +53,7 @@ void RenderSVGShadowTreeRootContainer::updateFromElement()
     SVGUseElement* useElement = static_cast<SVGUseElement*>(node());
     if (!m_shadowRoot) {
         ASSERT(!m_recreateTree);
-        m_shadowRoot = new SVGShadowTreeRootElement(document(), useElement);
+        m_shadowRoot = SVGShadowTreeRootElement::create(document(), useElement);
         useElement->buildPendingResource();
     }
 
diff --git a/WebCore/rendering/SVGResources.h b/WebCore/rendering/SVGResources.h
index 5f6e746..49591cf 100644
--- a/WebCore/rendering/SVGResources.h
+++ b/WebCore/rendering/SVGResources.h
@@ -38,7 +38,7 @@ class RenderSVGResourceMasker;
 class SVGRenderStyle;
 
 // Holds a set of resources associated with a RenderObject
-class SVGResources {
+class SVGResources : public Noncopyable {
 public:
     SVGResources();
 
diff --git a/WebCore/rendering/SVGResourcesCache.cpp b/WebCore/rendering/SVGResourcesCache.cpp
index a4089d6..88cbb3a 100644
--- a/WebCore/rendering/SVGResourcesCache.cpp
+++ b/WebCore/rendering/SVGResourcesCache.cpp
@@ -34,11 +34,7 @@ SVGResourcesCache::SVGResourcesCache()
 
 SVGResourcesCache::~SVGResourcesCache()
 {
-    if (m_cache.isEmpty())
-        return;
-
     deleteAllValues(m_cache);
-    m_cache.clear();
 }
 
 void SVGResourcesCache::addResourcesFromRenderObject(RenderObject* object, const RenderStyle* style)
diff --git a/WebCore/rendering/SVGShadowTreeElements.cpp b/WebCore/rendering/SVGShadowTreeElements.cpp
index 311874c..8a66991 100644
--- a/WebCore/rendering/SVGShadowTreeElements.cpp
+++ b/WebCore/rendering/SVGShadowTreeElements.cpp
@@ -26,17 +26,20 @@
 #include "FloatSize.h"
 #include "RenderObject.h"
 #include "SVGNames.h"
+#include "SVGUseElement.h"
 
 namespace WebCore {
 
 // SVGShadowTreeContainerElement
+
 SVGShadowTreeContainerElement::SVGShadowTreeContainerElement(Document* document)
     : SVGGElement(SVGNames::gTag, document)
 {
 }
-    
-SVGShadowTreeContainerElement::~SVGShadowTreeContainerElement()
+
+PassRefPtr<SVGShadowTreeContainerElement> SVGShadowTreeContainerElement::create(Document* document)
 {
+    return adoptRef(new SVGShadowTreeContainerElement(document));
 }
 
 FloatSize SVGShadowTreeContainerElement::containerTranslation() const
@@ -45,15 +48,17 @@ FloatSize SVGShadowTreeContainerElement::containerTranslation() const
 }
 
 // SVGShadowTreeRootElement
-SVGShadowTreeRootElement::SVGShadowTreeRootElement(Document* document, Element* shadowParent)
+
+inline SVGShadowTreeRootElement::SVGShadowTreeRootElement(Document* document, SVGUseElement* shadowParent)
     : SVGShadowTreeContainerElement(document)
     , m_shadowParent(shadowParent)
 {
     setInDocument();
 }
 
-SVGShadowTreeRootElement::~SVGShadowTreeRootElement()
+PassRefPtr<SVGShadowTreeRootElement> SVGShadowTreeRootElement::create(Document* document, SVGUseElement* shadowParent)
 {
+    return adoptRef(new SVGShadowTreeRootElement(document, shadowParent));
 }
 
 void SVGShadowTreeRootElement::attachElement(PassRefPtr<RenderStyle> style, RenderArena* arena)
diff --git a/WebCore/rendering/SVGShadowTreeElements.h b/WebCore/rendering/SVGShadowTreeElements.h
index 7611b8a..d49fbaa 100644
--- a/WebCore/rendering/SVGShadowTreeElements.h
+++ b/WebCore/rendering/SVGShadowTreeElements.h
@@ -27,13 +27,11 @@
 namespace WebCore {
 
 class FloatSize;
+class SVGUseElement;
 
 class SVGShadowTreeContainerElement : public SVGGElement {
 public:
-    SVGShadowTreeContainerElement(Document*);
-    virtual ~SVGShadowTreeContainerElement();
-
-    virtual bool isShadowTreeContainerElement() const { return true; }
+    static PassRefPtr<SVGShadowTreeContainerElement> create(Document*);
 
     FloatSize containerTranslation() const;
     void setContainerOffset(const SVGLength& x, const SVGLength& y)
@@ -42,22 +40,29 @@ public:
         m_yOffset = y;
     }
 
+protected:
+    SVGShadowTreeContainerElement(Document*);
+
 private:
+    virtual bool isShadowTreeContainerElement() const { return true; }
+
     SVGLength m_xOffset;
     SVGLength m_yOffset;
 };
 
 class SVGShadowTreeRootElement : public SVGShadowTreeContainerElement {
 public:
-    SVGShadowTreeRootElement(Document*, Element* shadowParent);
-    virtual ~SVGShadowTreeRootElement();
-
-    virtual bool isShadowNode() const { return m_shadowParent; }
-    virtual ContainerNode* shadowParentNode() { return m_shadowParent; }
+    static PassRefPtr<SVGShadowTreeRootElement> create(Document*, SVGUseElement* shadowParent);
 
     void attachElement(PassRefPtr<RenderStyle>, RenderArena*);
 
+    virtual ContainerNode* shadowParentNode() { return m_shadowParent; }
+
 private:
+    SVGShadowTreeRootElement(Document*, SVGUseElement* shadowParent);
+
+    virtual bool isShadowNode() const { return m_shadowParent; }
+
     ContainerNode* m_shadowParent;
 };
 
diff --git a/WebCore/svg/SVGAElement.cpp b/WebCore/svg/SVGAElement.cpp
index e8a0e75..b0ffc74 100644
--- a/WebCore/svg/SVGAElement.cpp
+++ b/WebCore/svg/SVGAElement.cpp
@@ -52,7 +52,7 @@ inline SVGAElement::SVGAElement(const QualifiedName& tagName, Document* document
 
 PassRefPtr<SVGAElement> SVGAElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGAElement(tagName, document);
+    return adoptRef(new SVGAElement(tagName, document));
 }
 
 String SVGAElement::title() const
diff --git a/WebCore/svg/SVGAltGlyphElement.cpp b/WebCore/svg/SVGAltGlyphElement.cpp
index e2e1a0b..2280d90 100644
--- a/WebCore/svg/SVGAltGlyphElement.cpp
+++ b/WebCore/svg/SVGAltGlyphElement.cpp
@@ -40,7 +40,7 @@ inline SVGAltGlyphElement::SVGAltGlyphElement(const QualifiedName& tagName, Docu
 
 PassRefPtr<SVGAltGlyphElement> SVGAltGlyphElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGAltGlyphElement(tagName, document);
+    return adoptRef(new SVGAltGlyphElement(tagName, document));
 }
 
 void SVGAltGlyphElement::synchronizeProperty(const QualifiedName& attrName)
diff --git a/WebCore/svg/SVGAnimateColorElement.cpp b/WebCore/svg/SVGAnimateColorElement.cpp
index e511326..3960b3e 100644
--- a/WebCore/svg/SVGAnimateColorElement.cpp
+++ b/WebCore/svg/SVGAnimateColorElement.cpp
@@ -32,7 +32,7 @@ inline SVGAnimateColorElement::SVGAnimateColorElement(const QualifiedName& tagNa
 
 PassRefPtr<SVGAnimateColorElement> SVGAnimateColorElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGAnimateColorElement(tagName, document);
+    return adoptRef(new SVGAnimateColorElement(tagName, document));
 }
 
 }
diff --git a/WebCore/svg/SVGAnimateElement.cpp b/WebCore/svg/SVGAnimateElement.cpp
index 22f8783..c47a378 100644
--- a/WebCore/svg/SVGAnimateElement.cpp
+++ b/WebCore/svg/SVGAnimateElement.cpp
@@ -48,7 +48,7 @@ SVGAnimateElement::SVGAnimateElement(const QualifiedName& tagName, Document* doc
 
 PassRefPtr<SVGAnimateElement> SVGAnimateElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGAnimateElement(tagName, document);
+    return adoptRef(new SVGAnimateElement(tagName, document));
 }
 
 SVGAnimateElement::~SVGAnimateElement()
diff --git a/WebCore/svg/SVGAnimateMotionElement.cpp b/WebCore/svg/SVGAnimateMotionElement.cpp
index 4536f3f..ffa201b 100644
--- a/WebCore/svg/SVGAnimateMotionElement.cpp
+++ b/WebCore/svg/SVGAnimateMotionElement.cpp
@@ -49,7 +49,7 @@ inline SVGAnimateMotionElement::SVGAnimateMotionElement(const QualifiedName& tag
 
 PassRefPtr<SVGAnimateMotionElement> SVGAnimateMotionElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGAnimateMotionElement(tagName, document);
+    return adoptRef(new SVGAnimateMotionElement(tagName, document));
 }
 
 bool SVGAnimateMotionElement::hasValidTarget() const
diff --git a/WebCore/svg/SVGAnimateTransformElement.cpp b/WebCore/svg/SVGAnimateTransformElement.cpp
index 5e0e11b..7471ea7 100644
--- a/WebCore/svg/SVGAnimateTransformElement.cpp
+++ b/WebCore/svg/SVGAnimateTransformElement.cpp
@@ -55,7 +55,7 @@ inline SVGAnimateTransformElement::SVGAnimateTransformElement(const QualifiedNam
 
 PassRefPtr<SVGAnimateTransformElement> SVGAnimateTransformElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGAnimateTransformElement(tagName, document);
+    return adoptRef(new SVGAnimateTransformElement(tagName, document));
 }
 
 bool SVGAnimateTransformElement::hasValidTarget() const
diff --git a/WebCore/svg/SVGCircleElement.cpp b/WebCore/svg/SVGCircleElement.cpp
index 7859fc5..b5a5184 100644
--- a/WebCore/svg/SVGCircleElement.cpp
+++ b/WebCore/svg/SVGCircleElement.cpp
@@ -42,7 +42,7 @@ inline SVGCircleElement::SVGCircleElement(const QualifiedName& tagName, Document
 
 PassRefPtr<SVGCircleElement> SVGCircleElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGCircleElement(tagName, document);
+    return adoptRef(new SVGCircleElement(tagName, document));
 }
 
 void SVGCircleElement::parseMappedAttribute(Attribute* attr)
diff --git a/WebCore/svg/SVGClipPathElement.cpp b/WebCore/svg/SVGClipPathElement.cpp
index 04afbce..715a34e 100644
--- a/WebCore/svg/SVGClipPathElement.cpp
+++ b/WebCore/svg/SVGClipPathElement.cpp
@@ -42,7 +42,7 @@ inline SVGClipPathElement::SVGClipPathElement(const QualifiedName& tagName, Docu
 
 PassRefPtr<SVGClipPathElement> SVGClipPathElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGClipPathElement(tagName, document);
+    return adoptRef(new SVGClipPathElement(tagName, document));
 }
 
 void SVGClipPathElement::parseMappedAttribute(Attribute* attr)
diff --git a/WebCore/svg/SVGCursorElement.cpp b/WebCore/svg/SVGCursorElement.cpp
index 1ade433..9fb4140 100644
--- a/WebCore/svg/SVGCursorElement.cpp
+++ b/WebCore/svg/SVGCursorElement.cpp
@@ -39,7 +39,7 @@ inline SVGCursorElement::SVGCursorElement(const QualifiedName& tagName, Document
 
 PassRefPtr<SVGCursorElement> SVGCursorElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGCursorElement(tagName, document);
+    return adoptRef(new SVGCursorElement(tagName, document));
 }
 
 SVGCursorElement::~SVGCursorElement()
diff --git a/WebCore/svg/SVGDefsElement.cpp b/WebCore/svg/SVGDefsElement.cpp
index 0caa2dd..4f5a582 100644
--- a/WebCore/svg/SVGDefsElement.cpp
+++ b/WebCore/svg/SVGDefsElement.cpp
@@ -34,7 +34,7 @@ inline SVGDefsElement::SVGDefsElement(const QualifiedName& tagName, Document* do
 
 PassRefPtr<SVGDefsElement> SVGDefsElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGDefsElement(tagName, document);
+    return adoptRef(new SVGDefsElement(tagName, document));
 }
 
 bool SVGDefsElement::isValid() const
diff --git a/WebCore/svg/SVGDescElement.cpp b/WebCore/svg/SVGDescElement.cpp
index f0ef769..720146c 100644
--- a/WebCore/svg/SVGDescElement.cpp
+++ b/WebCore/svg/SVGDescElement.cpp
@@ -31,7 +31,7 @@ inline SVGDescElement::SVGDescElement(const QualifiedName& tagName, Document* do
 
 PassRefPtr<SVGDescElement> SVGDescElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGDescElement(tagName, document);
+    return adoptRef(new SVGDescElement(tagName, document));
 }
 
 String SVGDescElement::description() const
diff --git a/WebCore/svg/SVGDocumentExtensions.cpp b/WebCore/svg/SVGDocumentExtensions.cpp
index 6000797..011859a 100644
--- a/WebCore/svg/SVGDocumentExtensions.cpp
+++ b/WebCore/svg/SVGDocumentExtensions.cpp
@@ -42,7 +42,7 @@ namespace WebCore {
 
 SVGDocumentExtensions::SVGDocumentExtensions(Document* document)
     : m_document(document)
-    , m_resourcesCache(new SVGResourcesCache)
+    , m_resourcesCache(adoptPtr(new SVGResourcesCache))
 {
 }
 
diff --git a/WebCore/svg/SVGElement.cpp b/WebCore/svg/SVGElement.cpp
index 37e4930..ee16e8f 100644
--- a/WebCore/svg/SVGElement.cpp
+++ b/WebCore/svg/SVGElement.cpp
@@ -52,13 +52,13 @@ namespace WebCore {
 using namespace HTMLNames;
 
 SVGElement::SVGElement(const QualifiedName& tagName, Document* document)
-    : StyledElement(tagName, document, CreateSVGElementZeroRefCount)
+    : StyledElement(tagName, document, CreateSVGElement)
 {
 }
 
 PassRefPtr<SVGElement> SVGElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGElement(tagName, document);
+    return adoptRef(new SVGElement(tagName, document));
 }
 
 SVGElement::~SVGElement()
diff --git a/WebCore/svg/SVGEllipseElement.cpp b/WebCore/svg/SVGEllipseElement.cpp
index a8e7fa5..5e18910 100644
--- a/WebCore/svg/SVGEllipseElement.cpp
+++ b/WebCore/svg/SVGEllipseElement.cpp
@@ -43,7 +43,7 @@ inline SVGEllipseElement::SVGEllipseElement(const QualifiedName& tagName, Docume
 
 PassRefPtr<SVGEllipseElement> SVGEllipseElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGEllipseElement(tagName, document);
+    return adoptRef(new SVGEllipseElement(tagName, document));
 }
 
 void SVGEllipseElement::parseMappedAttribute(Attribute* attr)
diff --git a/WebCore/svg/SVGFEBlendElement.cpp b/WebCore/svg/SVGFEBlendElement.cpp
index b845da6..451b7d1 100644
--- a/WebCore/svg/SVGFEBlendElement.cpp
+++ b/WebCore/svg/SVGFEBlendElement.cpp
@@ -35,7 +35,7 @@ inline SVGFEBlendElement::SVGFEBlendElement(const QualifiedName& tagName, Docume
 
 PassRefPtr<SVGFEBlendElement> SVGFEBlendElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGFEBlendElement(tagName, document);
+    return adoptRef(new SVGFEBlendElement(tagName, document));
 }
 
 void SVGFEBlendElement::parseMappedAttribute(Attribute* attr)
diff --git a/WebCore/svg/SVGFEColorMatrixElement.cpp b/WebCore/svg/SVGFEColorMatrixElement.cpp
index 1925c0a..7f496bc 100644
--- a/WebCore/svg/SVGFEColorMatrixElement.cpp
+++ b/WebCore/svg/SVGFEColorMatrixElement.cpp
@@ -38,7 +38,7 @@ inline SVGFEColorMatrixElement::SVGFEColorMatrixElement(const QualifiedName& tag
 
 PassRefPtr<SVGFEColorMatrixElement> SVGFEColorMatrixElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGFEColorMatrixElement(tagName, document);
+    return adoptRef(new SVGFEColorMatrixElement(tagName, document));
 }
 
 void SVGFEColorMatrixElement::parseMappedAttribute(Attribute* attr)
diff --git a/WebCore/svg/SVGFEComponentTransferElement.cpp b/WebCore/svg/SVGFEComponentTransferElement.cpp
index 03f257a..a99e74c 100644
--- a/WebCore/svg/SVGFEComponentTransferElement.cpp
+++ b/WebCore/svg/SVGFEComponentTransferElement.cpp
@@ -40,7 +40,7 @@ inline SVGFEComponentTransferElement::SVGFEComponentTransferElement(const Qualif
 
 PassRefPtr<SVGFEComponentTransferElement> SVGFEComponentTransferElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGFEComponentTransferElement(tagName, document);
+    return adoptRef(new SVGFEComponentTransferElement(tagName, document));
 }
 
 void SVGFEComponentTransferElement::parseMappedAttribute(Attribute* attr)
diff --git a/WebCore/svg/SVGFECompositeElement.cpp b/WebCore/svg/SVGFECompositeElement.cpp
index 03e8e70..f658632 100644
--- a/WebCore/svg/SVGFECompositeElement.cpp
+++ b/WebCore/svg/SVGFECompositeElement.cpp
@@ -36,7 +36,7 @@ inline SVGFECompositeElement::SVGFECompositeElement(const QualifiedName& tagName
 
 PassRefPtr<SVGFECompositeElement> SVGFECompositeElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGFECompositeElement(tagName, document);
+    return adoptRef(new SVGFECompositeElement(tagName, document));
 }
 
 void SVGFECompositeElement::parseMappedAttribute(Attribute* attr)
diff --git a/WebCore/svg/SVGFEConvolveMatrixElement.cpp b/WebCore/svg/SVGFEConvolveMatrixElement.cpp
index 97bd603..9432a00 100644
--- a/WebCore/svg/SVGFEConvolveMatrixElement.cpp
+++ b/WebCore/svg/SVGFEConvolveMatrixElement.cpp
@@ -47,7 +47,7 @@ inline SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement(const QualifiedNam
 
 PassRefPtr<SVGFEConvolveMatrixElement> SVGFEConvolveMatrixElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGFEConvolveMatrixElement(tagName, document);
+    return adoptRef(new SVGFEConvolveMatrixElement(tagName, document));
 }
 
 void SVGFEConvolveMatrixElement::parseMappedAttribute(Attribute* attr)
diff --git a/WebCore/svg/SVGFEDiffuseLightingElement.cpp b/WebCore/svg/SVGFEDiffuseLightingElement.cpp
index c7a1bab..8c7e7ed 100644
--- a/WebCore/svg/SVGFEDiffuseLightingElement.cpp
+++ b/WebCore/svg/SVGFEDiffuseLightingElement.cpp
@@ -44,7 +44,7 @@ inline SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement(const QualifiedN
 
 PassRefPtr<SVGFEDiffuseLightingElement> SVGFEDiffuseLightingElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGFEDiffuseLightingElement(tagName, document);
+    return adoptRef(new SVGFEDiffuseLightingElement(tagName, document));
 }
 
 void SVGFEDiffuseLightingElement::parseMappedAttribute(Attribute* attr)
diff --git a/WebCore/svg/SVGFEDisplacementMapElement.cpp b/WebCore/svg/SVGFEDisplacementMapElement.cpp
index 14c751c..013eca5 100644
--- a/WebCore/svg/SVGFEDisplacementMapElement.cpp
+++ b/WebCore/svg/SVGFEDisplacementMapElement.cpp
@@ -35,7 +35,7 @@ inline SVGFEDisplacementMapElement::SVGFEDisplacementMapElement(const QualifiedN
 
 PassRefPtr<SVGFEDisplacementMapElement> SVGFEDisplacementMapElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGFEDisplacementMapElement(tagName, document);
+    return adoptRef(new SVGFEDisplacementMapElement(tagName, document));
 }
 
 ChannelSelectorType SVGFEDisplacementMapElement::stringToChannel(const String& key)
diff --git a/WebCore/svg/SVGFEDistantLightElement.cpp b/WebCore/svg/SVGFEDistantLightElement.cpp
index f7d4266..59394d8 100644
--- a/WebCore/svg/SVGFEDistantLightElement.cpp
+++ b/WebCore/svg/SVGFEDistantLightElement.cpp
@@ -32,7 +32,7 @@ inline SVGFEDistantLightElement::SVGFEDistantLightElement(const QualifiedName& t
 
 PassRefPtr<SVGFEDistantLightElement> SVGFEDistantLightElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGFEDistantLightElement(tagName, document);
+    return adoptRef(new SVGFEDistantLightElement(tagName, document));
 }
 
 PassRefPtr<LightSource> SVGFEDistantLightElement::lightSource() const
diff --git a/WebCore/svg/SVGFEFloodElement.cpp b/WebCore/svg/SVGFEFloodElement.cpp
index 58f2754..321eb8f 100644
--- a/WebCore/svg/SVGFEFloodElement.cpp
+++ b/WebCore/svg/SVGFEFloodElement.cpp
@@ -36,7 +36,7 @@ inline SVGFEFloodElement::SVGFEFloodElement(const QualifiedName& tagName, Docume
 
 PassRefPtr<SVGFEFloodElement> SVGFEFloodElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGFEFloodElement(tagName, document);
+    return adoptRef(new SVGFEFloodElement(tagName, document));
 }
 
 PassRefPtr<FilterEffect> SVGFEFloodElement::build(SVGFilterBuilder*)
diff --git a/WebCore/svg/SVGFEFuncAElement.cpp b/WebCore/svg/SVGFEFuncAElement.cpp
index 93a6aa6..8967efe 100644
--- a/WebCore/svg/SVGFEFuncAElement.cpp
+++ b/WebCore/svg/SVGFEFuncAElement.cpp
@@ -32,7 +32,7 @@ inline SVGFEFuncAElement::SVGFEFuncAElement(const QualifiedName& tagName, Docume
 
 PassRefPtr<SVGFEFuncAElement> SVGFEFuncAElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGFEFuncAElement(tagName, document);
+    return adoptRef(new SVGFEFuncAElement(tagName, document));
 }
 
 }
diff --git a/WebCore/svg/SVGFEFuncBElement.cpp b/WebCore/svg/SVGFEFuncBElement.cpp
index fa6609f..2b4287a 100644
--- a/WebCore/svg/SVGFEFuncBElement.cpp
+++ b/WebCore/svg/SVGFEFuncBElement.cpp
@@ -32,7 +32,7 @@ inline SVGFEFuncBElement::SVGFEFuncBElement(const QualifiedName& tagName, Docume
 
 PassRefPtr<SVGFEFuncBElement> SVGFEFuncBElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGFEFuncBElement(tagName, document);
+    return adoptRef(new SVGFEFuncBElement(tagName, document));
 }
 
 }
diff --git a/WebCore/svg/SVGFEFuncGElement.cpp b/WebCore/svg/SVGFEFuncGElement.cpp
index c225145..32cbdf3 100644
--- a/WebCore/svg/SVGFEFuncGElement.cpp
+++ b/WebCore/svg/SVGFEFuncGElement.cpp
@@ -32,7 +32,7 @@ inline SVGFEFuncGElement::SVGFEFuncGElement(const QualifiedName& tagName, Docume
 
 PassRefPtr<SVGFEFuncGElement> SVGFEFuncGElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGFEFuncGElement(tagName, document);
+    return adoptRef(new SVGFEFuncGElement(tagName, document));
 }
 
 }
diff --git a/WebCore/svg/SVGFEFuncRElement.cpp b/WebCore/svg/SVGFEFuncRElement.cpp
index 9c5e9a4..9c17909 100644
--- a/WebCore/svg/SVGFEFuncRElement.cpp
+++ b/WebCore/svg/SVGFEFuncRElement.cpp
@@ -32,7 +32,7 @@ inline SVGFEFuncRElement::SVGFEFuncRElement(const QualifiedName& tagName, Docume
 
 PassRefPtr<SVGFEFuncRElement> SVGFEFuncRElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGFEFuncRElement(tagName, document);
+    return adoptRef(new SVGFEFuncRElement(tagName, document));
 }
 
 }
diff --git a/WebCore/svg/SVGFEGaussianBlurElement.cpp b/WebCore/svg/SVGFEGaussianBlurElement.cpp
index 9d5b721..f66fa90 100644
--- a/WebCore/svg/SVGFEGaussianBlurElement.cpp
+++ b/WebCore/svg/SVGFEGaussianBlurElement.cpp
@@ -39,7 +39,7 @@ inline SVGFEGaussianBlurElement::SVGFEGaussianBlurElement(const QualifiedName& t
 
 PassRefPtr<SVGFEGaussianBlurElement> SVGFEGaussianBlurElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGFEGaussianBlurElement(tagName, document);
+    return adoptRef(new SVGFEGaussianBlurElement(tagName, document));
 }
 
 void SVGFEGaussianBlurElement::setStdDeviation(float, float)
diff --git a/WebCore/svg/SVGFEImageElement.cpp b/WebCore/svg/SVGFEImageElement.cpp
index ddb6e57..0808ad7 100644
--- a/WebCore/svg/SVGFEImageElement.cpp
+++ b/WebCore/svg/SVGFEImageElement.cpp
@@ -44,7 +44,7 @@ inline SVGFEImageElement::SVGFEImageElement(const QualifiedName& tagName, Docume
 
 PassRefPtr<SVGFEImageElement> SVGFEImageElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGFEImageElement(tagName, document);
+    return adoptRef(new SVGFEImageElement(tagName, document));
 }
 
 SVGFEImageElement::~SVGFEImageElement()
diff --git a/WebCore/svg/SVGFEMergeElement.cpp b/WebCore/svg/SVGFEMergeElement.cpp
index f908a39..6254b24 100644
--- a/WebCore/svg/SVGFEMergeElement.cpp
+++ b/WebCore/svg/SVGFEMergeElement.cpp
@@ -34,7 +34,7 @@ inline SVGFEMergeElement::SVGFEMergeElement(const QualifiedName& tagName, Docume
 
 PassRefPtr<SVGFEMergeElement> SVGFEMergeElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGFEMergeElement(tagName, document);
+    return adoptRef(new SVGFEMergeElement(tagName, document));
 }
 
 PassRefPtr<FilterEffect> SVGFEMergeElement::build(SVGFilterBuilder* filterBuilder)
diff --git a/WebCore/svg/SVGFEMergeNodeElement.cpp b/WebCore/svg/SVGFEMergeNodeElement.cpp
index f81c4e4..4bd5ac5 100644
--- a/WebCore/svg/SVGFEMergeNodeElement.cpp
+++ b/WebCore/svg/SVGFEMergeNodeElement.cpp
@@ -34,7 +34,7 @@ inline SVGFEMergeNodeElement::SVGFEMergeNodeElement(const QualifiedName& tagName
 
 PassRefPtr<SVGFEMergeNodeElement> SVGFEMergeNodeElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGFEMergeNodeElement(tagName, document);
+    return adoptRef(new SVGFEMergeNodeElement(tagName, document));
 }
 
 void SVGFEMergeNodeElement::parseMappedAttribute(Attribute* attr)
diff --git a/WebCore/svg/SVGFEMorphologyElement.cpp b/WebCore/svg/SVGFEMorphologyElement.cpp
index 8ed89ce..c3db844 100644
--- a/WebCore/svg/SVGFEMorphologyElement.cpp
+++ b/WebCore/svg/SVGFEMorphologyElement.cpp
@@ -39,7 +39,7 @@ inline SVGFEMorphologyElement::SVGFEMorphologyElement(const QualifiedName& tagNa
 
 PassRefPtr<SVGFEMorphologyElement> SVGFEMorphologyElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGFEMorphologyElement(tagName, document);
+    return adoptRef(new SVGFEMorphologyElement(tagName, document));
 }
 
 void SVGFEMorphologyElement::setRadius(float, float)
diff --git a/WebCore/svg/SVGFEOffsetElement.cpp b/WebCore/svg/SVGFEOffsetElement.cpp
index 0e93a5e..b27db31 100644
--- a/WebCore/svg/SVGFEOffsetElement.cpp
+++ b/WebCore/svg/SVGFEOffsetElement.cpp
@@ -34,7 +34,7 @@ inline SVGFEOffsetElement::SVGFEOffsetElement(const QualifiedName& tagName, Docu
 
 PassRefPtr<SVGFEOffsetElement> SVGFEOffsetElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGFEOffsetElement(tagName, document);
+    return adoptRef(new SVGFEOffsetElement(tagName, document));
 }
 
 void SVGFEOffsetElement::parseMappedAttribute(Attribute* attr)
diff --git a/WebCore/svg/SVGFEPointLightElement.cpp b/WebCore/svg/SVGFEPointLightElement.cpp
index 3911e4f..4436ab9 100644
--- a/WebCore/svg/SVGFEPointLightElement.cpp
+++ b/WebCore/svg/SVGFEPointLightElement.cpp
@@ -32,7 +32,7 @@ inline SVGFEPointLightElement::SVGFEPointLightElement(const QualifiedName& tagNa
 
 PassRefPtr<SVGFEPointLightElement> SVGFEPointLightElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGFEPointLightElement(tagName, document);
+    return adoptRef(new SVGFEPointLightElement(tagName, document));
 }
 
 PassRefPtr<LightSource> SVGFEPointLightElement::lightSource() const
diff --git a/WebCore/svg/SVGFESpecularLightingElement.cpp b/WebCore/svg/SVGFESpecularLightingElement.cpp
index 989d47d..d07c6ce 100644
--- a/WebCore/svg/SVGFESpecularLightingElement.cpp
+++ b/WebCore/svg/SVGFESpecularLightingElement.cpp
@@ -42,7 +42,7 @@ inline SVGFESpecularLightingElement::SVGFESpecularLightingElement(const Qualifie
 
 PassRefPtr<SVGFESpecularLightingElement> SVGFESpecularLightingElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGFESpecularLightingElement(tagName, document);
+    return adoptRef(new SVGFESpecularLightingElement(tagName, document));
 }
 
 void SVGFESpecularLightingElement::parseMappedAttribute(Attribute* attr)
diff --git a/WebCore/svg/SVGFESpotLightElement.cpp b/WebCore/svg/SVGFESpotLightElement.cpp
index 6534a38..04731f0 100644
--- a/WebCore/svg/SVGFESpotLightElement.cpp
+++ b/WebCore/svg/SVGFESpotLightElement.cpp
@@ -32,7 +32,7 @@ inline SVGFESpotLightElement::SVGFESpotLightElement(const QualifiedName& tagName
 
 PassRefPtr<SVGFESpotLightElement> SVGFESpotLightElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGFESpotLightElement(tagName, document);
+    return adoptRef(new SVGFESpotLightElement(tagName, document));
 }
 
 PassRefPtr<LightSource> SVGFESpotLightElement::lightSource() const
diff --git a/WebCore/svg/SVGFETileElement.cpp b/WebCore/svg/SVGFETileElement.cpp
index 2e4453d..4379b96 100644
--- a/WebCore/svg/SVGFETileElement.cpp
+++ b/WebCore/svg/SVGFETileElement.cpp
@@ -35,7 +35,7 @@ inline SVGFETileElement::SVGFETileElement(const QualifiedName& tagName, Document
 
 PassRefPtr<SVGFETileElement> SVGFETileElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGFETileElement(tagName, document);
+    return adoptRef(new SVGFETileElement(tagName, document));
 }
 
 void SVGFETileElement::parseMappedAttribute(Attribute* attr)
diff --git a/WebCore/svg/SVGFETurbulenceElement.cpp b/WebCore/svg/SVGFETurbulenceElement.cpp
index fa8eb27..5c1d32f 100644
--- a/WebCore/svg/SVGFETurbulenceElement.cpp
+++ b/WebCore/svg/SVGFETurbulenceElement.cpp
@@ -41,7 +41,7 @@ inline SVGFETurbulenceElement::SVGFETurbulenceElement(const QualifiedName& tagNa
 
 PassRefPtr<SVGFETurbulenceElement> SVGFETurbulenceElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGFETurbulenceElement(tagName, document);
+    return adoptRef(new SVGFETurbulenceElement(tagName, document));
 }
 
 void SVGFETurbulenceElement::parseMappedAttribute(Attribute* attr)
diff --git a/WebCore/svg/SVGFilterElement.cpp b/WebCore/svg/SVGFilterElement.cpp
index b7d0b59..3418b9d 100644
--- a/WebCore/svg/SVGFilterElement.cpp
+++ b/WebCore/svg/SVGFilterElement.cpp
@@ -60,7 +60,7 @@ inline SVGFilterElement::SVGFilterElement(const QualifiedName& tagName, Document
 
 PassRefPtr<SVGFilterElement> SVGFilterElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGFilterElement(tagName, document);
+    return adoptRef(new SVGFilterElement(tagName, document));
 }
 
 void SVGFilterElement::setFilterRes(unsigned long filterResX, unsigned long filterResY)
diff --git a/WebCore/svg/SVGFontElement.cpp b/WebCore/svg/SVGFontElement.cpp
index ce797da..ae0cb6e 100644
--- a/WebCore/svg/SVGFontElement.cpp
+++ b/WebCore/svg/SVGFontElement.cpp
@@ -48,7 +48,7 @@ inline SVGFontElement::SVGFontElement(const QualifiedName& tagName, Document* do
 
 PassRefPtr<SVGFontElement> SVGFontElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGFontElement(tagName, document);
+    return adoptRef(new SVGFontElement(tagName, document));
 }
 
 void SVGFontElement::synchronizeProperty(const QualifiedName& attrName)
diff --git a/WebCore/svg/SVGFontFaceElement.cpp b/WebCore/svg/SVGFontFaceElement.cpp
index eaece9e..4884074 100644
--- a/WebCore/svg/SVGFontFaceElement.cpp
+++ b/WebCore/svg/SVGFontFaceElement.cpp
@@ -58,7 +58,7 @@ inline SVGFontFaceElement::SVGFontFaceElement(const QualifiedName& tagName, Docu
 
 PassRefPtr<SVGFontFaceElement> SVGFontFaceElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGFontFaceElement(tagName, document);
+    return adoptRef(new SVGFontFaceElement(tagName, document));
 }
 
 static int cssPropertyIdForSVGAttributeName(const QualifiedName& attrName)
diff --git a/WebCore/svg/SVGFontFaceFormatElement.cpp b/WebCore/svg/SVGFontFaceFormatElement.cpp
index ed0f3bd..e3182c4 100644
--- a/WebCore/svg/SVGFontFaceFormatElement.cpp
+++ b/WebCore/svg/SVGFontFaceFormatElement.cpp
@@ -36,7 +36,7 @@ inline SVGFontFaceFormatElement::SVGFontFaceFormatElement(const QualifiedName& t
 
 PassRefPtr<SVGFontFaceFormatElement> SVGFontFaceFormatElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGFontFaceFormatElement(tagName, document);
+    return adoptRef(new SVGFontFaceFormatElement(tagName, document));
 }
 
 void SVGFontFaceFormatElement::childrenChanged(bool changedByParser, Node* beforeChange, Node* afterChange, int childCountDelta)
diff --git a/WebCore/svg/SVGFontFaceNameElement.cpp b/WebCore/svg/SVGFontFaceNameElement.cpp
index cc52261..39ac2b3 100644
--- a/WebCore/svg/SVGFontFaceNameElement.cpp
+++ b/WebCore/svg/SVGFontFaceNameElement.cpp
@@ -34,7 +34,7 @@ inline SVGFontFaceNameElement::SVGFontFaceNameElement(const QualifiedName& tagNa
 
 PassRefPtr<SVGFontFaceNameElement> SVGFontFaceNameElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGFontFaceNameElement(tagName, document);
+    return adoptRef(new SVGFontFaceNameElement(tagName, document));
 }
 
 PassRefPtr<CSSFontFaceSrcValue> SVGFontFaceNameElement::srcValue() const
diff --git a/WebCore/svg/SVGFontFaceSrcElement.cpp b/WebCore/svg/SVGFontFaceSrcElement.cpp
index c88dd9c..891ddcd 100644
--- a/WebCore/svg/SVGFontFaceSrcElement.cpp
+++ b/WebCore/svg/SVGFontFaceSrcElement.cpp
@@ -40,7 +40,7 @@ inline SVGFontFaceSrcElement::SVGFontFaceSrcElement(const QualifiedName& tagName
 
 PassRefPtr<SVGFontFaceSrcElement> SVGFontFaceSrcElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGFontFaceSrcElement(tagName, document);
+    return adoptRef(new SVGFontFaceSrcElement(tagName, document));
 }
 
 PassRefPtr<CSSValueList> SVGFontFaceSrcElement::srcValue() const
diff --git a/WebCore/svg/SVGFontFaceUriElement.cpp b/WebCore/svg/SVGFontFaceUriElement.cpp
index 0b751c2..4d03b2b 100644
--- a/WebCore/svg/SVGFontFaceUriElement.cpp
+++ b/WebCore/svg/SVGFontFaceUriElement.cpp
@@ -43,7 +43,7 @@ inline SVGFontFaceUriElement::SVGFontFaceUriElement(const QualifiedName& tagName
 
 PassRefPtr<SVGFontFaceUriElement> SVGFontFaceUriElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGFontFaceUriElement(tagName, document);
+    return adoptRef(new SVGFontFaceUriElement(tagName, document));
 }
 
 SVGFontFaceUriElement::~SVGFontFaceUriElement()
diff --git a/WebCore/svg/SVGForeignObjectElement.cpp b/WebCore/svg/SVGForeignObjectElement.cpp
index d66040d..e4f7096 100644
--- a/WebCore/svg/SVGForeignObjectElement.cpp
+++ b/WebCore/svg/SVGForeignObjectElement.cpp
@@ -44,7 +44,7 @@ SVGForeignObjectElement::SVGForeignObjectElement(const QualifiedName& tagName, D
 
 PassRefPtr<SVGForeignObjectElement> SVGForeignObjectElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGForeignObjectElement(tagName, document);
+    return adoptRef(new SVGForeignObjectElement(tagName, document));
 }
 
 void SVGForeignObjectElement::parseMappedAttribute(Attribute* attr)
diff --git a/WebCore/svg/SVGGElement.cpp b/WebCore/svg/SVGGElement.cpp
index 5efaa98..8174eac 100644
--- a/WebCore/svg/SVGGElement.cpp
+++ b/WebCore/svg/SVGGElement.cpp
@@ -36,7 +36,7 @@ SVGGElement::SVGGElement(const QualifiedName& tagName, Document* document)
 
 PassRefPtr<SVGGElement> SVGGElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGGElement(tagName, document);
+    return adoptRef(new SVGGElement(tagName, document));
 }
 
 void SVGGElement::parseMappedAttribute(Attribute* attr)
diff --git a/WebCore/svg/SVGGlyphElement.cpp b/WebCore/svg/SVGGlyphElement.cpp
index 77b231e..8ded0fc 100644
--- a/WebCore/svg/SVGGlyphElement.cpp
+++ b/WebCore/svg/SVGGlyphElement.cpp
@@ -44,7 +44,7 @@ inline SVGGlyphElement::SVGGlyphElement(const QualifiedName& tagName, Document*
 
 PassRefPtr<SVGGlyphElement> SVGGlyphElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGGlyphElement(tagName, document);
+    return adoptRef(new SVGGlyphElement(tagName, document));
 }
 
 void SVGGlyphElement::invalidateGlyphCache()
diff --git a/WebCore/svg/SVGHKernElement.cpp b/WebCore/svg/SVGHKernElement.cpp
index 4d08c33..a432daa 100644
--- a/WebCore/svg/SVGHKernElement.cpp
+++ b/WebCore/svg/SVGHKernElement.cpp
@@ -42,7 +42,7 @@ inline SVGHKernElement::SVGHKernElement(const QualifiedName& tagName, Document*
 
 PassRefPtr<SVGHKernElement> SVGHKernElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGHKernElement(tagName, document);
+    return adoptRef(new SVGHKernElement(tagName, document));
 }
 
 void SVGHKernElement::insertedIntoDocument()
diff --git a/WebCore/svg/SVGImageElement.cpp b/WebCore/svg/SVGImageElement.cpp
index 22756e8..c422e81 100644
--- a/WebCore/svg/SVGImageElement.cpp
+++ b/WebCore/svg/SVGImageElement.cpp
@@ -48,7 +48,7 @@ inline SVGImageElement::SVGImageElement(const QualifiedName& tagName, Document*
 
 PassRefPtr<SVGImageElement> SVGImageElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGImageElement(tagName, document);
+    return adoptRef(new SVGImageElement(tagName, document));
 }
 
 void SVGImageElement::parseMappedAttribute(Attribute* attr)
diff --git a/WebCore/svg/SVGLineElement.cpp b/WebCore/svg/SVGLineElement.cpp
index 84b9cee..bd15890 100644
--- a/WebCore/svg/SVGLineElement.cpp
+++ b/WebCore/svg/SVGLineElement.cpp
@@ -43,7 +43,7 @@ inline SVGLineElement::SVGLineElement(const QualifiedName& tagName, Document* do
 
 PassRefPtr<SVGLineElement> SVGLineElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGLineElement(tagName, document);
+    return adoptRef(new SVGLineElement(tagName, document));
 }
 
 void SVGLineElement::parseMappedAttribute(Attribute* attr)
diff --git a/WebCore/svg/SVGLinearGradientElement.cpp b/WebCore/svg/SVGLinearGradientElement.cpp
index f727a0c..ec351d7 100644
--- a/WebCore/svg/SVGLinearGradientElement.cpp
+++ b/WebCore/svg/SVGLinearGradientElement.cpp
@@ -51,7 +51,7 @@ inline SVGLinearGradientElement::SVGLinearGradientElement(const QualifiedName& t
 
 PassRefPtr<SVGLinearGradientElement> SVGLinearGradientElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGLinearGradientElement(tagName, document);
+    return adoptRef(new SVGLinearGradientElement(tagName, document));
 }
 
 void SVGLinearGradientElement::parseMappedAttribute(Attribute* attr)
diff --git a/WebCore/svg/SVGMPathElement.cpp b/WebCore/svg/SVGMPathElement.cpp
index 8238614..c6da308 100644
--- a/WebCore/svg/SVGMPathElement.cpp
+++ b/WebCore/svg/SVGMPathElement.cpp
@@ -34,7 +34,7 @@ inline SVGMPathElement::SVGMPathElement(const QualifiedName& tagName, Document*
 
 PassRefPtr<SVGMPathElement> SVGMPathElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGMPathElement(tagName, document);
+    return adoptRef(new SVGMPathElement(tagName, document));
 }
 
 void SVGMPathElement::parseMappedAttribute(Attribute* attr)
diff --git a/WebCore/svg/SVGMarkerElement.cpp b/WebCore/svg/SVGMarkerElement.cpp
index d8d0489..4ff420d 100644
--- a/WebCore/svg/SVGMarkerElement.cpp
+++ b/WebCore/svg/SVGMarkerElement.cpp
@@ -52,7 +52,7 @@ SVGMarkerElement::SVGMarkerElement(const QualifiedName& tagName, Document* docum
 
 PassRefPtr<SVGMarkerElement> SVGMarkerElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGMarkerElement(tagName, document);
+    return adoptRef(new SVGMarkerElement(tagName, document));
 }
 
 AffineTransform SVGMarkerElement::viewBoxToViewTransform(float viewWidth, float viewHeight) const
diff --git a/WebCore/svg/SVGMaskElement.cpp b/WebCore/svg/SVGMaskElement.cpp
index 384b234..78c3732 100644
--- a/WebCore/svg/SVGMaskElement.cpp
+++ b/WebCore/svg/SVGMaskElement.cpp
@@ -53,7 +53,7 @@ inline SVGMaskElement::SVGMaskElement(const QualifiedName& tagName, Document* do
 
 PassRefPtr<SVGMaskElement> SVGMaskElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGMaskElement(tagName, document);
+    return adoptRef(new SVGMaskElement(tagName, document));
 }
 
 void SVGMaskElement::parseMappedAttribute(Attribute* attr)
diff --git a/WebCore/svg/SVGMetadataElement.cpp b/WebCore/svg/SVGMetadataElement.cpp
index 740d94f..6db3806 100644
--- a/WebCore/svg/SVGMetadataElement.cpp
+++ b/WebCore/svg/SVGMetadataElement.cpp
@@ -31,7 +31,7 @@ inline SVGMetadataElement::SVGMetadataElement(const QualifiedName& tagName, Docu
 
 PassRefPtr<SVGMetadataElement> SVGMetadataElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGMetadataElement(tagName, document);
+    return adoptRef(new SVGMetadataElement(tagName, document));
 }
 
 }
diff --git a/WebCore/svg/SVGMissingGlyphElement.cpp b/WebCore/svg/SVGMissingGlyphElement.cpp
index 3c7c502..4c80494 100644
--- a/WebCore/svg/SVGMissingGlyphElement.cpp
+++ b/WebCore/svg/SVGMissingGlyphElement.cpp
@@ -31,7 +31,7 @@ inline SVGMissingGlyphElement::SVGMissingGlyphElement(const QualifiedName& tagNa
 
 PassRefPtr<SVGMissingGlyphElement> SVGMissingGlyphElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGMissingGlyphElement(tagName, document);
+    return adoptRef(new SVGMissingGlyphElement(tagName, document));
 }
 
 }
diff --git a/WebCore/svg/SVGPathElement.cpp b/WebCore/svg/SVGPathElement.cpp
index 20ec5cd..3ed85a3 100644
--- a/WebCore/svg/SVGPathElement.cpp
+++ b/WebCore/svg/SVGPathElement.cpp
@@ -51,7 +51,7 @@ inline SVGPathElement::SVGPathElement(const QualifiedName& tagName, Document* do
 
 PassRefPtr<SVGPathElement> SVGPathElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGPathElement(tagName, document);
+    return adoptRef(new SVGPathElement(tagName, document));
 }
 
 float SVGPathElement::getTotalLength()
diff --git a/WebCore/svg/SVGPatternElement.cpp b/WebCore/svg/SVGPatternElement.cpp
index 39c5842..6a8a108 100644
--- a/WebCore/svg/SVGPatternElement.cpp
+++ b/WebCore/svg/SVGPatternElement.cpp
@@ -63,7 +63,7 @@ inline SVGPatternElement::SVGPatternElement(const QualifiedName& tagName, Docume
 
 PassRefPtr<SVGPatternElement> SVGPatternElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGPatternElement(tagName, document);
+    return adoptRef(new SVGPatternElement(tagName, document));
 }
 
 void SVGPatternElement::parseMappedAttribute(Attribute* attr)
diff --git a/WebCore/svg/SVGPolygonElement.cpp b/WebCore/svg/SVGPolygonElement.cpp
index 445b4e5..57e2d53 100644
--- a/WebCore/svg/SVGPolygonElement.cpp
+++ b/WebCore/svg/SVGPolygonElement.cpp
@@ -34,7 +34,7 @@ inline SVGPolygonElement::SVGPolygonElement(const QualifiedName& tagName, Docume
 
 PassRefPtr<SVGPolygonElement> SVGPolygonElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGPolygonElement(tagName, document);
+    return adoptRef(new SVGPolygonElement(tagName, document));
 }
 
 Path SVGPolygonElement::toPathData() const
diff --git a/WebCore/svg/SVGPolylineElement.cpp b/WebCore/svg/SVGPolylineElement.cpp
index 5b79934..7ec8431 100644
--- a/WebCore/svg/SVGPolylineElement.cpp
+++ b/WebCore/svg/SVGPolylineElement.cpp
@@ -34,7 +34,7 @@ inline SVGPolylineElement::SVGPolylineElement(const QualifiedName& tagName, Docu
 
 PassRefPtr<SVGPolylineElement> SVGPolylineElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGPolylineElement(tagName, document);
+    return adoptRef(new SVGPolylineElement(tagName, document));
 }
 
 Path SVGPolylineElement::toPathData() const
diff --git a/WebCore/svg/SVGRadialGradientElement.cpp b/WebCore/svg/SVGRadialGradientElement.cpp
index 3c3230a..80aba78 100644
--- a/WebCore/svg/SVGRadialGradientElement.cpp
+++ b/WebCore/svg/SVGRadialGradientElement.cpp
@@ -53,7 +53,7 @@ inline SVGRadialGradientElement::SVGRadialGradientElement(const QualifiedName& t
 
 PassRefPtr<SVGRadialGradientElement> SVGRadialGradientElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGRadialGradientElement(tagName, document);
+    return adoptRef(new SVGRadialGradientElement(tagName, document));
 }
 
 void SVGRadialGradientElement::parseMappedAttribute(Attribute* attr)
diff --git a/WebCore/svg/SVGRectElement.cpp b/WebCore/svg/SVGRectElement.cpp
index d13598f..43ba888 100644
--- a/WebCore/svg/SVGRectElement.cpp
+++ b/WebCore/svg/SVGRectElement.cpp
@@ -44,7 +44,7 @@ inline SVGRectElement::SVGRectElement(const QualifiedName& tagName, Document* do
 
 PassRefPtr<SVGRectElement> SVGRectElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGRectElement(tagName, document);
+    return adoptRef(new SVGRectElement(tagName, document));
 }
 
 void SVGRectElement::parseMappedAttribute(Attribute* attr)
diff --git a/WebCore/svg/SVGSVGElement.cpp b/WebCore/svg/SVGSVGElement.cpp
index e102058..bc669a3 100644
--- a/WebCore/svg/SVGSVGElement.cpp
+++ b/WebCore/svg/SVGSVGElement.cpp
@@ -80,7 +80,7 @@ SVGSVGElement::SVGSVGElement(const QualifiedName& tagName, Document* doc)
 
 PassRefPtr<SVGSVGElement> SVGSVGElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGSVGElement(tagName, document);
+    return adoptRef(new SVGSVGElement(tagName, document));
 }
 
 SVGSVGElement::~SVGSVGElement()
@@ -186,8 +186,7 @@ void SVGSVGElement::setUseCurrentView(bool currentView)
 SVGViewSpec* SVGSVGElement::currentView() const
 {
     if (!m_viewSpec)
-        m_viewSpec.set(new SVGViewSpec(this));
-
+        m_viewSpec = adoptPtr(new SVGViewSpec(this));
     return m_viewSpec.get();
 }
 
diff --git a/WebCore/svg/SVGScriptElement.cpp b/WebCore/svg/SVGScriptElement.cpp
index e5254ec..6532ac2 100644
--- a/WebCore/svg/SVGScriptElement.cpp
+++ b/WebCore/svg/SVGScriptElement.cpp
@@ -40,7 +40,7 @@ inline SVGScriptElement::SVGScriptElement(const QualifiedName& tagName, Document
 
 PassRefPtr<SVGScriptElement> SVGScriptElement::create(const QualifiedName& tagName, Document* document, bool createdByParser)
 {
-    return new SVGScriptElement(tagName, document, createdByParser);
+    return adoptRef(new SVGScriptElement(tagName, document, createdByParser));
 }
 
 String SVGScriptElement::scriptContent() const
diff --git a/WebCore/svg/SVGSetElement.cpp b/WebCore/svg/SVGSetElement.cpp
index 081481d..d455c9b 100644
--- a/WebCore/svg/SVGSetElement.cpp
+++ b/WebCore/svg/SVGSetElement.cpp
@@ -31,7 +31,7 @@ inline SVGSetElement::SVGSetElement(const QualifiedName& tagName, Document* docu
 
 PassRefPtr<SVGSetElement> SVGSetElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGSetElement(tagName, document);
+    return adoptRef(new SVGSetElement(tagName, document));
 }
 
 }
diff --git a/WebCore/svg/SVGStopElement.cpp b/WebCore/svg/SVGStopElement.cpp
index f8b3180..cd78a46 100644
--- a/WebCore/svg/SVGStopElement.cpp
+++ b/WebCore/svg/SVGStopElement.cpp
@@ -40,7 +40,7 @@ inline SVGStopElement::SVGStopElement(const QualifiedName& tagName, Document* do
 
 PassRefPtr<SVGStopElement> SVGStopElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGStopElement(tagName, document);
+    return adoptRef(new SVGStopElement(tagName, document));
 }
 
 void SVGStopElement::parseMappedAttribute(Attribute* attr)
diff --git a/WebCore/svg/SVGStyleElement.cpp b/WebCore/svg/SVGStyleElement.cpp
index 519d421..4a80319 100644
--- a/WebCore/svg/SVGStyleElement.cpp
+++ b/WebCore/svg/SVGStyleElement.cpp
@@ -42,7 +42,7 @@ inline SVGStyleElement::SVGStyleElement(const QualifiedName& tagName, Document*
 
 PassRefPtr<SVGStyleElement> SVGStyleElement::create(const QualifiedName& tagName, Document* document, bool createdByParser)
 {
-    return new SVGStyleElement(tagName, document, createdByParser);
+    return adoptRef(new SVGStyleElement(tagName, document, createdByParser));
 }
 
 const AtomicString& SVGStyleElement::type() const
diff --git a/WebCore/svg/SVGSwitchElement.cpp b/WebCore/svg/SVGSwitchElement.cpp
index fa2e06b..9b40a02 100644
--- a/WebCore/svg/SVGSwitchElement.cpp
+++ b/WebCore/svg/SVGSwitchElement.cpp
@@ -34,7 +34,7 @@ inline SVGSwitchElement::SVGSwitchElement(const QualifiedName& tagName, Document
 
 PassRefPtr<SVGSwitchElement> SVGSwitchElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGSwitchElement(tagName, document);
+    return adoptRef(new SVGSwitchElement(tagName, document));
 }
 
 bool SVGSwitchElement::childShouldCreateRenderer(Node* child) const
diff --git a/WebCore/svg/SVGSymbolElement.cpp b/WebCore/svg/SVGSymbolElement.cpp
index d8e4cbc..7dab3e1 100644
--- a/WebCore/svg/SVGSymbolElement.cpp
+++ b/WebCore/svg/SVGSymbolElement.cpp
@@ -34,7 +34,7 @@ inline SVGSymbolElement::SVGSymbolElement(const QualifiedName& tagName, Document
 
 PassRefPtr<SVGSymbolElement> SVGSymbolElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGSymbolElement(tagName, document);
+    return adoptRef(new SVGSymbolElement(tagName, document));
 }
 
 void SVGSymbolElement::parseMappedAttribute(Attribute* attr)
diff --git a/WebCore/svg/SVGTRefElement.cpp b/WebCore/svg/SVGTRefElement.cpp
index cc302c7..72a037a 100644
--- a/WebCore/svg/SVGTRefElement.cpp
+++ b/WebCore/svg/SVGTRefElement.cpp
@@ -39,7 +39,7 @@ inline SVGTRefElement::SVGTRefElement(const QualifiedName& tagName, Document* do
 
 PassRefPtr<SVGTRefElement> SVGTRefElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGTRefElement(tagName, document);
+    return adoptRef(new SVGTRefElement(tagName, document));
 }
 
 void SVGTRefElement::updateReferencedText()
diff --git a/WebCore/svg/SVGTSpanElement.cpp b/WebCore/svg/SVGTSpanElement.cpp
index 5dc07ab..d1deb70 100644
--- a/WebCore/svg/SVGTSpanElement.cpp
+++ b/WebCore/svg/SVGTSpanElement.cpp
@@ -36,7 +36,7 @@ inline SVGTSpanElement::SVGTSpanElement(const QualifiedName& tagName, Document*
 
 PassRefPtr<SVGTSpanElement> SVGTSpanElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGTSpanElement(tagName, document);
+    return adoptRef(new SVGTSpanElement(tagName, document));
 }
 
 bool SVGTSpanElement::childShouldCreateRenderer(Node* child) const
diff --git a/WebCore/svg/SVGTextElement.cpp b/WebCore/svg/SVGTextElement.cpp
index 1de0119..c8f280e 100644
--- a/WebCore/svg/SVGTextElement.cpp
+++ b/WebCore/svg/SVGTextElement.cpp
@@ -44,7 +44,7 @@ inline SVGTextElement::SVGTextElement(const QualifiedName& tagName, Document* do
 
 PassRefPtr<SVGTextElement> SVGTextElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGTextElement(tagName, document);
+    return adoptRef(new SVGTextElement(tagName, document));
 }
 
 void SVGTextElement::parseMappedAttribute(Attribute* attr)
diff --git a/WebCore/svg/SVGTextPathElement.cpp b/WebCore/svg/SVGTextPathElement.cpp
index 47800c6..82adb29 100644
--- a/WebCore/svg/SVGTextPathElement.cpp
+++ b/WebCore/svg/SVGTextPathElement.cpp
@@ -44,7 +44,7 @@ inline SVGTextPathElement::SVGTextPathElement(const QualifiedName& tagName, Docu
 
 PassRefPtr<SVGTextPathElement> SVGTextPathElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGTextPathElement(tagName, document);
+    return adoptRef(new SVGTextPathElement(tagName, document));
 }
 
 void SVGTextPathElement::parseMappedAttribute(Attribute* attr)
diff --git a/WebCore/svg/SVGTitleElement.cpp b/WebCore/svg/SVGTitleElement.cpp
index 7715ad9..5eb2204 100644
--- a/WebCore/svg/SVGTitleElement.cpp
+++ b/WebCore/svg/SVGTitleElement.cpp
@@ -33,7 +33,7 @@ inline SVGTitleElement::SVGTitleElement(const QualifiedName& tagName, Document*
 
 PassRefPtr<SVGTitleElement> SVGTitleElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGTitleElement(tagName, document);
+    return adoptRef(new SVGTitleElement(tagName, document));
 }
 
 void SVGTitleElement::insertedIntoDocument()
diff --git a/WebCore/svg/SVGUseElement.cpp b/WebCore/svg/SVGUseElement.cpp
index 514fc3f..fc6c9fc 100644
--- a/WebCore/svg/SVGUseElement.cpp
+++ b/WebCore/svg/SVGUseElement.cpp
@@ -68,7 +68,7 @@ inline SVGUseElement::SVGUseElement(const QualifiedName& tagName, Document* docu
 
 PassRefPtr<SVGUseElement> SVGUseElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGUseElement(tagName, document);
+    return adoptRef(new SVGUseElement(tagName, document));
 }
 
 SVGElementInstance* SVGUseElement::instanceRoot() const
@@ -795,7 +795,7 @@ void SVGUseElement::expandUseElementsInShadowTree(SVGShadowTreeRootElement* shad
 
         // Don't ASSERT(target) here, it may be "pending", too.
         // Setup sub-shadow tree root node
-        RefPtr<SVGShadowTreeContainerElement> cloneParent = new SVGShadowTreeContainerElement(document());
+        RefPtr<SVGShadowTreeContainerElement> cloneParent = SVGShadowTreeContainerElement::create(document());
 
         // Spec: In the generated content, the 'use' will be replaced by 'g', where all attributes from the
         // 'use' element except for x, y, width, height and xlink:href are transferred to the generated 'g' element.
diff --git a/WebCore/svg/SVGVKernElement.cpp b/WebCore/svg/SVGVKernElement.cpp
index 87cd95a..b9f3c17 100644
--- a/WebCore/svg/SVGVKernElement.cpp
+++ b/WebCore/svg/SVGVKernElement.cpp
@@ -40,7 +40,7 @@ inline SVGVKernElement::SVGVKernElement(const QualifiedName& tagName, Document*
 
 PassRefPtr<SVGVKernElement> SVGVKernElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGVKernElement(tagName, document);
+    return adoptRef(new SVGVKernElement(tagName, document));
 }
 
 void SVGVKernElement::insertedIntoDocument()
diff --git a/WebCore/svg/SVGViewElement.cpp b/WebCore/svg/SVGViewElement.cpp
index d87300e..6a83066 100644
--- a/WebCore/svg/SVGViewElement.cpp
+++ b/WebCore/svg/SVGViewElement.cpp
@@ -39,7 +39,7 @@ inline SVGViewElement::SVGViewElement(const QualifiedName& tagName, Document* do
 
 PassRefPtr<SVGViewElement> SVGViewElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new SVGViewElement(tagName, document);
+    return adoptRef(new SVGViewElement(tagName, document));
 }
 
 SVGStringList* SVGViewElement::viewTarget() const
diff --git a/WebCore/svg/graphics/SVGImage.cpp b/WebCore/svg/graphics/SVGImage.cpp
index 6608c9e..2d1d592 100644
--- a/WebCore/svg/graphics/SVGImage.cpp
+++ b/WebCore/svg/graphics/SVGImage.cpp
@@ -240,7 +240,7 @@ bool SVGImage::dataChanged(bool allDataReceived)
         static FrameLoaderClient* dummyFrameLoaderClient =  new EmptyFrameLoaderClient;
 
         Page::PageClients pageClients;
-        m_chromeClient.set(new SVGImageChromeClient(this));
+        m_chromeClient = adoptPtr(new SVGImageChromeClient(this));
         pageClients.chromeClient = m_chromeClient.get();
 #if ENABLE(CONTEXT_MENUS)
         static ContextMenuClient* dummyContextMenuClient = new EmptyContextMenuClient;
diff --git a/WebCore/wml/WMLAElement.cpp b/WebCore/wml/WMLAElement.cpp
index dd19a96..4d1bf95 100644
--- a/WebCore/wml/WMLAElement.cpp
+++ b/WebCore/wml/WMLAElement.cpp
@@ -53,7 +53,7 @@ WMLAElement::WMLAElement(const QualifiedName& tagName, Document* doc)
 
 PassRefPtr<WMLAElement> WMLAElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new WMLAElement(tagName, document);
+    return adoptRef(new WMLAElement(tagName, document));
 }
 
 void WMLAElement::parseMappedAttribute(Attribute* attr)
diff --git a/WebCore/wml/WMLAccessElement.cpp b/WebCore/wml/WMLAccessElement.cpp
index 4ea64f0..0e13106 100644
--- a/WebCore/wml/WMLAccessElement.cpp
+++ b/WebCore/wml/WMLAccessElement.cpp
@@ -39,7 +39,7 @@ WMLAccessElement::WMLAccessElement(const QualifiedName& tagName, Document* doc)
 
 PassRefPtr<WMLAccessElement> WMLAccessElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new WMLAccessElement(tagName, document);
+    return adoptRef(new WMLAccessElement(tagName, document));
 }
 
 void WMLAccessElement::parseMappedAttribute(Attribute* attr)
diff --git a/WebCore/wml/WMLAnchorElement.cpp b/WebCore/wml/WMLAnchorElement.cpp
index c986c4d..5b842bc 100644
--- a/WebCore/wml/WMLAnchorElement.cpp
+++ b/WebCore/wml/WMLAnchorElement.cpp
@@ -42,7 +42,7 @@ WMLAnchorElement::WMLAnchorElement(const QualifiedName& tagName, Document* doc)
 
 PassRefPtr<WMLAnchorElement> WMLAnchorElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new WMLAnchorElement(tagName, document);
+    return adoptRef(new WMLAnchorElement(tagName, document));
 }
 
 WMLAnchorElement::~WMLAnchorElement()
diff --git a/WebCore/wml/WMLBRElement.cpp b/WebCore/wml/WMLBRElement.cpp
index d03913c..51a2f57 100644
--- a/WebCore/wml/WMLBRElement.cpp
+++ b/WebCore/wml/WMLBRElement.cpp
@@ -42,7 +42,7 @@ WMLBRElement::WMLBRElement(const QualifiedName& tagName, Document* doc)
 
 PassRefPtr<WMLBRElement> WMLBRElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new WMLBRElement(tagName, document);
+    return adoptRef(new WMLBRElement(tagName, document));
 }
 
 bool WMLBRElement::mapToEntry(const QualifiedName& attrName, MappedAttributeEntry& result) const
diff --git a/WebCore/wml/WMLCardElement.cpp b/WebCore/wml/WMLCardElement.cpp
index 23ba50d..38ba8ab 100644
--- a/WebCore/wml/WMLCardElement.cpp
+++ b/WebCore/wml/WMLCardElement.cpp
@@ -57,7 +57,7 @@ WMLCardElement::WMLCardElement(const QualifiedName& tagName, Document* doc)
 
 PassRefPtr<WMLCardElement> WMLCardElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new WMLCardElement(tagName, document);
+    return adoptRef(new WMLCardElement(tagName, document));
 }
 
 WMLCardElement::~WMLCardElement()
diff --git a/WebCore/wml/WMLDoElement.cpp b/WebCore/wml/WMLDoElement.cpp
index 583d623..9398aa0 100644
--- a/WebCore/wml/WMLDoElement.cpp
+++ b/WebCore/wml/WMLDoElement.cpp
@@ -53,7 +53,7 @@ WMLDoElement::WMLDoElement(const QualifiedName& tagName, Document* doc)
 
 PassRefPtr<WMLDoElement> WMLDoElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new WMLDoElement(tagName, document);
+    return adoptRef(new WMLDoElement(tagName, document));
 }
 
 void WMLDoElement::defaultEventHandler(Event* event)
diff --git a/WebCore/wml/WMLDocument.h b/WebCore/wml/WMLDocument.h
index 3057d9b..f2be938 100644
--- a/WebCore/wml/WMLDocument.h
+++ b/WebCore/wml/WMLDocument.h
@@ -34,7 +34,7 @@ class WMLDocument : public Document {
 public:
     static PassRefPtr<WMLDocument> create(Frame* frame, const KURL& url)
     {
-        return adoptRef(new WMLDocument(frame, url));
+        return adoptRef(adoptRef(new WMLDocument(frame, url))));
     }
 
     virtual ~WMLDocument();
diff --git a/WebCore/wml/WMLElement.cpp b/WebCore/wml/WMLElement.cpp
index f359236..4d18e94 100644
--- a/WebCore/wml/WMLElement.cpp
+++ b/WebCore/wml/WMLElement.cpp
@@ -39,13 +39,13 @@ namespace WebCore {
 using namespace WMLNames;
 
 WMLElement::WMLElement(const QualifiedName& tagName, Document* document)
-    : StyledElement(tagName, document, CreateStyledElementZeroRefCount)
+    : StyledElement(tagName, document, CreateStyledElement)
 {
 }
 
 PassRefPtr<WMLElement> WMLElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new WMLElement(tagName, document);
+    return adoptRef(new WMLElement(tagName, document));
 }
 
 bool WMLElement::mapToEntry(const QualifiedName& attrName, MappedAttributeEntry& result) const
diff --git a/WebCore/wml/WMLFieldSetElement.cpp b/WebCore/wml/WMLFieldSetElement.cpp
index 1188e80..86c1e46 100644
--- a/WebCore/wml/WMLFieldSetElement.cpp
+++ b/WebCore/wml/WMLFieldSetElement.cpp
@@ -41,7 +41,7 @@ WMLFieldSetElement::WMLFieldSetElement(const QualifiedName& tagName, Document* d
 
 PassRefPtr<WMLFieldSetElement> WMLFieldSetElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new WMLFieldSetElement(tagName, document);
+    return adoptRef(new WMLFieldSetElement(tagName, document));
 }
 
 WMLFieldSetElement::~WMLFieldSetElement()
diff --git a/WebCore/wml/WMLFormControlElement.cpp b/WebCore/wml/WMLFormControlElement.cpp
index 07c3c5c..c264340 100644
--- a/WebCore/wml/WMLFormControlElement.cpp
+++ b/WebCore/wml/WMLFormControlElement.cpp
@@ -37,7 +37,7 @@ WMLFormControlElement::WMLFormControlElement(const QualifiedName& tagName, Docum
 
 PassRefPtr<WMLFormControlElement> WMLFormControlElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new WMLFormControlElement(tagName, document);
+    return adoptRef(new WMLFormControlElement(tagName, document));
 }
 
 WMLFormControlElement::~WMLFormControlElement()
diff --git a/WebCore/wml/WMLGoElement.cpp b/WebCore/wml/WMLGoElement.cpp
index f117f6c..cc41226 100644
--- a/WebCore/wml/WMLGoElement.cpp
+++ b/WebCore/wml/WMLGoElement.cpp
@@ -52,7 +52,7 @@ WMLGoElement::WMLGoElement(const QualifiedName& tagName, Document* doc)
  
 PassRefPtr<WMLGoElement> WMLGoElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new WMLGoElement(tagName, document);
+    return adoptRef(new WMLGoElement(tagName, document));
 }
 
 void WMLGoElement::registerPostfieldElement(WMLPostfieldElement* postfield)
diff --git a/WebCore/wml/WMLImageElement.cpp b/WebCore/wml/WMLImageElement.cpp
index 4aa3c68..c4f6b06 100644
--- a/WebCore/wml/WMLImageElement.cpp
+++ b/WebCore/wml/WMLImageElement.cpp
@@ -45,7 +45,7 @@ WMLImageElement::WMLImageElement(const QualifiedName& tagName, Document* doc)
 
 PassRefPtr<WMLImageElement> WMLImageElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new WMLImageElement(tagName, document);
+    return adoptRef(new WMLImageElement(tagName, document));
 }
 
 WMLImageElement::~WMLImageElement()
diff --git a/WebCore/wml/WMLInputElement.cpp b/WebCore/wml/WMLInputElement.cpp
index aac4133..639658f 100644
--- a/WebCore/wml/WMLInputElement.cpp
+++ b/WebCore/wml/WMLInputElement.cpp
@@ -47,7 +47,7 @@ WMLInputElement::WMLInputElement(const QualifiedName& tagName, Document* doc)
 
 PassRefPtr<WMLInputElement> WMLInputElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new WMLInputElement(tagName, document);
+    return adoptRef(new WMLInputElement(tagName, document));
 }
 
 WMLInputElement::~WMLInputElement()
diff --git a/WebCore/wml/WMLInsertedLegendElement.cpp b/WebCore/wml/WMLInsertedLegendElement.cpp
index e3ad673..0a18b4a 100644
--- a/WebCore/wml/WMLInsertedLegendElement.cpp
+++ b/WebCore/wml/WMLInsertedLegendElement.cpp
@@ -32,7 +32,7 @@ WMLInsertedLegendElement::WMLInsertedLegendElement(const QualifiedName& tagName,
 
 PassRefPtr<WMLInsertedLegendElement> WMLInsertedLegendElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new WMLInsertedLegendElement(tagName, document);
+    return adoptRef(new WMLInsertedLegendElement(tagName, document));
 }
 
 WMLInsertedLegendElement::~WMLInsertedLegendElement()
diff --git a/WebCore/wml/WMLIntrinsicEvent.cpp b/WebCore/wml/WMLIntrinsicEvent.cpp
index 8c344d1..ec5e987 100644
--- a/WebCore/wml/WMLIntrinsicEvent.cpp
+++ b/WebCore/wml/WMLIntrinsicEvent.cpp
@@ -45,7 +45,7 @@ WMLIntrinsicEvent::WMLIntrinsicEvent(Document* document, const String& targetURL
 
 PassRefPtr<WMLIntrinsicEvent> WMLIntrinsicEvent::create(const QualifiedName& tagName, Document* document)
 {
-    return new WMLIntrinsicEvent(tagName, document);
+    return adoptRef(new WMLIntrinsicEvent(tagName, document));
 }
 
 WMLIntrinsicEvent::WMLIntrinsicEvent(WMLTaskElement* taskElement)
diff --git a/WebCore/wml/WMLMetaElement.cpp b/WebCore/wml/WMLMetaElement.cpp
index eb7d988..2b8e00d 100644
--- a/WebCore/wml/WMLMetaElement.cpp
+++ b/WebCore/wml/WMLMetaElement.cpp
@@ -36,7 +36,7 @@ WMLMetaElement::WMLMetaElement(const QualifiedName& tagName, Document* doc)
 
 PassRefPtr<WMLMetaElement> WMLMetaElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new WMLMetaElement(tagName, document);
+    return adoptRef(new WMLMetaElement(tagName, document));
 }
 
 WMLMetaElement::~WMLMetaElement()
diff --git a/WebCore/wml/WMLNoopElement.cpp b/WebCore/wml/WMLNoopElement.cpp
index b3e75f3..3afddeb 100644
--- a/WebCore/wml/WMLNoopElement.cpp
+++ b/WebCore/wml/WMLNoopElement.cpp
@@ -38,7 +38,7 @@ WMLNoopElement::WMLNoopElement(const QualifiedName& tagName, Document* doc)
 
 PassRefPtr<WMLNoopElement> WMLNoopElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new WMLNoopElement(tagName, document);
+    return adoptRef(new WMLNoopElement(tagName, document));
 }
 
 WMLNoopElement::~WMLNoopElement()
diff --git a/WebCore/wml/WMLOnEventElement.cpp b/WebCore/wml/WMLOnEventElement.cpp
index 462d05e..ad6684b 100644
--- a/WebCore/wml/WMLOnEventElement.cpp
+++ b/WebCore/wml/WMLOnEventElement.cpp
@@ -43,7 +43,7 @@ WMLOnEventElement::WMLOnEventElement(const QualifiedName& tagName, Document* doc
 
 PassRefPtr<WMLOnEventElement> WMLOnEventElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new WMLOnEventElement(tagName, document);
+    return adoptRef(new WMLOnEventElement(tagName, document));
 }
 
 void WMLOnEventElement::parseMappedAttribute(Attribute* attr)
diff --git a/WebCore/wml/WMLOptGroupElement.cpp b/WebCore/wml/WMLOptGroupElement.cpp
index 624ab75..7c59a7e 100644
--- a/WebCore/wml/WMLOptGroupElement.cpp
+++ b/WebCore/wml/WMLOptGroupElement.cpp
@@ -42,7 +42,7 @@ WMLOptGroupElement::WMLOptGroupElement(const QualifiedName& tagName, Document* d
 
 PassRefPtr<WMLOptGroupElement> WMLOptGroupElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new WMLOptGroupElement(tagName, document);
+    return adoptRef(new WMLOptGroupElement(tagName, document));
 }
 
 WMLOptGroupElement::~WMLOptGroupElement()
diff --git a/WebCore/wml/WMLOptionElement.cpp b/WebCore/wml/WMLOptionElement.cpp
index d69d1d9..bc97215 100644
--- a/WebCore/wml/WMLOptionElement.cpp
+++ b/WebCore/wml/WMLOptionElement.cpp
@@ -41,7 +41,7 @@ WMLOptionElement::WMLOptionElement(const QualifiedName& tagName, Document* doc)
 
 PassRefPtr<WMLOptionElement> WMLOptionElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new WMLOptionElement(tagName, document);
+    return adoptRef(new WMLOptionElement(tagName, document));
 }
 
 WMLOptionElement::~WMLOptionElement()
diff --git a/WebCore/wml/WMLPElement.cpp b/WebCore/wml/WMLPElement.cpp
index d32b0d3..629b49f 100644
--- a/WebCore/wml/WMLPElement.cpp
+++ b/WebCore/wml/WMLPElement.cpp
@@ -45,7 +45,7 @@ WMLPElement::WMLPElement(const QualifiedName& tagName, Document* doc)
 
 PassRefPtr<WMLPElement> WMLPElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new WMLPElement(tagName, document);
+    return adoptRef(new WMLPElement(tagName, document));
 }
 
 bool WMLPElement::mapToEntry(const QualifiedName& attrName, MappedAttributeEntry& result) const
diff --git a/WebCore/wml/WMLPostfieldElement.cpp b/WebCore/wml/WMLPostfieldElement.cpp
index c1770af..b168dbb 100644
--- a/WebCore/wml/WMLPostfieldElement.cpp
+++ b/WebCore/wml/WMLPostfieldElement.cpp
@@ -41,7 +41,7 @@ WMLPostfieldElement::WMLPostfieldElement(const QualifiedName& tagName, Document*
 
 PassRefPtr<WMLPostfieldElement> WMLPostfieldElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new WMLPostfieldElement(tagName, document);
+    return adoptRef(new WMLPostfieldElement(tagName, document));
 }
 
 void WMLPostfieldElement::insertedIntoDocument()
diff --git a/WebCore/wml/WMLPrevElement.cpp b/WebCore/wml/WMLPrevElement.cpp
index 56bb87f..b90e22b 100644
--- a/WebCore/wml/WMLPrevElement.cpp
+++ b/WebCore/wml/WMLPrevElement.cpp
@@ -38,7 +38,7 @@ WMLPrevElement::WMLPrevElement(const QualifiedName& tagName, Document* doc)
 
 PassRefPtr<WMLPrevElement> WMLPrevElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new WMLPrevElement(tagName, document);
+    return adoptRef(new WMLPrevElement(tagName, document));
 }
 
 WMLPrevElement::~WMLPrevElement()
diff --git a/WebCore/wml/WMLRefreshElement.cpp b/WebCore/wml/WMLRefreshElement.cpp
index 668f1e3..8267e20 100644
--- a/WebCore/wml/WMLRefreshElement.cpp
+++ b/WebCore/wml/WMLRefreshElement.cpp
@@ -39,7 +39,7 @@ WMLRefreshElement::WMLRefreshElement(const QualifiedName& tagName, Document* doc
 
 PassRefPtr<WMLRefreshElement> WMLRefreshElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new WMLRefreshElement(tagName, document);
+    return adoptRef(new WMLRefreshElement(tagName, document));
 }
 
 WMLRefreshElement::~WMLRefreshElement()
diff --git a/WebCore/wml/WMLSelectElement.cpp b/WebCore/wml/WMLSelectElement.cpp
index 831991a..81c3a77 100644
--- a/WebCore/wml/WMLSelectElement.cpp
+++ b/WebCore/wml/WMLSelectElement.cpp
@@ -46,7 +46,7 @@ WMLSelectElement::WMLSelectElement(const QualifiedName& tagName, Document* docum
 
 PassRefPtr<WMLSelectElement> WMLSelectElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new WMLSelectElement(tagName, document);
+    return adoptRef(new WMLSelectElement(tagName, document));
 }
 
 WMLSelectElement::~WMLSelectElement()
diff --git a/WebCore/wml/WMLSetvarElement.cpp b/WebCore/wml/WMLSetvarElement.cpp
index 4f8a8dd..a0fc3e8 100644
--- a/WebCore/wml/WMLSetvarElement.cpp
+++ b/WebCore/wml/WMLSetvarElement.cpp
@@ -38,7 +38,7 @@ WMLSetvarElement::WMLSetvarElement(const QualifiedName& tagName, Document* doc)
 
 PassRefPtr<WMLSetvarElement> WMLSetvarElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new WMLSetvarElement(tagName, document);
+    return adoptRef(new WMLSetvarElement(tagName, document));
 }
 
 WMLSetvarElement::~WMLSetvarElement()
diff --git a/WebCore/wml/WMLTableElement.cpp b/WebCore/wml/WMLTableElement.cpp
index 2561fbd..eb22503 100644
--- a/WebCore/wml/WMLTableElement.cpp
+++ b/WebCore/wml/WMLTableElement.cpp
@@ -47,7 +47,7 @@ WMLTableElement::WMLTableElement(const QualifiedName& tagName, Document* doc)
 
 PassRefPtr<WMLTableElement> WMLTableElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new WMLTableElement(tagName, document);
+    return adoptRef(new WMLTableElement(tagName, document));
 }
 
 WMLTableElement::~WMLTableElement()
diff --git a/WebCore/wml/WMLTaskElement.cpp b/WebCore/wml/WMLTaskElement.cpp
index dc2b19c..4ef3496 100644
--- a/WebCore/wml/WMLTaskElement.cpp
+++ b/WebCore/wml/WMLTaskElement.cpp
@@ -41,7 +41,7 @@ WMLTaskElement::WMLTaskElement(const QualifiedName& tagName, Document* doc)
 
 PassRefPtr<WMLTaskElement> WMLTaskElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new WMLTaskElement(tagName, document);
+    return adoptRef(new WMLTaskElement(tagName, document));
 }
 
 WMLTaskElement::~WMLTaskElement()
diff --git a/WebCore/wml/WMLTemplateElement.cpp b/WebCore/wml/WMLTemplateElement.cpp
index d71e9df..584a762 100644
--- a/WebCore/wml/WMLTemplateElement.cpp
+++ b/WebCore/wml/WMLTemplateElement.cpp
@@ -45,7 +45,7 @@ WMLTemplateElement::~WMLTemplateElement()
 
 PassRefPtr<WMLTemplateElement> WMLTemplateElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new WMLTemplateElement(tagName, document);
+    return adoptRef(new WMLTemplateElement(tagName, document));
 }
 
 void WMLTemplateElement::parseMappedAttribute(Attribute* attr)
diff --git a/WebCore/wml/WMLTimerElement.cpp b/WebCore/wml/WMLTimerElement.cpp
index 502a8d0..feac38b 100644
--- a/WebCore/wml/WMLTimerElement.cpp
+++ b/WebCore/wml/WMLTimerElement.cpp
@@ -44,7 +44,7 @@ WMLTimerElement::WMLTimerElement(const QualifiedName& tagName, Document* doc)
 
 PassRefPtr<WMLTimerElement> WMLTimerElement::create(const QualifiedName& tagName, Document* document)
 {
-    return new WMLTimerElement(tagName, document);
+    return adoptRef(new WMLTimerElement(tagName, document));
 }
 
 void WMLTimerElement::parseMappedAttribute(Attribute* attr)

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list