<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[181345] trunk/Source</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/181345">181345</a></dd>
<dt>Author</dt> <dd>commit-queue@webkit.org</dd>
<dt>Date</dt> <dd>2015-03-10 13:39:50 -0700 (Tue, 10 Mar 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Remove PassRefPtr from svg/properties classes.
https://bugs.webkit.org/show_bug.cgi?id=142063.

Patch by Said Abou-Hallawa &lt;sabouhallawa@apple.com&gt; on 2015-03-10
Reviewed by Darin Adler.
Source/WebCore:

Remove PassRefPtr from svg/properties classes. All the return types and
the local variables should be RefPtr. If we are sure the pointer can't
be null, we use Ref instead.

* svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::lookupOrCreateOrientTypeWrapper):
(WebCore::SVGMarkerElement::orientTypeAnimated):
* svg/SVGMarkerElement.h:
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::lookupOrCreateDWrapper):
(WebCore::SVGPathElement::pathSegList):
(WebCore::SVGPathElement::animatedPathSegList):
* svg/SVGPathElement.h:
* svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::lookupOrCreatePointsWrapper):
(WebCore::SVGPolyElement::points):
(WebCore::SVGPolyElement::animatedPoints):
* svg/SVGPolyElement.h:
* svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::lookupOrCreateTextLengthWrapper):
(WebCore::SVGTextContentElement::textLengthAnimated):
* svg/SVGTextContentElement.h:
* svg/SVGViewSpec.cpp:
(WebCore::SVGViewSpec::transform):
(WebCore::SVGViewSpec::viewBoxAnimated):
(WebCore::SVGViewSpec::preserveAspectRatioAnimated):
(WebCore::SVGViewSpec::lookupOrCreateViewBoxWrapper):
(WebCore::SVGViewSpec::lookupOrCreatePreserveAspectRatioWrapper):
(WebCore::SVGViewSpec::lookupOrCreateTransformWrapper):
* svg/SVGViewSpec.h:
* svg/properties/SVGAnimatedEnumerationPropertyTearOff.h:
(WebCore::SVGAnimatedEnumerationPropertyTearOff::create):
* svg/properties/SVGAnimatedListPropertyTearOff.h:
(WebCore::SVGAnimatedListPropertyTearOff::create):
* svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
(WebCore::SVGAnimatedPathSegListPropertyTearOff::create):
* svg/properties/SVGAnimatedProperty.h:
(WebCore::SVGAnimatedProperty::lookupOrCreateWrapper):
* svg/properties/SVGAnimatedPropertyMacros.h:
* svg/properties/SVGAnimatedPropertyTearOff.h:
(WebCore::SVGAnimatedPropertyTearOff::create):
* svg/properties/SVGAnimatedStaticPropertyTearOff.h:
(WebCore::SVGAnimatedStaticPropertyTearOff::create):
* svg/properties/SVGAnimatedTransformListPropertyTearOff.h:
(WebCore::SVGAnimatedTransformListPropertyTearOff::create):
* svg/properties/SVGListProperty.h:
(WebCore::SVGListProperty::initializeValuesAndWrappers):
(WebCore::SVGListProperty::getItemValuesAndWrappers):
(WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers):
(WebCore::SVGListProperty::replaceItemValuesAndWrappers):
(WebCore::SVGListProperty::removeItemValuesAndWrappers):
(WebCore::SVGListProperty::appendItemValuesAndWrappers):
* svg/properties/SVGListPropertyTearOff.h:
(WebCore::SVGListPropertyTearOff::create):
(WebCore::SVGListPropertyTearOff::initialize):
(WebCore::SVGListPropertyTearOff::getItem):
(WebCore::SVGListPropertyTearOff::insertItemBefore):
(WebCore::SVGListPropertyTearOff::replaceItem):
(WebCore::SVGListPropertyTearOff::removeItem):
(WebCore::SVGListPropertyTearOff::appendItem):
* svg/properties/SVGPathSegListPropertyTearOff.cpp:
(WebCore::SVGPathSegListPropertyTearOff::getItem):
(WebCore::SVGPathSegListPropertyTearOff::replaceItem):
(WebCore::SVGPathSegListPropertyTearOff::removeItem):
* svg/properties/SVGPathSegListPropertyTearOff.h:
(WebCore::SVGPathSegListPropertyTearOff::create):
(WebCore::SVGPathSegListPropertyTearOff::initialize):
(WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
(WebCore::SVGPathSegListPropertyTearOff::appendItem):
* svg/properties/SVGPropertyInfo.h:
* svg/properties/SVGStaticListPropertyTearOff.h:
(WebCore::SVGStaticListPropertyTearOff::create):
* svg/properties/SVGStaticPropertyTearOff.h:
(WebCore::SVGStaticPropertyTearOff::create):
* svg/properties/SVGTransformListPropertyTearOff.h:
(WebCore::SVGTransformListPropertyTearOff::create):
(WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix):
(WebCore::SVGTransformListPropertyTearOff::consolidate):

Source/WTF:

* wtf/Ref.h:
(WTF::static_reference_cast): Add a stat_cast function to Ref&lt;&gt;.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWTFChangeLog">trunk/Source/WTF/ChangeLog</a></li>
<li><a href="#trunkSourceWTFwtfRefh">trunk/Source/WTF/wtf/Ref.h</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoresvgSVGMarkerElementcpp">trunk/Source/WebCore/svg/SVGMarkerElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGMarkerElementh">trunk/Source/WebCore/svg/SVGMarkerElement.h</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPathElementcpp">trunk/Source/WebCore/svg/SVGPathElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPathElementh">trunk/Source/WebCore/svg/SVGPathElement.h</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPolyElementcpp">trunk/Source/WebCore/svg/SVGPolyElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPolyElementh">trunk/Source/WebCore/svg/SVGPolyElement.h</a></li>
<li><a href="#trunkSourceWebCoresvgSVGTextContentElementcpp">trunk/Source/WebCore/svg/SVGTextContentElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGTextContentElementh">trunk/Source/WebCore/svg/SVGTextContentElement.h</a></li>
<li><a href="#trunkSourceWebCoresvgSVGViewSpeccpp">trunk/Source/WebCore/svg/SVGViewSpec.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGViewSpech">trunk/Source/WebCore/svg/SVGViewSpec.h</a></li>
<li><a href="#trunkSourceWebCoresvgpropertiesSVGAnimatedEnumerationPropertyTearOffh">trunk/Source/WebCore/svg/properties/SVGAnimatedEnumerationPropertyTearOff.h</a></li>
<li><a href="#trunkSourceWebCoresvgpropertiesSVGAnimatedListPropertyTearOffh">trunk/Source/WebCore/svg/properties/SVGAnimatedListPropertyTearOff.h</a></li>
<li><a href="#trunkSourceWebCoresvgpropertiesSVGAnimatedPathSegListPropertyTearOffh">trunk/Source/WebCore/svg/properties/SVGAnimatedPathSegListPropertyTearOff.h</a></li>
<li><a href="#trunkSourceWebCoresvgpropertiesSVGAnimatedPropertyh">trunk/Source/WebCore/svg/properties/SVGAnimatedProperty.h</a></li>
<li><a href="#trunkSourceWebCoresvgpropertiesSVGAnimatedPropertyMacrosh">trunk/Source/WebCore/svg/properties/SVGAnimatedPropertyMacros.h</a></li>
<li><a href="#trunkSourceWebCoresvgpropertiesSVGAnimatedPropertyTearOffh">trunk/Source/WebCore/svg/properties/SVGAnimatedPropertyTearOff.h</a></li>
<li><a href="#trunkSourceWebCoresvgpropertiesSVGAnimatedStaticPropertyTearOffh">trunk/Source/WebCore/svg/properties/SVGAnimatedStaticPropertyTearOff.h</a></li>
<li><a href="#trunkSourceWebCoresvgpropertiesSVGAnimatedTransformListPropertyTearOffh">trunk/Source/WebCore/svg/properties/SVGAnimatedTransformListPropertyTearOff.h</a></li>
<li><a href="#trunkSourceWebCoresvgpropertiesSVGListPropertyh">trunk/Source/WebCore/svg/properties/SVGListProperty.h</a></li>
<li><a href="#trunkSourceWebCoresvgpropertiesSVGListPropertyTearOffh">trunk/Source/WebCore/svg/properties/SVGListPropertyTearOff.h</a></li>
<li><a href="#trunkSourceWebCoresvgpropertiesSVGPathSegListPropertyTearOffcpp">trunk/Source/WebCore/svg/properties/SVGPathSegListPropertyTearOff.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgpropertiesSVGPathSegListPropertyTearOffh">trunk/Source/WebCore/svg/properties/SVGPathSegListPropertyTearOff.h</a></li>
<li><a href="#trunkSourceWebCoresvgpropertiesSVGPropertyInfoh">trunk/Source/WebCore/svg/properties/SVGPropertyInfo.h</a></li>
<li><a href="#trunkSourceWebCoresvgpropertiesSVGStaticListPropertyTearOffh">trunk/Source/WebCore/svg/properties/SVGStaticListPropertyTearOff.h</a></li>
<li><a href="#trunkSourceWebCoresvgpropertiesSVGStaticPropertyTearOffh">trunk/Source/WebCore/svg/properties/SVGStaticPropertyTearOff.h</a></li>
<li><a href="#trunkSourceWebCoresvgpropertiesSVGTransformListPropertyTearOffh">trunk/Source/WebCore/svg/properties/SVGTransformListPropertyTearOff.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWTFChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/ChangeLog (181344 => 181345)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/ChangeLog        2015-03-10 20:36:08 UTC (rev 181344)
+++ trunk/Source/WTF/ChangeLog        2015-03-10 20:39:50 UTC (rev 181345)
</span><span class="lines">@@ -1,3 +1,13 @@
</span><ins>+2015-03-10  Said Abou-Hallawa  &lt;sabouhallawa@apple.com&gt;
+
+        Remove PassRefPtr from svg/properties classes.
+        https://bugs.webkit.org/show_bug.cgi?id=142063.
+
+        Reviewed by Darin Adler.
+
+        * wtf/Ref.h:
+        (WTF::static_reference_cast): Add a stat_cast function to Ref&lt;&gt;.
+
</ins><span class="cx"> 2015-03-10  Mark Lam  &lt;mark.lam@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [Win] JSC Build Warnings Need to be Resolved.
</span></span></pre></div>
<a id="trunkSourceWTFwtfRefh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/Ref.h (181344 => 181345)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/Ref.h        2015-03-10 20:36:08 UTC (rev 181344)
+++ trunk/Source/WTF/wtf/Ref.h        2015-03-10 20:39:50 UTC (rev 181345)
</span><span class="lines">@@ -148,6 +148,16 @@
</span><span class="cx">     return oldReference;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+template&lt;typename T, typename U&gt; inline Ref&lt;T&gt; static_reference_cast(Ref&lt;U&gt;&amp; reference)
+{
+    return Ref&lt;T&gt;(static_cast&lt;T&amp;&gt;(reference.get()));
+}
+
+template&lt;typename T, typename U&gt; inline Ref&lt;T&gt; static_reference_cast(const Ref&lt;U&gt;&amp; reference)
+{
+    return Ref&lt;T&gt;(static_cast&lt;T&amp;&gt;(reference.copyRef().get()));
+}
+
</ins><span class="cx"> template &lt;typename T&gt;
</span><span class="cx"> struct GetPtrHelper&lt;Ref&lt;T&gt;&gt; {
</span><span class="cx">     typedef T* PtrType;
</span><span class="lines">@@ -166,5 +176,6 @@
</span><span class="cx"> 
</span><span class="cx"> using WTF::Ref;
</span><span class="cx"> using WTF::adoptRef;
</span><ins>+using WTF::static_reference_cast;
</ins><span class="cx"> 
</span><span class="cx"> #endif // WTF_Ref_h
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (181344 => 181345)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-03-10 20:36:08 UTC (rev 181344)
+++ trunk/Source/WebCore/ChangeLog        2015-03-10 20:39:50 UTC (rev 181345)
</span><span class="lines">@@ -1,3 +1,89 @@
</span><ins>+2015-03-10  Said Abou-Hallawa  &lt;sabouhallawa@apple.com&gt;
+
+        Remove PassRefPtr from svg/properties classes.
+        https://bugs.webkit.org/show_bug.cgi?id=142063.
+
+        Reviewed by Darin Adler.
+        
+        Remove PassRefPtr from svg/properties classes. All the return types and
+        the local variables should be RefPtr. If we are sure the pointer can't
+        be null, we use Ref instead.
+
+        * svg/SVGMarkerElement.cpp:
+        (WebCore::SVGMarkerElement::lookupOrCreateOrientTypeWrapper):
+        (WebCore::SVGMarkerElement::orientTypeAnimated):
+        * svg/SVGMarkerElement.h:
+        * svg/SVGPathElement.cpp:
+        (WebCore::SVGPathElement::lookupOrCreateDWrapper):
+        (WebCore::SVGPathElement::pathSegList):
+        (WebCore::SVGPathElement::animatedPathSegList):
+        * svg/SVGPathElement.h:
+        * svg/SVGPolyElement.cpp:
+        (WebCore::SVGPolyElement::lookupOrCreatePointsWrapper):
+        (WebCore::SVGPolyElement::points):
+        (WebCore::SVGPolyElement::animatedPoints):
+        * svg/SVGPolyElement.h:
+        * svg/SVGTextContentElement.cpp:
+        (WebCore::SVGTextContentElement::lookupOrCreateTextLengthWrapper):
+        (WebCore::SVGTextContentElement::textLengthAnimated):
+        * svg/SVGTextContentElement.h:
+        * svg/SVGViewSpec.cpp:
+        (WebCore::SVGViewSpec::transform):
+        (WebCore::SVGViewSpec::viewBoxAnimated):
+        (WebCore::SVGViewSpec::preserveAspectRatioAnimated):
+        (WebCore::SVGViewSpec::lookupOrCreateViewBoxWrapper):
+        (WebCore::SVGViewSpec::lookupOrCreatePreserveAspectRatioWrapper):
+        (WebCore::SVGViewSpec::lookupOrCreateTransformWrapper):
+        * svg/SVGViewSpec.h:
+        * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h:
+        (WebCore::SVGAnimatedEnumerationPropertyTearOff::create):
+        * svg/properties/SVGAnimatedListPropertyTearOff.h:
+        (WebCore::SVGAnimatedListPropertyTearOff::create):
+        * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
+        (WebCore::SVGAnimatedPathSegListPropertyTearOff::create):
+        * svg/properties/SVGAnimatedProperty.h:
+        (WebCore::SVGAnimatedProperty::lookupOrCreateWrapper):
+        * svg/properties/SVGAnimatedPropertyMacros.h:
+        * svg/properties/SVGAnimatedPropertyTearOff.h:
+        (WebCore::SVGAnimatedPropertyTearOff::create):
+        * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
+        (WebCore::SVGAnimatedStaticPropertyTearOff::create):
+        * svg/properties/SVGAnimatedTransformListPropertyTearOff.h:
+        (WebCore::SVGAnimatedTransformListPropertyTearOff::create):
+        * svg/properties/SVGListProperty.h:
+        (WebCore::SVGListProperty::initializeValuesAndWrappers):
+        (WebCore::SVGListProperty::getItemValuesAndWrappers):
+        (WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers):
+        (WebCore::SVGListProperty::replaceItemValuesAndWrappers):
+        (WebCore::SVGListProperty::removeItemValuesAndWrappers):
+        (WebCore::SVGListProperty::appendItemValuesAndWrappers):
+        * svg/properties/SVGListPropertyTearOff.h:
+        (WebCore::SVGListPropertyTearOff::create):
+        (WebCore::SVGListPropertyTearOff::initialize):
+        (WebCore::SVGListPropertyTearOff::getItem):
+        (WebCore::SVGListPropertyTearOff::insertItemBefore):
+        (WebCore::SVGListPropertyTearOff::replaceItem):
+        (WebCore::SVGListPropertyTearOff::removeItem):
+        (WebCore::SVGListPropertyTearOff::appendItem):
+        * svg/properties/SVGPathSegListPropertyTearOff.cpp:
+        (WebCore::SVGPathSegListPropertyTearOff::getItem):
+        (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
+        (WebCore::SVGPathSegListPropertyTearOff::removeItem):
+        * svg/properties/SVGPathSegListPropertyTearOff.h:
+        (WebCore::SVGPathSegListPropertyTearOff::create):
+        (WebCore::SVGPathSegListPropertyTearOff::initialize):
+        (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
+        (WebCore::SVGPathSegListPropertyTearOff::appendItem):
+        * svg/properties/SVGPropertyInfo.h:
+        * svg/properties/SVGStaticListPropertyTearOff.h:
+        (WebCore::SVGStaticListPropertyTearOff::create):
+        * svg/properties/SVGStaticPropertyTearOff.h:
+        (WebCore::SVGStaticPropertyTearOff::create):
+        * svg/properties/SVGTransformListPropertyTearOff.h:
+        (WebCore::SVGTransformListPropertyTearOff::create):
+        (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix):
+        (WebCore::SVGTransformListPropertyTearOff::consolidate):
+
</ins><span class="cx"> 2015-03-10  Timothy Horton  &lt;timothy_horton@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Fix the build
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGMarkerElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGMarkerElement.cpp (181344 => 181345)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGMarkerElement.cpp        2015-03-10 20:36:08 UTC (rev 181344)
+++ trunk/Source/WebCore/svg/SVGMarkerElement.cpp        2015-03-10 20:39:50 UTC (rev 181345)
</span><span class="lines">@@ -239,7 +239,7 @@
</span><span class="cx">     ownerType.m_orientType.synchronize(&amp;ownerType, orientTypePropertyInfo()-&gt;attributeName, autoString);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;SVGAnimatedProperty&gt; SVGMarkerElement::lookupOrCreateOrientTypeWrapper(SVGElement* contextElement)
</del><ins>+Ref&lt;SVGAnimatedProperty&gt; SVGMarkerElement::lookupOrCreateOrientTypeWrapper(SVGElement* contextElement)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(contextElement);
</span><span class="cx">     SVGMarkerElement&amp; ownerType = downcast&lt;SVGMarkerElement&gt;(*contextElement);
</span><span class="lines">@@ -258,10 +258,10 @@
</span><span class="cx">     return m_orientType.value;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;SVGAnimatedEnumerationPropertyTearOff&lt;SVGMarkerOrientType&gt;&gt; SVGMarkerElement::orientTypeAnimated()
</del><ins>+Ref&lt;SVGAnimatedEnumerationPropertyTearOff&lt;SVGMarkerOrientType&gt;&gt; SVGMarkerElement::orientTypeAnimated()
</ins><span class="cx"> {
</span><span class="cx">     m_orientType.shouldSynchronize = true;
</span><del>-    return static_pointer_cast&lt;SVGAnimatedEnumerationPropertyTearOff&lt;SVGMarkerOrientType&gt;&gt;(lookupOrCreateOrientTypeWrapper(this));
</del><ins>+    return static_reference_cast&lt;SVGAnimatedEnumerationPropertyTearOff&lt;SVGMarkerOrientType&gt;&gt;(lookupOrCreateOrientTypeWrapper(this));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGMarkerElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGMarkerElement.h (181344 => 181345)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGMarkerElement.h        2015-03-10 20:36:08 UTC (rev 181344)
+++ trunk/Source/WebCore/svg/SVGMarkerElement.h        2015-03-10 20:39:50 UTC (rev 181345)
</span><span class="lines">@@ -157,11 +157,11 @@
</span><span class="cx"> public:
</span><span class="cx">     // Custom 'orientType' property.
</span><span class="cx">     static void synchronizeOrientType(SVGElement* contextElement);
</span><del>-    static PassRefPtr&lt;SVGAnimatedProperty&gt; lookupOrCreateOrientTypeWrapper(SVGElement* contextElement);
</del><ins>+    static Ref&lt;SVGAnimatedProperty&gt; lookupOrCreateOrientTypeWrapper(SVGElement* contextElement);
</ins><span class="cx">     SVGMarkerOrientType&amp; orientType() const;
</span><span class="cx">     SVGMarkerOrientType&amp; orientTypeBaseValue() const { return m_orientType.value; }
</span><span class="cx">     void setOrientTypeBaseValue(const SVGMarkerOrientType&amp; type) { m_orientType.value = type; }
</span><del>-    PassRefPtr&lt;SVGAnimatedEnumerationPropertyTearOff&lt;SVGMarkerOrientType&gt;&gt; orientTypeAnimated();
</del><ins>+    Ref&lt;SVGAnimatedEnumerationPropertyTearOff&lt;SVGMarkerOrientType&gt;&gt; orientTypeAnimated();
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     mutable SVGSynchronizableAnimatedProperty&lt;SVGMarkerOrientType&gt; m_orientType;
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPathElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPathElement.cpp (181344 => 181345)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPathElement.cpp        2015-03-10 20:36:08 UTC (rev 181344)
+++ trunk/Source/WebCore/svg/SVGPathElement.cpp        2015-03-10 20:39:50 UTC (rev 181345)
</span><span class="lines">@@ -311,13 +311,13 @@
</span><span class="cx">     return static_cast&lt;SVGAnimatedPathSegListPropertyTearOff*&gt;(property)-&gt;animatedPathByteStream();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;SVGAnimatedProperty&gt; SVGPathElement::lookupOrCreateDWrapper(SVGElement* contextElement)
</del><ins>+Ref&lt;SVGAnimatedProperty&gt; SVGPathElement::lookupOrCreateDWrapper(SVGElement* contextElement)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(contextElement);
</span><span class="cx">     SVGPathElement&amp; ownerType = downcast&lt;SVGPathElement&gt;(*contextElement);
</span><span class="cx"> 
</span><span class="cx">     if (SVGAnimatedProperty* property = SVGAnimatedProperty::lookupWrapper&lt;SVGPathElement, SVGAnimatedPathSegListPropertyTearOff&gt;(&amp;ownerType, dPropertyInfo()))
</span><del>-        return property;
</del><ins>+        return *property;
</ins><span class="cx"> 
</span><span class="cx">     // Build initial SVGPathSegList.
</span><span class="cx">     buildSVGPathSegListFromByteStream(ownerType.m_pathByteStream.get(), &amp;ownerType, ownerType.m_pathSegList.value, UnalteredParsing);
</span><span class="lines">@@ -338,7 +338,7 @@
</span><span class="cx"> SVGPathSegListPropertyTearOff* SVGPathElement::pathSegList()
</span><span class="cx"> {
</span><span class="cx">     m_pathSegList.shouldSynchronize = true;
</span><del>-    return static_cast&lt;SVGPathSegListPropertyTearOff*&gt;(static_pointer_cast&lt;SVGAnimatedPathSegListPropertyTearOff&gt;(lookupOrCreateDWrapper(this))-&gt;baseVal());
</del><ins>+    return static_cast&lt;SVGPathSegListPropertyTearOff*&gt;(static_reference_cast&lt;SVGAnimatedPathSegListPropertyTearOff&gt;(lookupOrCreateDWrapper(this))-&gt;baseVal());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> SVGPathSegListPropertyTearOff* SVGPathElement::normalizedPathSegList()
</span><span class="lines">@@ -351,7 +351,7 @@
</span><span class="cx"> {
</span><span class="cx">     m_pathSegList.shouldSynchronize = true;
</span><span class="cx">     m_isAnimValObserved = true;
</span><del>-    return static_cast&lt;SVGPathSegListPropertyTearOff*&gt;(static_pointer_cast&lt;SVGAnimatedPathSegListPropertyTearOff&gt;(lookupOrCreateDWrapper(this))-&gt;animVal());
</del><ins>+    return static_cast&lt;SVGPathSegListPropertyTearOff*&gt;(static_reference_cast&lt;SVGAnimatedPathSegListPropertyTearOff&gt;(lookupOrCreateDWrapper(this))-&gt;animVal());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> SVGPathSegListPropertyTearOff* SVGPathElement::animatedNormalizedPathSegList()
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPathElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPathElement.h (181344 => 181345)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPathElement.h        2015-03-10 20:36:08 UTC (rev 181344)
+++ trunk/Source/WebCore/svg/SVGPathElement.h        2015-03-10 20:39:50 UTC (rev 181345)
</span><span class="lines">@@ -109,7 +109,7 @@
</span><span class="cx"> 
</span><span class="cx">     // Custom 'd' property
</span><span class="cx">     static void synchronizeD(SVGElement* contextElement);
</span><del>-    static PassRefPtr&lt;SVGAnimatedProperty&gt; lookupOrCreateDWrapper(SVGElement* contextElement);
</del><ins>+    static Ref&lt;SVGAnimatedProperty&gt; lookupOrCreateDWrapper(SVGElement* contextElement);
</ins><span class="cx"> 
</span><span class="cx">     BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGPathElement)
</span><span class="cx">         DECLARE_ANIMATED_NUMBER(PathLength, pathLength)
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPolyElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPolyElement.cpp (181344 => 181345)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPolyElement.cpp        2015-03-10 20:36:08 UTC (rev 181344)
+++ trunk/Source/WebCore/svg/SVGPolyElement.cpp        2015-03-10 20:39:50 UTC (rev 181345)
</span><span class="lines">@@ -137,7 +137,7 @@
</span><span class="cx">     ownerType.m_points.synchronize(&amp;ownerType, pointsPropertyInfo()-&gt;attributeName, ownerType.m_points.value.valueAsString());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;SVGAnimatedProperty&gt; SVGPolyElement::lookupOrCreatePointsWrapper(SVGElement* contextElement)
</del><ins>+Ref&lt;SVGAnimatedProperty&gt; SVGPolyElement::lookupOrCreatePointsWrapper(SVGElement* contextElement)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(contextElement);
</span><span class="cx">     SVGPolyElement&amp; ownerType = downcast&lt;SVGPolyElement&gt;(*contextElement);
</span><span class="lines">@@ -148,13 +148,13 @@
</span><span class="cx"> SVGListPropertyTearOff&lt;SVGPointList&gt;* SVGPolyElement::points()
</span><span class="cx"> {
</span><span class="cx">     m_points.shouldSynchronize = true;
</span><del>-    return static_cast&lt;SVGListPropertyTearOff&lt;SVGPointList&gt;*&gt;(static_pointer_cast&lt;SVGAnimatedPointList&gt;(lookupOrCreatePointsWrapper(this))-&gt;baseVal());
</del><ins>+    return static_cast&lt;SVGListPropertyTearOff&lt;SVGPointList&gt;*&gt;(static_reference_cast&lt;SVGAnimatedPointList&gt;(lookupOrCreatePointsWrapper(this))-&gt;baseVal());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> SVGListPropertyTearOff&lt;SVGPointList&gt;* SVGPolyElement::animatedPoints()
</span><span class="cx"> {
</span><span class="cx">     m_points.shouldSynchronize = true;
</span><del>-    return static_cast&lt;SVGListPropertyTearOff&lt;SVGPointList&gt;*&gt;(static_pointer_cast&lt;SVGAnimatedPointList&gt;(lookupOrCreatePointsWrapper(this))-&gt;animVal());
</del><ins>+    return static_cast&lt;SVGListPropertyTearOff&lt;SVGPointList&gt;*&gt;(static_reference_cast&lt;SVGAnimatedPointList&gt;(lookupOrCreatePointsWrapper(this))-&gt;animVal());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPolyElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPolyElement.h (181344 => 181345)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPolyElement.h        2015-03-10 20:36:08 UTC (rev 181344)
+++ trunk/Source/WebCore/svg/SVGPolyElement.h        2015-03-10 20:39:50 UTC (rev 181345)
</span><span class="lines">@@ -52,7 +52,7 @@
</span><span class="cx"> 
</span><span class="cx">     // Custom 'points' property
</span><span class="cx">     static void synchronizePoints(SVGElement* contextElement);
</span><del>-    static PassRefPtr&lt;SVGAnimatedProperty&gt; lookupOrCreatePointsWrapper(SVGElement* contextElement);
</del><ins>+    static Ref&lt;SVGAnimatedProperty&gt; lookupOrCreatePointsWrapper(SVGElement* contextElement);
</ins><span class="cx"> 
</span><span class="cx">     BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGPolyElement)
</span><span class="cx">         DECLARE_ANIMATED_BOOLEAN(ExternalResourcesRequired, externalResourcesRequired)
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGTextContentElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGTextContentElement.cpp (181344 => 181345)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGTextContentElement.cpp        2015-03-10 20:36:08 UTC (rev 181344)
+++ trunk/Source/WebCore/svg/SVGTextContentElement.cpp        2015-03-10 20:39:50 UTC (rev 181345)
</span><span class="lines">@@ -81,7 +81,7 @@
</span><span class="cx">     ownerType.m_textLength.synchronize(&amp;ownerType, textLengthPropertyInfo()-&gt;attributeName, value);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;SVGAnimatedProperty&gt; SVGTextContentElement::lookupOrCreateTextLengthWrapper(SVGElement* contextElement)
</del><ins>+Ref&lt;SVGAnimatedProperty&gt; SVGTextContentElement::lookupOrCreateTextLengthWrapper(SVGElement* contextElement)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(contextElement);
</span><span class="cx">     SVGTextContentElement&amp; ownerType = downcast&lt;SVGTextContentElement&gt;(*contextElement);
</span><span class="lines">@@ -89,14 +89,14 @@
</span><span class="cx">         (&amp;ownerType, textLengthPropertyInfo(), ownerType.m_textLength.value);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;SVGAnimatedLength&gt; SVGTextContentElement::textLengthAnimated()
</del><ins>+Ref&lt;SVGAnimatedLength&gt; SVGTextContentElement::textLengthAnimated()
</ins><span class="cx"> {
</span><span class="cx">     static NeverDestroyed&lt;SVGLength&gt; defaultTextLength(LengthModeOther);
</span><span class="cx">     if (m_specifiedTextLength == defaultTextLength)
</span><span class="cx">         m_textLength.value.newValueSpecifiedUnits(LengthTypeNumber, getComputedTextLength(), ASSERT_NO_EXCEPTION);
</span><span class="cx"> 
</span><span class="cx">     m_textLength.shouldSynchronize = true;
</span><del>-    return static_pointer_cast&lt;SVGAnimatedLength&gt;(lookupOrCreateTextLengthWrapper(this));
</del><ins>+    return static_reference_cast&lt;SVGAnimatedLength&gt;(lookupOrCreateTextLengthWrapper(this));
</ins><span class="cx"> 
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGTextContentElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGTextContentElement.h (181344 => 181345)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGTextContentElement.h        2015-03-10 20:36:08 UTC (rev 181344)
+++ trunk/Source/WebCore/svg/SVGTextContentElement.h        2015-03-10 20:39:50 UTC (rev 181345)
</span><span class="lines">@@ -88,7 +88,7 @@
</span><span class="cx">     // textLength is not declared using the standard DECLARE_ANIMATED_LENGTH macro
</span><span class="cx">     // as its getter needs special handling (return getComputedTextLength(), instead of m_textLength).
</span><span class="cx">     SVGLength&amp; specifiedTextLength() { return m_specifiedTextLength; }
</span><del>-    PassRefPtr&lt;SVGAnimatedLength&gt; textLengthAnimated();
</del><ins>+    Ref&lt;SVGAnimatedLength&gt; textLengthAnimated();
</ins><span class="cx">     static const SVGPropertyInfo* textLengthPropertyInfo();
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><span class="lines">@@ -109,7 +109,7 @@
</span><span class="cx"> 
</span><span class="cx">     // Custom 'textLength' property
</span><span class="cx">     static void synchronizeTextLength(SVGElement* contextElement);
</span><del>-    static PassRefPtr&lt;SVGAnimatedProperty&gt; lookupOrCreateTextLengthWrapper(SVGElement* contextElement);
</del><ins>+    static Ref&lt;SVGAnimatedProperty&gt; lookupOrCreateTextLengthWrapper(SVGElement* contextElement);
</ins><span class="cx">     mutable SVGSynchronizableAnimatedProperty&lt;SVGLength&gt; m_textLength;
</span><span class="cx">     SVGLength m_specifiedTextLength;
</span><span class="cx">   
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGViewSpeccpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGViewSpec.cpp (181344 => 181345)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGViewSpec.cpp        2015-03-10 20:36:08 UTC (rev 181344)
+++ trunk/Source/WebCore/svg/SVGViewSpec.cpp        2015-03-10 20:39:50 UTC (rev 181345)
</span><span class="lines">@@ -148,40 +148,40 @@
</span><span class="cx"> SVGTransformListPropertyTearOff* SVGViewSpec::transform()
</span><span class="cx"> {
</span><span class="cx">     if (!m_contextElement)
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx">     // Return the animVal here, as its readonly by default - which is exactly what we want here.
</span><del>-    return static_cast&lt;SVGTransformListPropertyTearOff*&gt;(static_pointer_cast&lt;SVGAnimatedTransformList&gt;(lookupOrCreateTransformWrapper(this))-&gt;animVal());
</del><ins>+    return static_cast&lt;SVGTransformListPropertyTearOff*&gt;(static_reference_cast&lt;SVGAnimatedTransformList&gt;(lookupOrCreateTransformWrapper(this))-&gt;animVal());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;SVGAnimatedRect&gt; SVGViewSpec::viewBoxAnimated()
</del><ins>+RefPtr&lt;SVGAnimatedRect&gt; SVGViewSpec::viewBoxAnimated()
</ins><span class="cx"> {
</span><span class="cx">     if (!m_contextElement)
</span><del>-        return 0;
-    return static_pointer_cast&lt;SVGAnimatedRect&gt;(lookupOrCreateViewBoxWrapper(this));
</del><ins>+        return nullptr;
+    return static_reference_cast&lt;SVGAnimatedRect&gt;(lookupOrCreateViewBoxWrapper(this));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;SVGAnimatedPreserveAspectRatio&gt; SVGViewSpec::preserveAspectRatioAnimated()
</del><ins>+RefPtr&lt;SVGAnimatedPreserveAspectRatio&gt; SVGViewSpec::preserveAspectRatioAnimated()
</ins><span class="cx"> {
</span><span class="cx">     if (!m_contextElement)
</span><del>-        return 0;
-    return static_pointer_cast&lt;SVGAnimatedPreserveAspectRatio&gt;(lookupOrCreatePreserveAspectRatioWrapper(this));
</del><ins>+        return nullptr;
+    return static_reference_cast&lt;SVGAnimatedPreserveAspectRatio&gt;(lookupOrCreatePreserveAspectRatioWrapper(this));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;SVGAnimatedProperty&gt; SVGViewSpec::lookupOrCreateViewBoxWrapper(SVGViewSpec* ownerType)
</del><ins>+Ref&lt;SVGAnimatedProperty&gt; SVGViewSpec::lookupOrCreateViewBoxWrapper(SVGViewSpec* ownerType)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(ownerType);
</span><span class="cx">     ASSERT(ownerType-&gt;contextElement());
</span><span class="cx">     return SVGAnimatedProperty::lookupOrCreateWrapper&lt;SVGElement, SVGAnimatedRect, FloatRect&gt;(ownerType-&gt;contextElement(), viewBoxPropertyInfo(), ownerType-&gt;m_viewBox);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;SVGAnimatedProperty&gt; SVGViewSpec::lookupOrCreatePreserveAspectRatioWrapper(SVGViewSpec* ownerType)
</del><ins>+Ref&lt;SVGAnimatedProperty&gt; SVGViewSpec::lookupOrCreatePreserveAspectRatioWrapper(SVGViewSpec* ownerType)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(ownerType);
</span><span class="cx">     ASSERT(ownerType-&gt;contextElement());
</span><span class="cx">     return SVGAnimatedProperty::lookupOrCreateWrapper&lt;SVGElement, SVGAnimatedPreserveAspectRatio, SVGPreserveAspectRatio&gt;(ownerType-&gt;contextElement(), preserveAspectRatioPropertyInfo(), ownerType-&gt;m_preserveAspectRatio);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;SVGAnimatedProperty&gt; SVGViewSpec::lookupOrCreateTransformWrapper(SVGViewSpec* ownerType)
</del><ins>+Ref&lt;SVGAnimatedProperty&gt; SVGViewSpec::lookupOrCreateTransformWrapper(SVGViewSpec* ownerType)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(ownerType);
</span><span class="cx">     ASSERT(ownerType-&gt;contextElement());
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGViewSpech"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGViewSpec.h (181344 => 181345)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGViewSpec.h        2015-03-10 20:36:08 UTC (rev 181344)
+++ trunk/Source/WebCore/svg/SVGViewSpec.h        2015-03-10 20:39:50 UTC (rev 181345)
</span><span class="lines">@@ -72,13 +72,13 @@
</span><span class="cx">     SVGTransformList transformBaseValue() const { return m_transform; }
</span><span class="cx"> 
</span><span class="cx">     // Custom animated 'viewBox' property.
</span><del>-    PassRefPtr&lt;SVGAnimatedRect&gt; viewBoxAnimated();
</del><ins>+    RefPtr&lt;SVGAnimatedRect&gt; viewBoxAnimated();
</ins><span class="cx">     FloatRect&amp; viewBox() { return m_viewBox; }
</span><span class="cx">     FloatRect viewBoxBaseValue() const { return m_viewBox; }
</span><span class="cx">     void setViewBoxBaseValue(const FloatRect&amp; viewBox) { m_viewBox = viewBox; }
</span><span class="cx"> 
</span><span class="cx">     // Custom animated 'preserveAspectRatio' property.
</span><del>-    PassRefPtr&lt;SVGAnimatedPreserveAspectRatio&gt; preserveAspectRatioAnimated();
</del><ins>+    RefPtr&lt;SVGAnimatedPreserveAspectRatio&gt; preserveAspectRatioAnimated();
</ins><span class="cx">     SVGPreserveAspectRatio&amp; preserveAspectRatio() { return m_preserveAspectRatio; }
</span><span class="cx">     SVGPreserveAspectRatio preserveAspectRatioBaseValue() const { return m_preserveAspectRatio; }
</span><span class="cx">     void setPreserveAspectRatioBaseValue(const SVGPreserveAspectRatio&amp; preserveAspectRatio) { m_preserveAspectRatio = preserveAspectRatio; }
</span><span class="lines">@@ -94,9 +94,9 @@
</span><span class="cx">     static const AtomicString&amp; viewBoxIdentifier();
</span><span class="cx">     static const AtomicString&amp; preserveAspectRatioIdentifier();
</span><span class="cx"> 
</span><del>-    static PassRefPtr&lt;SVGAnimatedProperty&gt; lookupOrCreateTransformWrapper(SVGViewSpec* contextElement);
-    static PassRefPtr&lt;SVGAnimatedProperty&gt; lookupOrCreateViewBoxWrapper(SVGViewSpec* contextElement);
-    static PassRefPtr&lt;SVGAnimatedProperty&gt; lookupOrCreatePreserveAspectRatioWrapper(SVGViewSpec* contextElement);
</del><ins>+    static Ref&lt;SVGAnimatedProperty&gt; lookupOrCreateTransformWrapper(SVGViewSpec* contextElement);
+    static Ref&lt;SVGAnimatedProperty&gt; lookupOrCreateViewBoxWrapper(SVGViewSpec* contextElement);
+    static Ref&lt;SVGAnimatedProperty&gt; lookupOrCreatePreserveAspectRatioWrapper(SVGViewSpec* contextElement);
</ins><span class="cx"> 
</span><span class="cx">     SVGElement* m_contextElement;
</span><span class="cx">     SVGZoomAndPanType m_zoomAndPan;
</span></span></pre></div>
<a id="trunkSourceWebCoresvgpropertiesSVGAnimatedEnumerationPropertyTearOffh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/properties/SVGAnimatedEnumerationPropertyTearOff.h (181344 => 181345)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/properties/SVGAnimatedEnumerationPropertyTearOff.h        2015-03-10 20:36:08 UTC (rev 181344)
+++ trunk/Source/WebCore/svg/properties/SVGAnimatedEnumerationPropertyTearOff.h        2015-03-10 20:39:50 UTC (rev 181345)
</span><span class="lines">@@ -39,10 +39,10 @@
</span><span class="cx">         SVGAnimatedStaticPropertyTearOff&lt;unsigned&gt;::setBaseVal(property, ec);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    static PassRefPtr&lt;SVGAnimatedEnumerationPropertyTearOff&lt;EnumType&gt;&gt; create(SVGElement* contextElement, const QualifiedName&amp; attributeName, AnimatedPropertyType animatedPropertyType, EnumType&amp; property)
</del><ins>+    static Ref&lt;SVGAnimatedEnumerationPropertyTearOff&lt;EnumType&gt;&gt; create(SVGElement* contextElement, const QualifiedName&amp; attributeName, AnimatedPropertyType animatedPropertyType, EnumType&amp; property)
</ins><span class="cx">     {
</span><span class="cx">         ASSERT(contextElement);
</span><del>-        return adoptRef(new SVGAnimatedEnumerationPropertyTearOff&lt;EnumType&gt;(contextElement, attributeName, animatedPropertyType, reinterpret_cast&lt;unsigned&amp;&gt;(property)));
</del><ins>+        return adoptRef(*new SVGAnimatedEnumerationPropertyTearOff&lt;EnumType&gt;(contextElement, attributeName, animatedPropertyType, reinterpret_cast&lt;unsigned&amp;&gt;(property)));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     EnumType&amp; currentAnimatedValue()
</span></span></pre></div>
<a id="trunkSourceWebCoresvgpropertiesSVGAnimatedListPropertyTearOffh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/properties/SVGAnimatedListPropertyTearOff.h (181344 => 181345)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/properties/SVGAnimatedListPropertyTearOff.h        2015-03-10 20:36:08 UTC (rev 181344)
+++ trunk/Source/WebCore/svg/properties/SVGAnimatedListPropertyTearOff.h        2015-03-10 20:39:50 UTC (rev 181345)
</span><span class="lines">@@ -153,10 +153,10 @@
</span><span class="cx">         synchronizeWrappersIfNeeded();
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    static PassRefPtr&lt;SVGAnimatedListPropertyTearOff&lt;PropertyType&gt;&gt; create(SVGElement* contextElement, const QualifiedName&amp; attributeName, AnimatedPropertyType animatedPropertyType, PropertyType&amp; values)
</del><ins>+    static Ref&lt;SVGAnimatedListPropertyTearOff&lt;PropertyType&gt;&gt; create(SVGElement* contextElement, const QualifiedName&amp; attributeName, AnimatedPropertyType animatedPropertyType, PropertyType&amp; values)
</ins><span class="cx">     {
</span><span class="cx">         ASSERT(contextElement);
</span><del>-        return adoptRef(new SVGAnimatedListPropertyTearOff&lt;PropertyType&gt;(contextElement, attributeName, animatedPropertyType, values));
</del><ins>+        return adoptRef(*new SVGAnimatedListPropertyTearOff&lt;PropertyType&gt;(contextElement, attributeName, animatedPropertyType, values));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> protected:
</span></span></pre></div>
<a id="trunkSourceWebCoresvgpropertiesSVGAnimatedPathSegListPropertyTearOffh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/properties/SVGAnimatedPathSegListPropertyTearOff.h (181344 => 181345)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/properties/SVGAnimatedPathSegListPropertyTearOff.h        2015-03-10 20:36:08 UTC (rev 181344)
+++ trunk/Source/WebCore/svg/properties/SVGAnimatedPathSegListPropertyTearOff.h        2015-03-10 20:39:50 UTC (rev 181345)
</span><span class="lines">@@ -59,10 +59,10 @@
</span><span class="cx">         static_cast&lt;SVGPathSegListPropertyTearOff*&gt;(m_baseVal.get())-&gt;removeItemFromList(itemIndex, shouldSynchronizeWrappers);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    static PassRefPtr&lt;SVGAnimatedPathSegListPropertyTearOff&gt; create(SVGElement* contextElement, const QualifiedName&amp; attributeName, AnimatedPropertyType animatedPropertyType, SVGPathSegList&amp; values)
</del><ins>+    static Ref&lt;SVGAnimatedPathSegListPropertyTearOff&gt; create(SVGElement* contextElement, const QualifiedName&amp; attributeName, AnimatedPropertyType animatedPropertyType, SVGPathSegList&amp; values)
</ins><span class="cx">     {
</span><span class="cx">         ASSERT(contextElement);
</span><del>-        return adoptRef(new SVGAnimatedPathSegListPropertyTearOff(contextElement, attributeName, animatedPropertyType, values));
</del><ins>+        return adoptRef(*new SVGAnimatedPathSegListPropertyTearOff(contextElement, attributeName, animatedPropertyType, values));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     using SVGAnimatedListPropertyTearOff&lt;SVGPathSegList&gt;::animationStarted;
</span></span></pre></div>
<a id="trunkSourceWebCoresvgpropertiesSVGAnimatedPropertyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/properties/SVGAnimatedProperty.h (181344 => 181345)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/properties/SVGAnimatedProperty.h        2015-03-10 20:36:08 UTC (rev 181344)
+++ trunk/Source/WebCore/svg/properties/SVGAnimatedProperty.h        2015-03-10 20:39:50 UTC (rev 181345)
</span><span class="lines">@@ -48,18 +48,18 @@
</span><span class="cx">     virtual ~SVGAnimatedProperty();
</span><span class="cx"> 
</span><span class="cx">     template&lt;typename OwnerType, typename TearOffType, typename PropertyType&gt;
</span><del>-    static PassRefPtr&lt;TearOffType&gt; lookupOrCreateWrapper(OwnerType* element, const SVGPropertyInfo* info, PropertyType&amp; property)
</del><ins>+    static TearOffType&amp; lookupOrCreateWrapper(OwnerType* element, const SVGPropertyInfo* info, PropertyType&amp; property)
</ins><span class="cx">     {
</span><span class="cx">         ASSERT(info);
</span><span class="cx">         SVGAnimatedPropertyDescription key(element, info-&gt;propertyIdentifier);
</span><del>-        RefPtr&lt;SVGAnimatedProperty&gt; wrapper = animatedPropertyCache()-&gt;get(key);
-        if (!wrapper) {
-            wrapper = TearOffType::create(element, info-&gt;attributeName, info-&gt;animatedPropertyType, property);
</del><ins>+        auto&amp; slot = animatedPropertyCache()-&gt;add(key, nullptr).iterator-&gt;value;
+        if (!slot) {
+            Ref&lt;SVGAnimatedProperty&gt; wrapper = TearOffType::create(element, info-&gt;attributeName, info-&gt;animatedPropertyType, property);
</ins><span class="cx">             if (info-&gt;animatedPropertyState == PropertyIsReadOnly)
</span><span class="cx">                 wrapper-&gt;setIsReadOnly();
</span><del>-            animatedPropertyCache()-&gt;set(key, wrapper.get());
</del><ins>+            slot = &amp;wrapper.leakRef();
</ins><span class="cx">         }
</span><del>-        return static_pointer_cast&lt;TearOffType&gt;(wrapper);
</del><ins>+        return static_cast&lt;TearOffType&amp;&gt;(*slot);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     template&lt;typename OwnerType, typename TearOffType&gt;
</span></span></pre></div>
<a id="trunkSourceWebCoresvgpropertiesSVGAnimatedPropertyMacrosh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/properties/SVGAnimatedPropertyMacros.h (181344 => 181345)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/properties/SVGAnimatedPropertyMacros.h        2015-03-10 20:36:08 UTC (rev 181344)
+++ trunk/Source/WebCore/svg/properties/SVGAnimatedPropertyMacros.h        2015-03-10 20:39:50 UTC (rev 181345)
</span><span class="lines">@@ -132,10 +132,10 @@
</span><span class="cx">         m_##LowerProperty.isValid = validValue; \
</span><span class="cx">     } \
</span><span class="cx"> \
</span><del>-    PassRefPtr&lt;TearOffType&gt; LowerProperty##Animated() \
</del><ins>+    Ref&lt;TearOffType&gt; LowerProperty##Animated() \
</ins><span class="cx">     { \
</span><span class="cx">         m_##LowerProperty.shouldSynchronize = true; \
</span><del>-        return static_pointer_cast&lt;TearOffType&gt;(lookupOrCreate##UpperProperty##Wrapper(this)); \
</del><ins>+        return static_reference_cast&lt;TearOffType&gt;(lookupOrCreate##UpperProperty##Wrapper(this)); \
</ins><span class="cx">     } \
</span><span class="cx"> \
</span><span class="cx">     bool LowerProperty##IsValid() const \
</span><span class="lines">@@ -152,7 +152,7 @@
</span><span class="cx">         m_##LowerProperty.synchronize(this, LowerProperty##PropertyInfo()-&gt;attributeName, value); \
</span><span class="cx">     } \
</span><span class="cx"> \
</span><del>-    static PassRefPtr&lt;SVGAnimatedProperty&gt; lookupOrCreate##UpperProperty##Wrapper(SVGElement* maskedOwnerType) \
</del><ins>+    static Ref&lt;SVGAnimatedProperty&gt; lookupOrCreate##UpperProperty##Wrapper(SVGElement* maskedOwnerType) \
</ins><span class="cx">     { \
</span><span class="cx">         ASSERT(maskedOwnerType); \
</span><span class="cx">         UseOwnerType* ownerType = static_cast&lt;UseOwnerType*&gt;(maskedOwnerType); \
</span></span></pre></div>
<a id="trunkSourceWebCoresvgpropertiesSVGAnimatedPropertyTearOffh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/properties/SVGAnimatedPropertyTearOff.h (181344 => 181345)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/properties/SVGAnimatedPropertyTearOff.h        2015-03-10 20:36:08 UTC (rev 181344)
+++ trunk/Source/WebCore/svg/properties/SVGAnimatedPropertyTearOff.h        2015-03-10 20:39:50 UTC (rev 181345)
</span><span class="lines">@@ -57,10 +57,10 @@
</span><span class="cx">         return m_animVal.get();
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    static PassRefPtr&lt;SVGAnimatedPropertyTearOff&lt;PropertyType&gt;&gt; create(SVGElement* contextElement, const QualifiedName&amp; attributeName, AnimatedPropertyType animatedPropertyType, PropertyType&amp; property)
</del><ins>+    static Ref&lt;SVGAnimatedPropertyTearOff&lt;PropertyType&gt;&gt; create(SVGElement* contextElement, const QualifiedName&amp; attributeName, AnimatedPropertyType animatedPropertyType, PropertyType&amp; property)
</ins><span class="cx">     {
</span><span class="cx">         ASSERT(contextElement);
</span><del>-        return adoptRef(new SVGAnimatedPropertyTearOff&lt;PropertyType&gt;(contextElement, attributeName, animatedPropertyType, property));
</del><ins>+        return adoptRef(*new SVGAnimatedPropertyTearOff&lt;PropertyType&gt;(contextElement, attributeName, animatedPropertyType, property));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     PropertyType&amp; currentAnimatedValue()
</span></span></pre></div>
<a id="trunkSourceWebCoresvgpropertiesSVGAnimatedStaticPropertyTearOffh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/properties/SVGAnimatedStaticPropertyTearOff.h (181344 => 181345)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/properties/SVGAnimatedStaticPropertyTearOff.h        2015-03-10 20:36:08 UTC (rev 181344)
+++ trunk/Source/WebCore/svg/properties/SVGAnimatedStaticPropertyTearOff.h        2015-03-10 20:39:50 UTC (rev 181345)
</span><span class="lines">@@ -48,10 +48,10 @@
</span><span class="cx">         commitChange();
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    static PassRefPtr&lt;SVGAnimatedStaticPropertyTearOff&lt;PropertyType&gt;&gt; create(SVGElement* contextElement, const QualifiedName&amp; attributeName, AnimatedPropertyType animatedPropertyType, PropertyType&amp; property)
</del><ins>+    static Ref&lt;SVGAnimatedStaticPropertyTearOff&lt;PropertyType&gt;&gt; create(SVGElement* contextElement, const QualifiedName&amp; attributeName, AnimatedPropertyType animatedPropertyType, PropertyType&amp; property)
</ins><span class="cx">     {
</span><span class="cx">         ASSERT(contextElement);
</span><del>-        return adoptRef(new SVGAnimatedStaticPropertyTearOff&lt;PropertyType&gt;(contextElement, attributeName, animatedPropertyType, property));
</del><ins>+        return adoptRef(*new SVGAnimatedStaticPropertyTearOff&lt;PropertyType&gt;(contextElement, attributeName, animatedPropertyType, property));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     PropertyType&amp; currentAnimatedValue()
</span></span></pre></div>
<a id="trunkSourceWebCoresvgpropertiesSVGAnimatedTransformListPropertyTearOffh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/properties/SVGAnimatedTransformListPropertyTearOff.h (181344 => 181345)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/properties/SVGAnimatedTransformListPropertyTearOff.h        2015-03-10 20:36:08 UTC (rev 181344)
+++ trunk/Source/WebCore/svg/properties/SVGAnimatedTransformListPropertyTearOff.h        2015-03-10 20:39:50 UTC (rev 181345)
</span><span class="lines">@@ -42,10 +42,10 @@
</span><span class="cx">         return static_cast&lt;SVGListPropertyTearOff&lt;SVGTransformList&gt;*&gt;(m_animVal.get());
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    static PassRefPtr&lt;SVGAnimatedTransformListPropertyTearOff&gt; create(SVGElement* contextElement, const QualifiedName&amp; attributeName, AnimatedPropertyType animatedPropertyType, SVGTransformList&amp; values)
</del><ins>+    static Ref&lt;SVGAnimatedTransformListPropertyTearOff&gt; create(SVGElement* contextElement, const QualifiedName&amp; attributeName, AnimatedPropertyType animatedPropertyType, SVGTransformList&amp; values)
</ins><span class="cx">     {
</span><span class="cx">         ASSERT(contextElement);
</span><del>-        return adoptRef(new SVGAnimatedTransformListPropertyTearOff(contextElement, attributeName, animatedPropertyType, values));
</del><ins>+        return adoptRef(*new SVGAnimatedTransformListPropertyTearOff(contextElement, attributeName, animatedPropertyType, values));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span></span></pre></div>
<a id="trunkSourceWebCoresvgpropertiesSVGListPropertyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/properties/SVGListProperty.h (181344 => 181345)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/properties/SVGListProperty.h        2015-03-10 20:36:08 UTC (rev 181344)
+++ trunk/Source/WebCore/svg/properties/SVGListProperty.h        2015-03-10 20:39:50 UTC (rev 181345)
</span><span class="lines">@@ -44,7 +44,7 @@
</span><span class="cx"> 
</span><span class="cx">     typedef typename SVGPropertyTraits&lt;PropertyType&gt;::ListItemType ListItemType;
</span><span class="cx">     typedef SVGPropertyTearOff&lt;ListItemType&gt; ListItemTearOff;
</span><del>-    typedef PassRefPtr&lt;ListItemTearOff&gt; PassListItemTearOff;
</del><ins>+    typedef RefPtr&lt;ListItemTearOff&gt; PtrListItemTearOff;
</ins><span class="cx">     typedef SVGAnimatedListPropertyTearOff&lt;PropertyType&gt; AnimatedListPropertyTearOff;
</span><span class="cx">     typedef typename SVGAnimatedListPropertyTearOff&lt;PropertyType&gt;::ListWrapperCache ListWrapperCache;
</span><span class="cx"> 
</span><span class="lines">@@ -138,19 +138,18 @@
</span><span class="cx">         return newItem;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    PassListItemTearOff initializeValuesAndWrappers(PassListItemTearOff passNewItem, ExceptionCode&amp; ec)
</del><ins>+    PtrListItemTearOff initializeValuesAndWrappers(PtrListItemTearOff newItem, ExceptionCode&amp; ec)
</ins><span class="cx">     {
</span><span class="cx">         ASSERT(m_wrappers);
</span><span class="cx">         if (!canAlterList(ec))
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx"> 
</span><span class="cx">         // Not specified, but FF/Opera do it this way, and it's just sane.
</span><del>-        if (!passNewItem) {
</del><ins>+        if (!newItem) {
</ins><span class="cx">             ec = SVGException::SVG_WRONG_TYPE_ERR;
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx">         }
</span><span class="cx"> 
</span><del>-        RefPtr&lt;ListItemTearOff&gt; newItem = passNewItem;
</del><span class="cx">         ASSERT(m_values-&gt;size() == m_wrappers-&gt;size());
</span><span class="cx"> 
</span><span class="cx">         // Spec: If the inserted item is already in a list, it is removed from its previous list before it is inserted into this list.
</span><span class="lines">@@ -164,7 +163,7 @@
</span><span class="cx">         m_wrappers-&gt;append(newItem);
</span><span class="cx"> 
</span><span class="cx">         commitChange();
</span><del>-        return newItem.release();
</del><ins>+        return newItem;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // SVGList::getItem()
</span><span class="lines">@@ -187,11 +186,11 @@
</span><span class="cx">         return m_values-&gt;at(index);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    PassListItemTearOff getItemValuesAndWrappers(AnimatedListPropertyTearOff* animatedList, unsigned index, ExceptionCode&amp; ec)
</del><ins>+    PtrListItemTearOff getItemValuesAndWrappers(AnimatedListPropertyTearOff* animatedList, unsigned index, ExceptionCode&amp; ec)
</ins><span class="cx">     {
</span><span class="cx">         ASSERT(m_wrappers);
</span><span class="cx">         if (!canGetItem(index, ec))
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx"> 
</span><span class="cx">         // Spec: Returns the specified item from the list. The returned item is the item itself and not a copy.
</span><span class="cx">         // Any changes made to the item are immediately reflected in the list.
</span><span class="lines">@@ -232,23 +231,22 @@
</span><span class="cx">         return newItem;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    PassListItemTearOff insertItemBeforeValuesAndWrappers(PassListItemTearOff passNewItem, unsigned index, ExceptionCode&amp; ec)
</del><ins>+    PtrListItemTearOff insertItemBeforeValuesAndWrappers(PtrListItemTearOff newItem, unsigned index, ExceptionCode&amp; ec)
</ins><span class="cx">     {
</span><span class="cx">         ASSERT(m_wrappers);
</span><span class="cx">         if (!canAlterList(ec))
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx"> 
</span><span class="cx">         // Not specified, but FF/Opera do it this way, and it's just sane.
</span><del>-        if (!passNewItem) {
</del><ins>+        if (!newItem) {
</ins><span class="cx">             ec = SVGException::SVG_WRONG_TYPE_ERR;
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         // Spec: If the index is greater than or equal to numberOfItems, then the new item is appended to the end of the list.
</span><span class="cx">         if (index &gt; m_values-&gt;size())
</span><span class="cx">              index = m_values-&gt;size();
</span><span class="cx"> 
</span><del>-        RefPtr&lt;ListItemTearOff&gt; newItem = passNewItem;
</del><span class="cx">         ASSERT(m_values-&gt;size() == m_wrappers-&gt;size());
</span><span class="cx"> 
</span><span class="cx">         // Spec: If newItem is already in a list, it is removed from its previous list before it is inserted into this list.
</span><span class="lines">@@ -263,7 +261,7 @@
</span><span class="cx">         m_wrappers-&gt;insert(index, newItem);
</span><span class="cx"> 
</span><span class="cx">         commitChange();
</span><del>-        return newItem.release();
</del><ins>+        return newItem;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // SVGList::replaceItem()
</span><span class="lines">@@ -305,31 +303,30 @@
</span><span class="cx">         return newItem;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    PassListItemTearOff replaceItemValuesAndWrappers(PassListItemTearOff passNewItem, unsigned index, ExceptionCode&amp; ec)
</del><ins>+    PtrListItemTearOff replaceItemValuesAndWrappers(PtrListItemTearOff newItem, unsigned index, ExceptionCode&amp; ec)
</ins><span class="cx">     {
</span><span class="cx">         ASSERT(m_wrappers);
</span><span class="cx">         if (!canReplaceItem(index, ec))
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx"> 
</span><span class="cx">         // Not specified, but FF/Opera do it this way, and it's just sane.
</span><del>-        if (!passNewItem) {
</del><ins>+        if (!newItem) {
</ins><span class="cx">             ec = SVGException::SVG_WRONG_TYPE_ERR;
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         ASSERT(m_values-&gt;size() == m_wrappers-&gt;size());
</span><del>-        RefPtr&lt;ListItemTearOff&gt; newItem = passNewItem;
</del><span class="cx"> 
</span><span class="cx">         // Spec: If newItem is already in a list, it is removed from its previous list before it is inserted into this list.
</span><span class="cx">         // Spec: If the item is already in this list, note that the index of the item to replace is before the removal of the item.
</span><span class="cx">         if (!processIncomingListItemWrapper(newItem, &amp;index))
</span><del>-            return newItem.release();
</del><ins>+            return newItem;
</ins><span class="cx"> 
</span><span class="cx">         if (m_values-&gt;isEmpty()) {
</span><span class="cx">             ASSERT(m_wrappers-&gt;isEmpty());
</span><del>-            // 'passNewItem' already lived in our list, we removed it, and now we're empty, which means there's nothing to replace.
</del><ins>+            // 'newItem' already lived in our list, we removed it, and now we're empty, which means there's nothing to replace.
</ins><span class="cx">             ec = INDEX_SIZE_ERR;
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         // Detach the existing wrapper.
</span><span class="lines">@@ -342,7 +339,7 @@
</span><span class="cx">         m_wrappers-&gt;at(index) = newItem;
</span><span class="cx"> 
</span><span class="cx">         commitChange();
</span><del>-        return newItem.release();
</del><ins>+        return newItem;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // SVGList::removeItem()
</span><span class="lines">@@ -371,11 +368,11 @@
</span><span class="cx">         return oldItem;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    PassListItemTearOff removeItemValuesAndWrappers(AnimatedListPropertyTearOff* animatedList, unsigned index, ExceptionCode&amp; ec)
</del><ins>+    PtrListItemTearOff removeItemValuesAndWrappers(AnimatedListPropertyTearOff* animatedList, unsigned index, ExceptionCode&amp; ec)
</ins><span class="cx">     {
</span><span class="cx">         ASSERT(m_wrappers);
</span><span class="cx">         if (!canRemoveItem(index, ec))
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx"> 
</span><span class="cx">         ASSERT(m_values-&gt;size() == m_wrappers-&gt;size());
</span><span class="cx"> 
</span><span class="lines">@@ -408,19 +405,18 @@
</span><span class="cx">         return newItem;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    PassListItemTearOff appendItemValuesAndWrappers(PassListItemTearOff passNewItem, ExceptionCode&amp; ec)
</del><ins>+    PtrListItemTearOff appendItemValuesAndWrappers(PtrListItemTearOff newItem, ExceptionCode&amp; ec)
</ins><span class="cx">     {
</span><span class="cx">         ASSERT(m_wrappers);
</span><span class="cx">         if (!canAlterList(ec))
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx"> 
</span><span class="cx">         // Not specified, but FF/Opera do it this way, and it's just sane.
</span><del>-        if (!passNewItem) {
</del><ins>+        if (!newItem) {
</ins><span class="cx">             ec = SVGException::SVG_WRONG_TYPE_ERR;
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx">         }
</span><span class="cx"> 
</span><del>-        RefPtr&lt;ListItemTearOff&gt; newItem = passNewItem;
</del><span class="cx">         ASSERT(m_values-&gt;size() == m_wrappers-&gt;size());
</span><span class="cx"> 
</span><span class="cx">         // Spec: If newItem is already in a list, it is removed from its previous list before it is inserted into this list.
</span><span class="lines">@@ -431,7 +427,7 @@
</span><span class="cx">         m_wrappers-&gt;append(newItem);
</span><span class="cx"> 
</span><span class="cx">         commitChange(ListModificationAppend);
</span><del>-        return newItem.release();
</del><ins>+        return newItem;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     PropertyType&amp; values()
</span></span></pre></div>
<a id="trunkSourceWebCoresvgpropertiesSVGListPropertyTearOffh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/properties/SVGListPropertyTearOff.h (181344 => 181345)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/properties/SVGListPropertyTearOff.h        2015-03-10 20:36:08 UTC (rev 181344)
+++ trunk/Source/WebCore/svg/properties/SVGListPropertyTearOff.h        2015-03-10 20:39:50 UTC (rev 181345)
</span><span class="lines">@@ -32,7 +32,7 @@
</span><span class="cx"> 
</span><span class="cx">     typedef typename SVGPropertyTraits&lt;PropertyType&gt;::ListItemType ListItemType;
</span><span class="cx">     typedef SVGPropertyTearOff&lt;ListItemType&gt; ListItemTearOff;
</span><del>-    typedef PassRefPtr&lt;ListItemTearOff&gt; PassListItemTearOff;
</del><ins>+    typedef RefPtr&lt;ListItemTearOff&gt; PtrListItemTearOff;
</ins><span class="cx">     typedef SVGAnimatedListPropertyTearOff&lt;PropertyType&gt; AnimatedListPropertyTearOff;
</span><span class="cx">     typedef typename SVGAnimatedListPropertyTearOff&lt;PropertyType&gt;::ListWrapperCache ListWrapperCache;
</span><span class="cx"> 
</span><span class="lines">@@ -40,10 +40,10 @@
</span><span class="cx">     using Base::m_values;
</span><span class="cx">     using Base::m_wrappers;
</span><span class="cx"> 
</span><del>-    static PassRefPtr&lt;Self&gt; create(AnimatedListPropertyTearOff* animatedProperty, SVGPropertyRole role, PropertyType&amp; values, ListWrapperCache&amp; wrappers)
</del><ins>+    static Ref&lt;Self&gt; create(AnimatedListPropertyTearOff* animatedProperty, SVGPropertyRole role, PropertyType&amp; values, ListWrapperCache&amp; wrappers)
</ins><span class="cx">     {
</span><span class="cx">         ASSERT(animatedProperty);
</span><del>-        return adoptRef(new Self(animatedProperty, role, values, wrappers));
</del><ins>+        return adoptRef(*new Self(animatedProperty, role, values, wrappers));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     int findItem(ListItemTearOff* item) const
</span><span class="lines">@@ -83,34 +83,34 @@
</span><span class="cx">         Base::clearValuesAndWrappers(ec);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    PassListItemTearOff initialize(PassListItemTearOff passNewItem, ExceptionCode&amp; ec)
</del><ins>+    PtrListItemTearOff initialize(PtrListItemTearOff newItem, ExceptionCode&amp; ec)
</ins><span class="cx">     {
</span><del>-        return Base::initializeValuesAndWrappers(passNewItem, ec);
</del><ins>+        return Base::initializeValuesAndWrappers(newItem, ec);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    PassListItemTearOff getItem(unsigned index, ExceptionCode&amp; ec)
</del><ins>+    PtrListItemTearOff getItem(unsigned index, ExceptionCode&amp; ec)
</ins><span class="cx">     {
</span><span class="cx">         return Base::getItemValuesAndWrappers(m_animatedProperty.get(), index, ec);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    PassListItemTearOff insertItemBefore(PassListItemTearOff passNewItem, unsigned index, ExceptionCode&amp; ec)
</del><ins>+    PtrListItemTearOff insertItemBefore(PtrListItemTearOff newItem, unsigned index, ExceptionCode&amp; ec)
</ins><span class="cx">     {
</span><del>-        return Base::insertItemBeforeValuesAndWrappers(passNewItem, index, ec);
</del><ins>+        return Base::insertItemBeforeValuesAndWrappers(newItem, index, ec);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    PassListItemTearOff replaceItem(PassListItemTearOff passNewItem, unsigned index, ExceptionCode&amp; ec)
</del><ins>+    PtrListItemTearOff replaceItem(PtrListItemTearOff newItem, unsigned index, ExceptionCode&amp; ec)
</ins><span class="cx">     {
</span><del>-        return Base::replaceItemValuesAndWrappers(passNewItem, index, ec);
</del><ins>+        return Base::replaceItemValuesAndWrappers(newItem, index, ec);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    PassListItemTearOff removeItem(unsigned index, ExceptionCode&amp; ec)
</del><ins>+    PtrListItemTearOff removeItem(unsigned index, ExceptionCode&amp; ec)
</ins><span class="cx">     {
</span><span class="cx">         return Base::removeItemValuesAndWrappers(m_animatedProperty.get(), index, ec);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    PassListItemTearOff appendItem(PassListItemTearOff passNewItem, ExceptionCode&amp; ec)
</del><ins>+    PtrListItemTearOff appendItem(PtrListItemTearOff newItem, ExceptionCode&amp; ec)
</ins><span class="cx">     {
</span><del>-        return Base::appendItemValuesAndWrappers(passNewItem, ec);
</del><ins>+        return Base::appendItemValuesAndWrappers(newItem, ec);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> protected:
</span></span></pre></div>
<a id="trunkSourceWebCoresvgpropertiesSVGPathSegListPropertyTearOffcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/properties/SVGPathSegListPropertyTearOff.cpp (181344 => 181345)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/properties/SVGPathSegListPropertyTearOff.cpp        2015-03-10 20:36:08 UTC (rev 181344)
+++ trunk/Source/WebCore/svg/properties/SVGPathSegListPropertyTearOff.cpp        2015-03-10 20:39:50 UTC (rev 181345)
</span><span class="lines">@@ -47,20 +47,20 @@
</span><span class="cx">     SVGPathSegListPropertyTearOff::Base::clearValues(ec);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-SVGPathSegListPropertyTearOff::PassListItemType SVGPathSegListPropertyTearOff::getItem(unsigned index, ExceptionCode&amp; ec)
</del><ins>+SVGPathSegListPropertyTearOff::PtrListItemType SVGPathSegListPropertyTearOff::getItem(unsigned index, ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><span class="cx">     ListItemType returnedItem = Base::getItemValues(index, ec);
</span><span class="cx">     if (returnedItem) {
</span><span class="cx">         ASSERT(static_cast&lt;SVGPathSegWithContext*&gt;(returnedItem.get())-&gt;contextElement() == contextElement());
</span><span class="cx">         ASSERT(static_cast&lt;SVGPathSegWithContext*&gt;(returnedItem.get())-&gt;role() == m_pathSegRole);
</span><span class="cx">     }
</span><del>-    return returnedItem.release();
</del><ins>+    return returnedItem;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-SVGPathSegListPropertyTearOff::PassListItemType SVGPathSegListPropertyTearOff::replaceItem(PassListItemType passNewItem, unsigned index, ExceptionCode&amp; ec)
</del><ins>+SVGPathSegListPropertyTearOff::PtrListItemType SVGPathSegListPropertyTearOff::replaceItem(PtrListItemType newItem, unsigned index, ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><span class="cx">     // Not specified, but FF/Opera do it this way, and it's just sane.
</span><del>-    if (!passNewItem) {
</del><ins>+    if (!newItem) {
</ins><span class="cx">         ec = SVGException::SVG_WRONG_TYPE_ERR;
</span><span class="cx">         return 0;
</span><span class="cx">     }
</span><span class="lines">@@ -71,16 +71,15 @@
</span><span class="cx">         static_cast&lt;SVGPathSegWithContext*&gt;(replacedItem.get())-&gt;setContextAndRole(0, PathSegUndefinedRole);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    ListItemType newItem = passNewItem;
</del><span class="cx">     return Base::replaceItemValues(newItem, index, ec);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-SVGPathSegListPropertyTearOff::PassListItemType SVGPathSegListPropertyTearOff::removeItem(unsigned index, ExceptionCode&amp; ec)
</del><ins>+SVGPathSegListPropertyTearOff::PtrListItemType SVGPathSegListPropertyTearOff::removeItem(unsigned index, ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><span class="cx">     SVGPathSegListPropertyTearOff::ListItemType removedItem = SVGPathSegListPropertyTearOff::Base::removeItemValues(index, ec);
</span><span class="cx">     if (removedItem)
</span><span class="cx">         static_cast&lt;SVGPathSegWithContext*&gt;(removedItem.get())-&gt;setContextAndRole(0, PathSegUndefinedRole);
</span><del>-    return removedItem.release();
</del><ins>+    return removedItem;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> SVGPathElement* SVGPathSegListPropertyTearOff::contextElement() const
</span></span></pre></div>
<a id="trunkSourceWebCoresvgpropertiesSVGPathSegListPropertyTearOffh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/properties/SVGPathSegListPropertyTearOff.h (181344 => 181345)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/properties/SVGPathSegListPropertyTearOff.h        2015-03-10 20:36:08 UTC (rev 181344)
+++ trunk/Source/WebCore/svg/properties/SVGPathSegListPropertyTearOff.h        2015-03-10 20:39:50 UTC (rev 181345)
</span><span class="lines">@@ -32,12 +32,12 @@
</span><span class="cx">     typedef SVGListProperty&lt;SVGPathSegList&gt; Base;
</span><span class="cx">     typedef SVGAnimatedListPropertyTearOff&lt;SVGPathSegList&gt; AnimatedListPropertyTearOff;
</span><span class="cx">     typedef SVGPropertyTraits&lt;SVGPathSegList&gt;::ListItemType ListItemType;
</span><del>-    typedef PassRefPtr&lt;SVGPathSeg&gt; PassListItemType;
</del><ins>+    typedef RefPtr&lt;SVGPathSeg&gt; PtrListItemType;
</ins><span class="cx"> 
</span><del>-    static PassRefPtr&lt;SVGPathSegListPropertyTearOff&gt; create(AnimatedListPropertyTearOff* animatedProperty, SVGPropertyRole role, SVGPathSegRole pathSegRole, SVGPathSegList&amp; values, ListWrapperCache&amp; wrappers)
</del><ins>+    static Ref&lt;SVGPathSegListPropertyTearOff&gt; create(AnimatedListPropertyTearOff* animatedProperty, SVGPropertyRole role, SVGPathSegRole pathSegRole, SVGPathSegList&amp; values, ListWrapperCache&amp; wrappers)
</ins><span class="cx">     {
</span><span class="cx">         ASSERT(animatedProperty);
</span><del>-        return adoptRef(new SVGPathSegListPropertyTearOff(animatedProperty, role, pathSegRole, values, wrappers));
</del><ins>+        return adoptRef(*new SVGPathSegListPropertyTearOff(animatedProperty, role, pathSegRole, values, wrappers));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     int findItem(const ListItemType&amp; item) const
</span><span class="lines">@@ -67,46 +67,43 @@
</span><span class="cx">     // SVGList API
</span><span class="cx">     void clear(ExceptionCode&amp;);
</span><span class="cx"> 
</span><del>-    PassListItemType initialize(PassListItemType passNewItem, ExceptionCode&amp; ec)
</del><ins>+    PtrListItemType initialize(PtrListItemType newItem, ExceptionCode&amp; ec)
</ins><span class="cx">     {
</span><span class="cx">         // Not specified, but FF/Opera do it this way, and it's just sane.
</span><del>-        if (!passNewItem) {
</del><ins>+        if (!newItem) {
</ins><span class="cx">             ec = SVGException::SVG_WRONG_TYPE_ERR;
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         clearContextAndRoles();
</span><del>-        ListItemType newItem = passNewItem;
</del><span class="cx">         return Base::initializeValues(newItem, ec);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    PassListItemType getItem(unsigned index, ExceptionCode&amp;);
</del><ins>+    PtrListItemType getItem(unsigned index, ExceptionCode&amp;);
</ins><span class="cx"> 
</span><del>-    PassListItemType insertItemBefore(PassListItemType passNewItem, unsigned index, ExceptionCode&amp; ec)
</del><ins>+    PtrListItemType insertItemBefore(PtrListItemType newItem, unsigned index, ExceptionCode&amp; ec)
</ins><span class="cx">     {
</span><span class="cx">         // Not specified, but FF/Opera do it this way, and it's just sane.
</span><del>-        if (!passNewItem) {
</del><ins>+        if (!newItem) {
</ins><span class="cx">             ec = SVGException::SVG_WRONG_TYPE_ERR;
</span><span class="cx">             return 0;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        ListItemType newItem = passNewItem;
</del><span class="cx">         return Base::insertItemBeforeValues(newItem, index, ec);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    PassListItemType replaceItem(PassListItemType, unsigned index, ExceptionCode&amp;);
</del><ins>+    PtrListItemType replaceItem(PtrListItemType, unsigned index, ExceptionCode&amp;);
</ins><span class="cx"> 
</span><del>-    PassListItemType removeItem(unsigned index, ExceptionCode&amp;);
</del><ins>+    PtrListItemType removeItem(unsigned index, ExceptionCode&amp;);
</ins><span class="cx"> 
</span><del>-    PassListItemType appendItem(PassListItemType passNewItem, ExceptionCode&amp; ec)
</del><ins>+    PtrListItemType appendItem(PtrListItemType newItem, ExceptionCode&amp; ec)
</ins><span class="cx">     {
</span><span class="cx">         // Not specified, but FF/Opera do it this way, and it's just sane.
</span><del>-        if (!passNewItem) {
</del><ins>+        if (!newItem) {
</ins><span class="cx">             ec = SVGException::SVG_WRONG_TYPE_ERR;
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx">         }
</span><span class="cx"> 
</span><del>-        ListItemType newItem = passNewItem;
</del><span class="cx">         return Base::appendItemValues(newItem, ec);
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgpropertiesSVGPropertyInfoh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/properties/SVGPropertyInfo.h (181344 => 181345)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/properties/SVGPropertyInfo.h        2015-03-10 20:36:08 UTC (rev 181344)
+++ trunk/Source/WebCore/svg/properties/SVGPropertyInfo.h        2015-03-10 20:39:50 UTC (rev 181345)
</span><span class="lines">@@ -58,7 +58,7 @@
</span><span class="cx">     WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><span class="cx">     typedef void (*SynchronizeProperty)(SVGElement*);
</span><del>-    typedef PassRefPtr&lt;SVGAnimatedProperty&gt; (*LookupOrCreateWrapperForAnimatedProperty)(SVGElement*);
</del><ins>+    typedef Ref&lt;SVGAnimatedProperty&gt; (*LookupOrCreateWrapperForAnimatedProperty)(SVGElement*);
</ins><span class="cx"> 
</span><span class="cx">     SVGPropertyInfo(AnimatedPropertyType newType, AnimatedPropertyState newState, const QualifiedName&amp; newAttributeName,
</span><span class="cx">                     const AtomicString&amp; newPropertyIdentifier, SynchronizeProperty newSynchronizeProperty,
</span></span></pre></div>
<a id="trunkSourceWebCoresvgpropertiesSVGStaticListPropertyTearOffh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/properties/SVGStaticListPropertyTearOff.h (181344 => 181345)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/properties/SVGStaticListPropertyTearOff.h        2015-03-10 20:36:08 UTC (rev 181344)
+++ trunk/Source/WebCore/svg/properties/SVGStaticListPropertyTearOff.h        2015-03-10 20:39:50 UTC (rev 181345)
</span><span class="lines">@@ -35,9 +35,9 @@
</span><span class="cx">     using Base::m_role;
</span><span class="cx">     using Base::m_values;
</span><span class="cx"> 
</span><del>-    static PassRefPtr&lt;SVGStaticListPropertyTearOff&lt;PropertyType&gt;&gt; create(SVGElement&amp; contextElement, PropertyType&amp; values)
</del><ins>+    static Ref&lt;SVGStaticListPropertyTearOff&lt;PropertyType&gt;&gt; create(SVGElement&amp; contextElement, PropertyType&amp; values)
</ins><span class="cx">     {
</span><del>-        return adoptRef(new SVGStaticListPropertyTearOff&lt;PropertyType&gt;(&amp;contextElement, values));
</del><ins>+        return adoptRef(*new SVGStaticListPropertyTearOff&lt;PropertyType&gt;(&amp;contextElement, values));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // SVGList API
</span></span></pre></div>
<a id="trunkSourceWebCoresvgpropertiesSVGStaticPropertyTearOffh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/properties/SVGStaticPropertyTearOff.h (181344 => 181345)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/properties/SVGStaticPropertyTearOff.h        2015-03-10 20:36:08 UTC (rev 181344)
+++ trunk/Source/WebCore/svg/properties/SVGStaticPropertyTearOff.h        2015-03-10 20:39:50 UTC (rev 181345)
</span><span class="lines">@@ -37,9 +37,9 @@
</span><span class="cx"> 
</span><span class="cx">     // Used for non-animated POD types that are not associated with a SVGAnimatedProperty object, nor with a XML DOM attribute
</span><span class="cx">     // (for example: SVGSVGElement::currentTranslate).
</span><del>-    static PassRefPtr&lt;Self&gt; create(ContextElement&amp; contextElement, PropertyType&amp; value, UpdateMethod update)
</del><ins>+    static Ref&lt;Self&gt; create(ContextElement&amp; contextElement, PropertyType&amp; value, UpdateMethod update)
</ins><span class="cx">     {
</span><del>-        return adoptRef(new Self(&amp;contextElement, value, update));
</del><ins>+        return adoptRef(*new Self(&amp;contextElement, value, update));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     virtual void commitChange() { (m_contextElement.get()-&gt;*m_update)(); }
</span></span></pre></div>
<a id="trunkSourceWebCoresvgpropertiesSVGTransformListPropertyTearOffh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/properties/SVGTransformListPropertyTearOff.h (181344 => 181345)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/properties/SVGTransformListPropertyTearOff.h        2015-03-10 20:36:08 UTC (rev 181344)
+++ trunk/Source/WebCore/svg/properties/SVGTransformListPropertyTearOff.h        2015-03-10 20:39:50 UTC (rev 181345)
</span><span class="lines">@@ -31,41 +31,41 @@
</span><span class="cx">     typedef SVGAnimatedListPropertyTearOff&lt;SVGTransformList&gt; AnimatedListPropertyTearOff;
</span><span class="cx">     typedef SVGAnimatedListPropertyTearOff&lt;SVGTransformList&gt;::ListWrapperCache ListWrapperCache;
</span><span class="cx"> 
</span><del>-    static PassRefPtr&lt;SVGListPropertyTearOff&lt;SVGTransformList&gt;&gt; create(AnimatedListPropertyTearOff* animatedProperty, SVGPropertyRole role, SVGTransformList&amp; values, ListWrapperCache&amp; wrappers)
</del><ins>+    static Ref&lt;SVGListPropertyTearOff&lt;SVGTransformList&gt;&gt; create(AnimatedListPropertyTearOff* animatedProperty, SVGPropertyRole role, SVGTransformList&amp; values, ListWrapperCache&amp; wrappers)
</ins><span class="cx">     {
</span><span class="cx">         ASSERT(animatedProperty);
</span><del>-        return adoptRef(new SVGTransformListPropertyTearOff(animatedProperty, role, values, wrappers));
</del><ins>+        return adoptRef(*new SVGTransformListPropertyTearOff(animatedProperty, role, values, wrappers));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    PassRefPtr&lt;SVGPropertyTearOff&lt;SVGTransform&gt;&gt; createSVGTransformFromMatrix(SVGPropertyTearOff&lt;SVGMatrix&gt;* matrix, ExceptionCode&amp; ec)
</del><ins>+    RefPtr&lt;SVGPropertyTearOff&lt;SVGTransform&gt;&gt; createSVGTransformFromMatrix(SVGPropertyTearOff&lt;SVGMatrix&gt;* matrix, ExceptionCode&amp; ec)
</ins><span class="cx">     {
</span><span class="cx">         ASSERT(m_values);
</span><span class="cx">         if (!matrix) {
</span><span class="cx">             ec = TYPE_MISMATCH_ERR;
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx">         }
</span><span class="cx">         return SVGPropertyTearOff&lt;SVGTransform&gt;::create(m_values-&gt;createSVGTransformFromMatrix(matrix-&gt;propertyReference()));
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    PassRefPtr&lt;SVGPropertyTearOff&lt;SVGTransform&gt;&gt; consolidate(ExceptionCode&amp; ec)
</del><ins>+    RefPtr&lt;SVGPropertyTearOff&lt;SVGTransform&gt;&gt; consolidate(ExceptionCode&amp; ec)
</ins><span class="cx">     {
</span><span class="cx">         ASSERT(m_values);
</span><span class="cx">         ASSERT(m_wrappers);
</span><span class="cx">         if (!canAlterList(ec))
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx"> 
</span><span class="cx">         ASSERT(m_values-&gt;size() == m_wrappers-&gt;size());
</span><span class="cx"> 
</span><span class="cx">         // Spec: If the list was empty, then a value of null is returned.
</span><span class="cx">         if (m_values-&gt;isEmpty())
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx"> 
</span><span class="cx">         detachListWrappers(0);
</span><span class="cx">         RefPtr&lt;SVGPropertyTearOff&lt;SVGTransform&gt;&gt; wrapper = SVGPropertyTearOff&lt;SVGTransform&gt;::create(m_values-&gt;consolidate());
</span><span class="cx">         m_wrappers-&gt;append(wrapper);
</span><span class="cx"> 
</span><span class="cx">         ASSERT(m_values-&gt;size() == m_wrappers-&gt;size());
</span><del>-        return wrapper.release();
</del><ins>+        return wrapper;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span></span></pre>
</div>
</div>

</body>
</html>