<!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>[179555] trunk/Source/WebCore</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/179555">179555</a></dd>
<dt>Author</dt> <dd>commit-queue@webkit.org</dd>
<dt>Date</dt> <dd>2015-02-03 10:28:28 -0800 (Tue, 03 Feb 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Unreviewed, rolling out <a href="http://trac.webkit.org/projects/webkit/changeset/179548">r179548</a>.
https://bugs.webkit.org/show_bug.cgi?id=141201

Hits debug assertions in 50+ SVG tests (Requested by brrian on
#webkit).

Reverted changeset:

&quot;Move InstanceInvalidationGuard/UpdateBlocker to SVGElement
from SVGElementInstance&quot;
https://bugs.webkit.org/show_bug.cgi?id=141148
http://trac.webkit.org/changeset/179548</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoresvgSVGAElementcpp">trunk/Source/WebCore/svg/SVGAElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGAnimateElementBasecpp">trunk/Source/WebCore/svg/SVGAnimateElementBase.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGAnimatedPathcpp">trunk/Source/WebCore/svg/SVGAnimatedPath.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGAnimatedTypeAnimatorcpp">trunk/Source/WebCore/svg/SVGAnimatedTypeAnimator.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGAnimatedTypeAnimatorh">trunk/Source/WebCore/svg/SVGAnimatedTypeAnimator.h</a></li>
<li><a href="#trunkSourceWebCoresvgSVGCircleElementcpp">trunk/Source/WebCore/svg/SVGCircleElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGClipPathElementcpp">trunk/Source/WebCore/svg/SVGClipPathElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGComponentTransferFunctionElementcpp">trunk/Source/WebCore/svg/SVGComponentTransferFunctionElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGCursorElementcpp">trunk/Source/WebCore/svg/SVGCursorElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGElementcpp">trunk/Source/WebCore/svg/SVGElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGElementh">trunk/Source/WebCore/svg/SVGElement.h</a></li>
<li><a href="#trunkSourceWebCoresvgSVGElementInstancecpp">trunk/Source/WebCore/svg/SVGElementInstance.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGElementInstanceh">trunk/Source/WebCore/svg/SVGElementInstance.h</a></li>
<li><a href="#trunkSourceWebCoresvgSVGEllipseElementcpp">trunk/Source/WebCore/svg/SVGEllipseElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFEBlendElementcpp">trunk/Source/WebCore/svg/SVGFEBlendElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFEColorMatrixElementcpp">trunk/Source/WebCore/svg/SVGFEColorMatrixElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFECompositeElementcpp">trunk/Source/WebCore/svg/SVGFECompositeElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFEConvolveMatrixElementcpp">trunk/Source/WebCore/svg/SVGFEConvolveMatrixElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFEDiffuseLightingElementcpp">trunk/Source/WebCore/svg/SVGFEDiffuseLightingElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFEDisplacementMapElementcpp">trunk/Source/WebCore/svg/SVGFEDisplacementMapElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFEDropShadowElementcpp">trunk/Source/WebCore/svg/SVGFEDropShadowElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFEGaussianBlurElementcpp">trunk/Source/WebCore/svg/SVGFEGaussianBlurElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFEImageElementcpp">trunk/Source/WebCore/svg/SVGFEImageElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFELightElementcpp">trunk/Source/WebCore/svg/SVGFELightElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFEMergeNodeElementcpp">trunk/Source/WebCore/svg/SVGFEMergeNodeElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFEMorphologyElementcpp">trunk/Source/WebCore/svg/SVGFEMorphologyElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFEOffsetElementcpp">trunk/Source/WebCore/svg/SVGFEOffsetElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFESpecularLightingElementcpp">trunk/Source/WebCore/svg/SVGFESpecularLightingElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFETileElementcpp">trunk/Source/WebCore/svg/SVGFETileElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFETurbulenceElementcpp">trunk/Source/WebCore/svg/SVGFETurbulenceElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFilterElementcpp">trunk/Source/WebCore/svg/SVGFilterElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFilterPrimitiveStandardAttributescpp">trunk/Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGForeignObjectElementcpp">trunk/Source/WebCore/svg/SVGForeignObjectElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGGElementcpp">trunk/Source/WebCore/svg/SVGGElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGGradientElementcpp">trunk/Source/WebCore/svg/SVGGradientElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGGraphicsElementcpp">trunk/Source/WebCore/svg/SVGGraphicsElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGImageElementcpp">trunk/Source/WebCore/svg/SVGImageElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGLineElementcpp">trunk/Source/WebCore/svg/SVGLineElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGLinearGradientElementcpp">trunk/Source/WebCore/svg/SVGLinearGradientElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGMPathElementcpp">trunk/Source/WebCore/svg/SVGMPathElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGMarkerElementcpp">trunk/Source/WebCore/svg/SVGMarkerElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGMaskElementcpp">trunk/Source/WebCore/svg/SVGMaskElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPathElementcpp">trunk/Source/WebCore/svg/SVGPathElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPatternElementcpp">trunk/Source/WebCore/svg/SVGPatternElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPolyElementcpp">trunk/Source/WebCore/svg/SVGPolyElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGRadialGradientElementcpp">trunk/Source/WebCore/svg/SVGRadialGradientElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGRectElementcpp">trunk/Source/WebCore/svg/SVGRectElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGSVGElementcpp">trunk/Source/WebCore/svg/SVGSVGElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGScriptElementcpp">trunk/Source/WebCore/svg/SVGScriptElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGStopElementcpp">trunk/Source/WebCore/svg/SVGStopElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGSymbolElementcpp">trunk/Source/WebCore/svg/SVGSymbolElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGTRefElementcpp">trunk/Source/WebCore/svg/SVGTRefElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGTextContentElementcpp">trunk/Source/WebCore/svg/SVGTextContentElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGTextPathElementcpp">trunk/Source/WebCore/svg/SVGTextPathElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGTextPositioningElementcpp">trunk/Source/WebCore/svg/SVGTextPositioningElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGUseElementcpp">trunk/Source/WebCore/svg/SVGUseElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvganimationSVGSMILElementcpp">trunk/Source/WebCore/svg/animation/SVGSMILElement.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/ChangeLog        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -1,3 +1,18 @@
</span><ins>+2015-02-03  Commit Queue  &lt;commit-queue@webkit.org&gt;
+
+        Unreviewed, rolling out r179548.
+        https://bugs.webkit.org/show_bug.cgi?id=141201
+
+        Hits debug assertions in 50+ SVG tests (Requested by brrian on
+        #webkit).
+
+        Reverted changeset:
+
+        &quot;Move InstanceInvalidationGuard/UpdateBlocker to SVGElement
+        from SVGElementInstance&quot;
+        https://bugs.webkit.org/show_bug.cgi?id=141148
+        http://trac.webkit.org/changeset/179548
+
</ins><span class="cx"> 2015-02-03  Jer Noble  &lt;jer.noble@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [Mac] HLS audio is not correctly selected according to system language
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGAElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGAElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGAElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGAElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -126,7 +126,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx"> 
</span><span class="cx">     // Unlike other SVG*Element classes, SVGAElement only listens to SVGURIReference changes
</span><span class="cx">     // as none of the other properties changes the linking behaviour for our &lt;a&gt; element.
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGAnimateElementBasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGAnimateElementBase.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGAnimateElementBase.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGAnimateElementBase.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -258,7 +258,7 @@
</span><span class="cx"> 
</span><span class="cx">     CSSPropertyID id = cssPropertyID(attributeName.localName());
</span><span class="cx"> 
</span><del>-    SVGElement::InstanceUpdateBlocker blocker(targetElement);
</del><ins>+    SVGElementInstance::InstanceUpdateBlocker blocker(&amp;targetElement);
</ins><span class="cx">     applyCSSPropertyToTarget(targetElement, id, valueAsString);
</span><span class="cx"> 
</span><span class="cx">     // If the target element has instances, update them as well, w/o requiring the &lt;use&gt; tree to be rebuilt.
</span><span class="lines">@@ -274,7 +274,7 @@
</span><span class="cx"> 
</span><span class="cx">     CSSPropertyID id = cssPropertyID(attributeName.localName());
</span><span class="cx"> 
</span><del>-    SVGElement::InstanceUpdateBlocker blocker(targetElement);
</del><ins>+    SVGElementInstance::InstanceUpdateBlocker blocker(&amp;targetElement);
</ins><span class="cx">     removeCSSPropertyFromTarget(targetElement, id);
</span><span class="cx"> 
</span><span class="cx">     // If the target element has instances, update them as well, w/o requiring the &lt;use&gt; tree to be rebuilt.
</span><span class="lines">@@ -293,7 +293,7 @@
</span><span class="cx">     if (attributeName == anyQName() || !targetElement.inDocument() || !targetElement.parentNode())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    SVGElement::InstanceUpdateBlocker blocker(targetElement);
</del><ins>+    SVGElementInstance::InstanceUpdateBlocker blocker(&amp;targetElement);
</ins><span class="cx">     notifyTargetAboutAnimValChange(targetElement, attributeName);
</span><span class="cx"> 
</span><span class="cx">     // If the target element has instances, update them as well, w/o requiring the &lt;use&gt; tree to be rebuilt.
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGAnimatedPathcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGAnimatedPath.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGAnimatedPath.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGAnimatedPath.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -54,7 +54,7 @@
</span><span class="cx">     for (SVGElementAnimatedPropertyList::const_iterator it = animatedTypes.begin(); it != end; ++it)
</span><span class="cx">         result.append(castAnimatedPropertyToActualType&lt;SVGAnimatedPathSegListPropertyTearOff&gt;(it-&gt;properties[0].get()));
</span><span class="cx"> 
</span><del>-    SVGElement::InstanceUpdateBlocker blocker(*property-&gt;contextElement());
</del><ins>+    SVGElementInstance::InstanceUpdateBlocker blocker(property-&gt;contextElement());
</ins><span class="cx"> 
</span><span class="cx">     size_t resultSize = result.size();
</span><span class="cx">     for (size_t i = 0; i &lt; resultSize; ++i)
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGAnimatedTypeAnimatorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGAnimatedTypeAnimator.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGAnimatedTypeAnimator.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGAnimatedTypeAnimator.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -83,9 +83,4 @@
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void SVGAnimatedTypeAnimator::setInstanceUpdatesBlocked(SVGElement&amp; element, bool blocked)
-{
-    element.setInstanceUpdatesBlocked(blocked);
-}
-
</del><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGAnimatedTypeAnimatorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGAnimatedTypeAnimator.h (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGAnimatedTypeAnimator.h        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGAnimatedTypeAnimator.h        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -189,8 +189,7 @@
</span><span class="cx">     template&lt;typename AnimValType&gt;
</span><span class="cx">     void executeAction(AnimationAction action, const SVGElementAnimatedPropertyList&amp; animatedTypes, unsigned whichProperty, typename AnimValType::ContentType* type = 0)
</span><span class="cx">     {
</span><del>-        // FIXME: Can't use SVGElement::InstanceUpdateBlocker because of circular header dependency. Would be nice to untangle this.
-        setInstanceUpdatesBlocked(*animatedTypes[0].element, true);
</del><ins>+        SVGElementInstance::InstanceUpdateBlocker blocker(animatedTypes[0].element);
</ins><span class="cx"> 
</span><span class="cx">         SVGElementAnimatedPropertyList::const_iterator end = animatedTypes.end();
</span><span class="cx">         for (SVGElementAnimatedPropertyList::const_iterator it = animatedTypes.begin(); it != end; ++it) {
</span><span class="lines">@@ -217,11 +216,7 @@
</span><span class="cx">                 break;
</span><span class="cx">             }
</span><span class="cx">         }
</span><del>-
-        setInstanceUpdatesBlocked(*animatedTypes[0].element, false);
</del><span class="cx">     }
</span><del>-
-    static void setInstanceUpdatesBlocked(SVGElement&amp;, bool);
</del><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGCircleElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGCircleElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGCircleElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGCircleElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -104,7 +104,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx"> 
</span><span class="cx">     if (attrName == SVGNames::cxAttr
</span><span class="cx">         || attrName == SVGNames::cyAttr
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGClipPathElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGClipPathElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGClipPathElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGClipPathElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -96,7 +96,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx"> 
</span><span class="cx">     if (RenderObject* object = renderer())
</span><span class="cx">         object-&gt;setNeedsLayout();
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGComponentTransferFunctionElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGComponentTransferFunctionElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGComponentTransferFunctionElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGComponentTransferFunctionElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -131,7 +131,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx"> 
</span><span class="cx">     invalidateFilterPrimitiveParent(this);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGCursorElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGCursorElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGCursorElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGCursorElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -121,7 +121,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx"> 
</span><span class="cx">     // Any change of a cursor specific attribute triggers this recalc.
</span><span class="cx">     HashSet&lt;SVGElement*&gt;::const_iterator it = m_clients.begin();
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -392,7 +392,7 @@
</span><span class="cx">         document().accessSVGExtensions().clearTargetDependencies(*this);
</span><span class="cx">         document().accessSVGExtensions().removeAllElementReferencesForTarget(this);
</span><span class="cx">     }
</span><del>-    invalidateInstances();
</del><ins>+    SVGElementInstance::invalidateAllInstancesOfElement(this);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> SVGSVGElement* SVGElement::ownerSVGElement() const
</span><span class="lines">@@ -713,7 +713,7 @@
</span><span class="cx"> 
</span><span class="cx">     // Notify all the elements which have references to this element to rebuild their shadow and render
</span><span class="cx">     // trees, e.g. a &lt;use&gt; element references a target element before this target element is defined.
</span><del>-    invalidateInstances();
</del><ins>+    SVGElementInstance::invalidateAllInstancesOfElement(this);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool SVGElement::childShouldCreateRenderer(const Node&amp; child) const
</span><span class="lines">@@ -1044,13 +1044,13 @@
</span><span class="cx"> {
</span><span class="cx">     CSSPropertyID propId = cssPropertyIdForSVGAttributeName(attrName);
</span><span class="cx">     if (propId &gt; 0) {
</span><del>-        invalidateInstances();
</del><ins>+        SVGElementInstance::invalidateAllInstancesOfElement(this);
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (attrName == HTMLNames::classAttr) {
</span><span class="cx">         classAttributeChanged(className());
</span><del>-        invalidateInstances();
</del><ins>+        SVGElementInstance::invalidateAllInstancesOfElement(this);
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -1061,7 +1061,7 @@
</span><span class="cx">             downcast&lt;RenderSVGResourceContainer&gt;(*renderer).idChanged();
</span><span class="cx">         if (inDocument())
</span><span class="cx">             buildPendingResourcesIfNeeded();
</span><del>-        invalidateInstances();
</del><ins>+        SVGElementInstance::invalidateAllInstancesOfElement(this);
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="lines">@@ -1103,7 +1103,7 @@
</span><span class="cx"> 
</span><span class="cx">     if (change.source == ChildChangeSourceParser)
</span><span class="cx">         return;
</span><del>-    invalidateInstances();
</del><ins>+    SVGElementInstance::invalidateAllInstancesOfElement(this);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> RefPtr&lt;CSSValue&gt; SVGElement::getPresentationAttribute(const String&amp; name)
</span><span class="lines">@@ -1130,10 +1130,6 @@
</span><span class="cx"> 
</span><span class="cx"> void SVGElement::setInstanceUpdatesBlocked(bool value)
</span><span class="cx"> {
</span><del>-    // Catch any callers that calls setInstanceUpdatesBlocked(true) twice in a row.
-    // That probably indicates nested use of InstanceUpdateBlocker and a bug.
-    ASSERT(!value || !instanceUpdatesBlocked());
-
</del><span class="cx">     if (m_svgRareData)
</span><span class="cx">         m_svgRareData-&gt;setInstanceUpdatesBlocked(value);
</span><span class="cx"> }
</span><span class="lines">@@ -1205,30 +1201,4 @@
</span><span class="cx">     dispatchSimulatedClick(0, sendMouseEvents ? SendMouseUpDownEvents : SendNoEvents);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void SVGElement::invalidateInstances()
-{
-    if (!inDocument())
-        return;
-
-    if (instanceUpdatesBlocked())
-        return;
-
-    auto&amp; instances = this-&gt;instances();
-    if (instances.isEmpty())
-        return;
-
-    // Mark all use elements referencing 'element' for rebuilding
-    do {
-        SVGElement* instance = *instances.begin();
-        if (SVGUseElement* element = instance-&gt;correspondingUseElement()) {
-            ASSERT(element-&gt;inDocument());
-            element-&gt;invalidateShadowTree();
-        }
-        instance-&gt;setCorrespondingElement(nullptr);
-    } while (!instances.isEmpty());
-
-    // FIXME: Why is this needed?
-    document().updateStyleIfNeeded();
</del><span class="cx"> }
</span><del>-
-}
</del></span></pre></div>
<a id="trunkSourceWebCoresvgSVGElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGElement.h (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGElement.h        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGElement.h        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -155,8 +155,6 @@
</span><span class="cx"> 
</span><span class="cx">     void callClearTarget() { clearTarget(); }
</span><span class="cx"> 
</span><del>-    class InstanceUpdateBlocker;
-
</del><span class="cx"> protected:
</span><span class="cx">     SVGElement(const QualifiedName&amp;, Document&amp;);
</span><span class="cx">     virtual ~SVGElement();
</span><span class="lines">@@ -185,8 +183,6 @@
</span><span class="cx">     void updateRelativeLengthsInformation() { updateRelativeLengthsInformation(selfHasRelativeLengths(), this); }
</span><span class="cx">     void updateRelativeLengthsInformation(bool hasRelativeLengths, SVGElement*);
</span><span class="cx"> 
</span><del>-    class InstanceInvalidationGuard;
-
</del><span class="cx"> private:
</span><span class="cx">     friend class SVGElementInstance;
</span><span class="cx"> 
</span><span class="lines">@@ -204,8 +200,6 @@
</span><span class="cx">     virtual bool filterOutAnimatableAttribute(const QualifiedName&amp;) const;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    void invalidateInstances();
-
</del><span class="cx">     std::unique_ptr&lt;SVGElementRareData&gt; m_svgRareData;
</span><span class="cx"> 
</span><span class="cx">     HashSet&lt;SVGElement*&gt; m_elementsWithRelativeLengths;
</span><span class="lines">@@ -216,22 +210,6 @@
</span><span class="cx"> 
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-class SVGElement::InstanceInvalidationGuard {
-public:
-    InstanceInvalidationGuard(SVGElement&amp;);
-    ~InstanceInvalidationGuard();
-private:
-    SVGElement&amp; m_element;
-};
-
-class SVGElement::InstanceUpdateBlocker {
-public:
-    InstanceUpdateBlocker(SVGElement&amp;);
-    ~InstanceUpdateBlocker();
-private:
-    SVGElement&amp; m_element;
-};
-
</del><span class="cx"> struct SVGAttributeHashTranslator {
</span><span class="cx">     static unsigned hash(const QualifiedName&amp; key)
</span><span class="cx">     {
</span><span class="lines">@@ -244,28 +222,6 @@
</span><span class="cx">     static bool equal(const QualifiedName&amp; a, const QualifiedName&amp; b) { return a.matches(b); }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-inline SVGElement::InstanceInvalidationGuard::InstanceInvalidationGuard(SVGElement&amp; element)
-    : m_element(element)
-{
-}
-
-inline SVGElement::InstanceInvalidationGuard::~InstanceInvalidationGuard()
-{
-    m_element.invalidateInstances();
-}
-
-inline SVGElement::InstanceUpdateBlocker::InstanceUpdateBlocker(SVGElement&amp; element)
-    : m_element(element)
-{
-    m_element.setInstanceUpdatesBlocked(true);
-}
-
-inline SVGElement::InstanceUpdateBlocker::~InstanceUpdateBlocker()
-{
-    ASSERT(m_element.instanceUpdatesBlocked());
-    m_element.setInstanceUpdatesBlocked(false);
-}
-
</del><span class="cx"> inline bool Node::hasTagName(const SVGQualifiedName&amp; name) const
</span><span class="cx"> {
</span><span class="cx">     return isSVGElement() &amp;&amp; downcast&lt;SVGElement&gt;(*this).hasTagName(name);
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGElementInstancecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGElementInstance.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGElementInstance.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGElementInstance.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -167,6 +167,31 @@
</span><span class="cx">     appendChildToContainer&lt;SVGElementInstance, SVGElementInstance&gt;(child.get(), *this);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+void SVGElementInstance::invalidateAllInstancesOfElement(SVGElement* element)
+{
+    if (!element || !element-&gt;inDocument())
+        return;
+
+    if (element-&gt;instanceUpdatesBlocked())
+        return;
+
+    auto&amp; instances = element-&gt;instances();
+    if (instances.isEmpty())
+        return;
+
+    // Mark all use elements referencing 'element' for rebuilding
+    do {
+        SVGElement* instance = *instances.begin();
+        if (SVGUseElement* element = instance-&gt;correspondingUseElement()) {
+            ASSERT(element-&gt;inDocument());
+            element-&gt;invalidateShadowTree();
+        }
+        instance-&gt;setCorrespondingElement(nullptr);
+    } while (!instances.isEmpty());
+
+    element-&gt;document().updateStyleIfNeeded();
+}
+
</ins><span class="cx"> EventTargetInterface SVGElementInstance::eventTargetInterface() const
</span><span class="cx"> {
</span><span class="cx">     return SVGElementInstanceEventTargetInterfaceType;
</span><span class="lines">@@ -215,4 +240,17 @@
</span><span class="cx">     return *eventTargetData();
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+SVGElementInstance::InstanceUpdateBlocker::InstanceUpdateBlocker(SVGElement* targetElement)
+    : m_targetElement(targetElement)
+{
+    if (m_targetElement)
+        m_targetElement-&gt;setInstanceUpdatesBlocked(true);
</ins><span class="cx"> }
</span><ins>+
+SVGElementInstance::InstanceUpdateBlocker::~InstanceUpdateBlocker()
+{
+    if (m_targetElement)
+        m_targetElement-&gt;setInstanceUpdatesBlocked(false);
+}
+   
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoresvgSVGElementInstanceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGElementInstance.h (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGElementInstance.h        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGElementInstance.h        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -71,6 +71,27 @@
</span><span class="cx"> 
</span><span class="cx">     Document* ownerDocument() const;
</span><span class="cx"> 
</span><ins>+    class InvalidationGuard {
+        WTF_MAKE_NONCOPYABLE(InvalidationGuard);
+    public:    
+        InvalidationGuard(SVGElement* element) : m_element(element) { }
+        ~InvalidationGuard() { SVGElementInstance::invalidateAllInstancesOfElement(m_element); }
+    private:
+        SVGElement* m_element;
+    };
+
+    class InstanceUpdateBlocker {
+        WTF_MAKE_NONCOPYABLE(InstanceUpdateBlocker);
+    public:
+        InstanceUpdateBlocker(SVGElement* targetElement);
+        ~InstanceUpdateBlocker();
+
+    private:
+        SVGElement* m_targetElement;
+    };
+    
+    static void invalidateAllInstancesOfElement(SVGElement*);
+
</ins><span class="cx">     using TreeShared&lt;SVGElementInstance&gt;::ref;
</span><span class="cx">     using TreeShared&lt;SVGElementInstance&gt;::deref;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGEllipseElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGEllipseElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGEllipseElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGEllipseElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -108,7 +108,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx"> 
</span><span class="cx">     if (attrName == SVGNames::cxAttr
</span><span class="cx">         || attrName == SVGNames::cyAttr
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFEBlendElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFEBlendElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFEBlendElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGFEBlendElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -111,7 +111,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx"> 
</span><span class="cx">     if (attrName == SVGNames::modeAttr) {
</span><span class="cx">         primitiveAttributeChanged(attrName);
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFEColorMatrixElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFEColorMatrixElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFEColorMatrixElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGFEColorMatrixElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -115,7 +115,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx"> 
</span><span class="cx">     if (attrName == SVGNames::typeAttr || attrName == SVGNames::valuesAttr) {
</span><span class="cx">         primitiveAttributeChanged(attrName);
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFECompositeElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFECompositeElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFECompositeElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGFECompositeElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -151,7 +151,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx"> 
</span><span class="cx">     if (attrName == SVGNames::operatorAttr
</span><span class="cx">         || attrName == SVGNames::k1Attr
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFEConvolveMatrixElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFEConvolveMatrixElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFEConvolveMatrixElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGFEConvolveMatrixElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -257,7 +257,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx"> 
</span><span class="cx">     if (attrName == SVGNames::edgeModeAttr
</span><span class="cx">         || attrName == SVGNames::divisorAttr
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFEDiffuseLightingElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFEDiffuseLightingElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFEDiffuseLightingElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGFEDiffuseLightingElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -174,7 +174,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx">     
</span><span class="cx">     if (attrName == SVGNames::surfaceScaleAttr
</span><span class="cx">         || attrName == SVGNames::diffuseConstantAttr
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFEDisplacementMapElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFEDisplacementMapElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFEDisplacementMapElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGFEDisplacementMapElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -132,7 +132,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx">     
</span><span class="cx">     if (attrName == SVGNames::xChannelSelectorAttr || attrName == SVGNames::yChannelSelectorAttr || attrName == SVGNames::scaleAttr) {
</span><span class="cx">         primitiveAttributeChanged(attrName);
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFEDropShadowElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFEDropShadowElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFEDropShadowElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGFEDropShadowElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -135,7 +135,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx">     
</span><span class="cx">     if (attrName == SVGNames::inAttr
</span><span class="cx">         || attrName == SVGNames::stdDeviationAttr
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFEGaussianBlurElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFEGaussianBlurElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFEGaussianBlurElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGFEGaussianBlurElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -130,7 +130,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx">     
</span><span class="cx">     if (attrName == SVGNames::inAttr
</span><span class="cx">         || attrName == SVGNames::stdDeviationAttr
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFEImageElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFEImageElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFEImageElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGFEImageElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -155,7 +155,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx">     
</span><span class="cx">     if (attrName == SVGNames::preserveAspectRatioAttr) {
</span><span class="cx">         invalidate();
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFELightElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFELightElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFELightElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGFELightElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -170,7 +170,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx">     
</span><span class="cx">     if (attrName == SVGNames::azimuthAttr
</span><span class="cx">         || attrName == SVGNames::elevationAttr
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFEMergeNodeElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFEMergeNodeElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFEMergeNodeElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGFEMergeNodeElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -81,7 +81,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx"> 
</span><span class="cx">     if (attrName == SVGNames::inAttr) {
</span><span class="cx">         invalidateFilterPrimitiveParent(this);
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFEMorphologyElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFEMorphologyElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFEMorphologyElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGFEMorphologyElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -141,7 +141,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx">     
</span><span class="cx">     if (attrName == SVGNames::operatorAttr || attrName == SVGNames::radiusAttr) {
</span><span class="cx">         primitiveAttributeChanged(attrName);
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFEOffsetElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFEOffsetElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFEOffsetElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGFEOffsetElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -97,7 +97,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx">     
</span><span class="cx">     if (attrName == SVGNames::inAttr || attrName == SVGNames::dxAttr || attrName == SVGNames::dyAttr) {
</span><span class="cx">         invalidate();
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFESpecularLightingElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFESpecularLightingElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFESpecularLightingElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGFESpecularLightingElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -185,7 +185,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx">     
</span><span class="cx">     if (attrName == SVGNames::surfaceScaleAttr
</span><span class="cx">         || attrName == SVGNames::specularConstantAttr
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFETileElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFETileElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFETileElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGFETileElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -81,7 +81,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx"> 
</span><span class="cx">     if (attrName == SVGNames::inAttr) {
</span><span class="cx">         invalidate();
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFETurbulenceElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFETurbulenceElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFETurbulenceElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGFETurbulenceElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -155,7 +155,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx">     
</span><span class="cx">     if (attrName == SVGNames::baseFrequencyAttr
</span><span class="cx">         || attrName == SVGNames::numOctavesAttr
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFilterElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFilterElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFilterElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGFilterElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -165,7 +165,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx"> 
</span><span class="cx">     if (attrName == SVGNames::xAttr
</span><span class="cx">         || attrName == SVGNames::yAttr
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFilterPrimitiveStandardAttributescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -112,7 +112,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);    
</ins><span class="cx">     invalidate();
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGForeignObjectElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGForeignObjectElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGForeignObjectElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGForeignObjectElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -112,7 +112,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx"> 
</span><span class="cx">     if (attrName == SVGNames::widthAttr
</span><span class="cx">         || attrName == SVGNames::heightAttr) {
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGGElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGGElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGGElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGGElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -82,7 +82,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx"> 
</span><span class="cx">     if (auto renderer = this-&gt;renderer())
</span><span class="cx">         RenderSVGResource::markForLayoutAndParentResourceInvalidation(*renderer);
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGGradientElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGGradientElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGGradientElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGGradientElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -119,7 +119,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx">     
</span><span class="cx">     if (RenderObject* object = renderer())
</span><span class="cx">         object-&gt;setNeedsLayout();
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGGraphicsElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGGraphicsElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGGraphicsElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGGraphicsElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -137,7 +137,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx"> 
</span><span class="cx">     if (SVGTests::handleAttributeChange(this, attrName))
</span><span class="cx">         return;
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGImageElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGImageElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGImageElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGImageElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -122,7 +122,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx"> 
</span><span class="cx">     if (attrName == SVGNames::widthAttr
</span><span class="cx">         || attrName == SVGNames::heightAttr) {
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGLineElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGLineElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGLineElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGLineElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -107,7 +107,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx">     
</span><span class="cx">     bool isLengthAttribute = attrName == SVGNames::x1Attr
</span><span class="cx">                           || attrName == SVGNames::y1Attr
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGLinearGradientElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGLinearGradientElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGLinearGradientElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGLinearGradientElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -109,7 +109,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx">     
</span><span class="cx">     updateRelativeLengthsInformation();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGMPathElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGMPathElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGMPathElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGMPathElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -140,7 +140,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx"> 
</span><span class="cx">     if (SVGURIReference::isKnownAttribute(attrName)) {
</span><span class="cx">         buildPendingResource();
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGMarkerElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGMarkerElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGMarkerElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGMarkerElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -166,7 +166,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx">     
</span><span class="cx">     if (attrName == SVGNames::refXAttr
</span><span class="cx">         || attrName == SVGNames::refYAttr
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGMaskElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGMaskElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGMaskElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGMaskElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -134,7 +134,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx"> 
</span><span class="cx">     if (attrName == SVGNames::xAttr
</span><span class="cx">         || attrName == SVGNames::yAttr
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPathElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPathElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPathElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGPathElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -259,7 +259,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx"> 
</span><span class="cx">     RenderSVGPath* renderer = downcast&lt;RenderSVGPath&gt;(this-&gt;renderer());
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPatternElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPatternElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPatternElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGPatternElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -159,7 +159,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx"> 
</span><span class="cx">     if (attrName == SVGNames::xAttr
</span><span class="cx">         || attrName == SVGNames::yAttr
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPolyElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPolyElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPolyElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGPolyElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -109,7 +109,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx"> 
</span><span class="cx">     auto* renderer = downcast&lt;RenderSVGShape&gt;(this-&gt;renderer());
</span><span class="cx">     if (!renderer)
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGRadialGradientElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGRadialGradientElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGRadialGradientElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGRadialGradientElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -121,7 +121,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx">     
</span><span class="cx">     updateRelativeLengthsInformation();
</span><span class="cx">         
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGRectElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGRectElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGRectElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGRectElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -120,7 +120,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx"> 
</span><span class="cx">     if (attrName == SVGNames::xAttr
</span><span class="cx">         || attrName == SVGNames::yAttr
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGSVGElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGSVGElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGSVGElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGSVGElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -300,7 +300,7 @@
</span><span class="cx">             object-&gt;setNeedsTransformUpdate();
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx"> 
</span><span class="cx">     if (updateRelativeLengthsOrViewBox
</span><span class="cx">         || SVGLangSpace::isKnownAttribute(attrName)
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGScriptElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGScriptElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGScriptElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGScriptElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -98,7 +98,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx"> 
</span><span class="cx">     if (attrName == SVGNames::typeAttr || attrName == HTMLNames::onerrorAttr)
</span><span class="cx">         return;
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGStopElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGStopElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGStopElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGStopElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -86,7 +86,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx"> 
</span><span class="cx">     if (attrName == SVGNames::offsetAttr) {
</span><span class="cx">         if (auto renderer = this-&gt;renderer())
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGSymbolElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGSymbolElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGSymbolElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGSymbolElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -88,7 +88,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx"> 
</span><span class="cx">     // Every other property change is ignored.
</span><span class="cx">     if (attrName == SVGNames::viewBoxAttr)
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGTRefElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGTRefElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGTRefElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGTRefElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -206,7 +206,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx"> 
</span><span class="cx">     if (SVGURIReference::isKnownAttribute(attrName)) {
</span><span class="cx">         buildPendingResource();
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGTextContentElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGTextContentElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGTextContentElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGTextContentElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -268,7 +268,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx"> 
</span><span class="cx">     if (attrName == SVGNames::textLengthAttr)
</span><span class="cx">         m_specifiedTextLength = m_textLength.value;
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGTextPathElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGTextPathElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGTextPathElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGTextPathElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -112,7 +112,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx"> 
</span><span class="cx">     if (SVGURIReference::isKnownAttribute(attrName)) {
</span><span class="cx">         buildPendingResource();
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGTextPositioningElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGTextPositioningElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGTextPositioningElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGTextPositioningElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -141,7 +141,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx"> 
</span><span class="cx">     bool updateRelativeLengths = attrName == SVGNames::xAttr
</span><span class="cx">                               || attrName == SVGNames::yAttr
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGUseElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGUseElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGUseElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/SVGUseElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -223,7 +223,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InstanceInvalidationGuard guard(*this);
</del><ins>+    SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx"> 
</span><span class="cx">     if (attrName == SVGNames::xAttr || attrName == SVGNames::yAttr || attrName == SVGNames::widthAttr || attrName == SVGNames::heightAttr) {
</span><span class="cx">         updateRelativeLengthsInformation();
</span></span></pre></div>
<a id="trunkSourceWebCoresvganimationSVGSMILElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/animation/SVGSMILElement.cpp (179554 => 179555)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/animation/SVGSMILElement.cpp        2015-02-03 18:25:48 UTC (rev 179554)
+++ trunk/Source/WebCore/svg/animation/SVGSMILElement.cpp        2015-02-03 18:28:28 UTC (rev 179555)
</span><span class="lines">@@ -499,7 +499,7 @@
</span><span class="cx">     else if (attrName == SVGNames::attributeNameAttr)
</span><span class="cx">         setAttributeName(constructQualifiedName(this, fastGetAttribute(SVGNames::attributeNameAttr)));
</span><span class="cx">     else if (attrName.matches(XLinkNames::hrefAttr)) {
</span><del>-        InstanceInvalidationGuard guard(*this);
</del><ins>+        SVGElementInstance::InvalidationGuard invalidationGuard(this);
</ins><span class="cx">         buildPendingResource();
</span><span class="cx">     } else if (inDocument()) {
</span><span class="cx">         if (attrName == SVGNames::beginAttr)
</span></span></pre>
</div>
</div>

</body>
</html>