<!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:
"Move InstanceInvalidationGuard/UpdateBlocker to SVGElement
from SVGElementInstance"
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 <commit-queue@webkit.org>
+
+ 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:
+
+ "Move InstanceInvalidationGuard/UpdateBlocker to SVGElement
+ from SVGElementInstance"
+ https://bugs.webkit.org/show_bug.cgi?id=141148
+ http://trac.webkit.org/changeset/179548
+
</ins><span class="cx"> 2015-02-03 Jer Noble <jer.noble@apple.com>
</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 <a> 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(&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 <use> 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(&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 <use> 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(&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 <use> 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<SVGAnimatedPathSegListPropertyTearOff>(it->properties[0].get()));
</span><span class="cx">
</span><del>- SVGElement::InstanceUpdateBlocker blocker(*property->contextElement());
</del><ins>+ SVGElementInstance::InstanceUpdateBlocker blocker(property->contextElement());
</ins><span class="cx">
</span><span class="cx"> size_t resultSize = result.size();
</span><span class="cx"> for (size_t i = 0; i < 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& 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<typename AnimValType>
</span><span class="cx"> void executeAction(AnimationAction action, const SVGElementAnimatedPropertyList& 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&, 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->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<SVGElement*>::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 <use> 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& 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 > 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<RenderSVGResourceContainer>(*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<CSSValue> SVGElement::getPresentationAttribute(const String& 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->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& instances = this->instances();
- if (instances.isEmpty())
- return;
-
- // Mark all use elements referencing 'element' for rebuilding
- do {
- SVGElement* instance = *instances.begin();
- if (SVGUseElement* element = instance->correspondingUseElement()) {
- ASSERT(element->inDocument());
- element->invalidateShadowTree();
- }
- instance->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&, Document&);
</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&) const;
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>- void invalidateInstances();
-
</del><span class="cx"> std::unique_ptr<SVGElementRareData> m_svgRareData;
</span><span class="cx">
</span><span class="cx"> HashSet<SVGElement*> 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&);
- ~InstanceInvalidationGuard();
-private:
- SVGElement& m_element;
-};
-
-class SVGElement::InstanceUpdateBlocker {
-public:
- InstanceUpdateBlocker(SVGElement&);
- ~InstanceUpdateBlocker();
-private:
- SVGElement& m_element;
-};
-
</del><span class="cx"> struct SVGAttributeHashTranslator {
</span><span class="cx"> static unsigned hash(const QualifiedName& key)
</span><span class="cx"> {
</span><span class="lines">@@ -244,28 +222,6 @@
</span><span class="cx"> static bool equal(const QualifiedName& a, const QualifiedName& b) { return a.matches(b); }
</span><span class="cx"> };
</span><span class="cx">
</span><del>-inline SVGElement::InstanceInvalidationGuard::InstanceInvalidationGuard(SVGElement& element)
- : m_element(element)
-{
-}
-
-inline SVGElement::InstanceInvalidationGuard::~InstanceInvalidationGuard()
-{
- m_element.invalidateInstances();
-}
-
-inline SVGElement::InstanceUpdateBlocker::InstanceUpdateBlocker(SVGElement& 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& name) const
</span><span class="cx"> {
</span><span class="cx"> return isSVGElement() && downcast<SVGElement>(*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<SVGElementInstance, SVGElementInstance>(child.get(), *this);
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+void SVGElementInstance::invalidateAllInstancesOfElement(SVGElement* element)
+{
+ if (!element || !element->inDocument())
+ return;
+
+ if (element->instanceUpdatesBlocked())
+ return;
+
+ auto& instances = element->instances();
+ if (instances.isEmpty())
+ return;
+
+ // Mark all use elements referencing 'element' for rebuilding
+ do {
+ SVGElement* instance = *instances.begin();
+ if (SVGUseElement* element = instance->correspondingUseElement()) {
+ ASSERT(element->inDocument());
+ element->invalidateShadowTree();
+ }
+ instance->setCorrespondingElement(nullptr);
+ } while (!instances.isEmpty());
+
+ element->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->setInstanceUpdatesBlocked(true);
</ins><span class="cx"> }
</span><ins>+
+SVGElementInstance::InstanceUpdateBlocker::~InstanceUpdateBlocker()
+{
+ if (m_targetElement)
+ m_targetElement->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<SVGElementInstance>::ref;
</span><span class="cx"> using TreeShared<SVGElementInstance>::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->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->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<RenderSVGPath>(this->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<RenderSVGShape>(this->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->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->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>