<!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>[184718] 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/184718">184718</a></dd>
<dt>Author</dt> <dd>commit-queue@webkit.org</dd>
<dt>Date</dt> <dd>2015-05-21 10:34:09 -0700 (Thu, 21 May 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Use modern for-loops in WebCore/svg.
https://bugs.webkit.org/show_bug.cgi?id=145209

Patch by Hunseop Jeong &lt;hs85.jeong@samsung.com&gt; on 2015-05-21
Reviewed by Darin Adler.

No new tests, no new tests.

* svg/SVGAnimateElementBase.cpp:
(WebCore::propertyTypesAreConsistent):
* svg/SVGAnimatedPath.cpp:
(WebCore::SVGAnimatedPathAnimator::startAnimValAnimation):
* svg/SVGAnimatedTypeAnimator.h:
(WebCore::SVGAnimatedTypeAnimator::executeAction):
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::parseAttribute):
* svg/SVGCursorElement.cpp:
(WebCore::SVGCursorElement::~SVGCursorElement):
* svg/SVGDocumentExtensions.cpp:
(WebCore::SVGDocumentExtensions::pauseAnimations):
(WebCore::SVGDocumentExtensions::unpauseAnimations):
(WebCore::SVGDocumentExtensions::dispatchSVGLoadEventToOutermostSVGElements):
(WebCore::SVGDocumentExtensions::isElementWithPendingResources):
(WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
(WebCore::SVGDocumentExtensions::removeAllTargetReferencesForElement):
* svg/SVGElement.cpp:
(WebCore::populateAttributeNameToCSSPropertyIDMap):
(WebCore::populateAttributeNameToAnimatedPropertyTypeMap):
(WebCore::populateCSSPropertyWithSVGDOMNameToAnimatedPropertyTypeMap):
(WebCore::hasLoadListener):
* svg/SVGFontData.cpp:
(WebCore::SVGFontData::applySVGGlyphSelection):
* svg/SVGFontElement.cpp:
(WebCore::SVGFontElement::registerLigaturesInGlyphCache):
(WebCore::SVGKerningMap::insert):
(WebCore::stringMatchesUnicodeRange):
* svg/SVGPathByteStream.h:
(WebCore::SVGPathByteStream::append):
* svg/animation/SMILTimeContainer.cpp:
(WebCore::SMILTimeContainer::setElapsed):
(WebCore::SMILTimeContainer::updateAnimations):
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::parseBeginOrEnd):
(WebCore::SVGSMILElement::connectConditions):
(WebCore::SVGSMILElement::disconnectConditions):
(WebCore::SVGSMILElement::notifyDependentsIntervalChanged):
(WebCore::SVGSMILElement::createInstanceTimesFromSyncbase):
* svg/graphics/filters/SVGFilterBuilder.cpp:
(WebCore::SVGFilterBuilder::clearResultsRecursive):
* svg/graphics/filters/SVGFilterBuilder.h:
(WebCore::SVGFilterBuilder::addBuiltinEffects):
* svg/properties/SVGAnimatedProperty.cpp:
(WebCore::SVGAnimatedProperty::~SVGAnimatedProperty):
* svg/properties/SVGListProperty.h:
(WebCore::SVGListProperty::detachListWrappersAndResize):
* svg/properties/SVGPathSegListPropertyTearOff.cpp:
(WebCore::SVGPathSegListPropertyTearOff::clearContextAndRoles):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</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="#trunkSourceWebCoresvgSVGAnimatedTypeAnimatorh">trunk/Source/WebCore/svg/SVGAnimatedTypeAnimator.h</a></li>
<li><a href="#trunkSourceWebCoresvgSVGAnimationElementcpp">trunk/Source/WebCore/svg/SVGAnimationElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGCursorElementcpp">trunk/Source/WebCore/svg/SVGCursorElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGDocumentExtensionscpp">trunk/Source/WebCore/svg/SVGDocumentExtensions.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGElementcpp">trunk/Source/WebCore/svg/SVGElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFontDatacpp">trunk/Source/WebCore/svg/SVGFontData.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFontElementcpp">trunk/Source/WebCore/svg/SVGFontElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPathByteStreamh">trunk/Source/WebCore/svg/SVGPathByteStream.h</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPathUtilitiescpp">trunk/Source/WebCore/svg/SVGPathUtilities.cpp</a></li>
<li><a href="#trunkSourceWebCoresvganimationSMILTimeContainercpp">trunk/Source/WebCore/svg/animation/SMILTimeContainer.cpp</a></li>
<li><a href="#trunkSourceWebCoresvganimationSVGSMILElementcpp">trunk/Source/WebCore/svg/animation/SVGSMILElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvggraphicsfiltersSVGFilterBuildercpp">trunk/Source/WebCore/svg/graphics/filters/SVGFilterBuilder.cpp</a></li>
<li><a href="#trunkSourceWebCoresvggraphicsfiltersSVGFilterBuilderh">trunk/Source/WebCore/svg/graphics/filters/SVGFilterBuilder.h</a></li>
<li><a href="#trunkSourceWebCoresvgpropertiesSVGAnimatedPropertycpp">trunk/Source/WebCore/svg/properties/SVGAnimatedProperty.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgpropertiesSVGListPropertyh">trunk/Source/WebCore/svg/properties/SVGListProperty.h</a></li>
<li><a href="#trunkSourceWebCoresvgpropertiesSVGPathSegListPropertyTearOffcpp">trunk/Source/WebCore/svg/properties/SVGPathSegListPropertyTearOff.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (184717 => 184718)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-05-21 17:27:47 UTC (rev 184717)
+++ trunk/Source/WebCore/ChangeLog        2015-05-21 17:34:09 UTC (rev 184718)
</span><span class="lines">@@ -1,3 +1,62 @@
</span><ins>+2015-05-21  Hunseop Jeong  &lt;hs85.jeong@samsung.com&gt;
+
+        Use modern for-loops in WebCore/svg.
+        https://bugs.webkit.org/show_bug.cgi?id=145209
+
+        Reviewed by Darin Adler.
+
+        No new tests, no new tests.
+
+        * svg/SVGAnimateElementBase.cpp:
+        (WebCore::propertyTypesAreConsistent):
+        * svg/SVGAnimatedPath.cpp:
+        (WebCore::SVGAnimatedPathAnimator::startAnimValAnimation):
+        * svg/SVGAnimatedTypeAnimator.h:
+        (WebCore::SVGAnimatedTypeAnimator::executeAction):
+        * svg/SVGAnimationElement.cpp:
+        (WebCore::SVGAnimationElement::parseAttribute):
+        * svg/SVGCursorElement.cpp:
+        (WebCore::SVGCursorElement::~SVGCursorElement):
+        * svg/SVGDocumentExtensions.cpp:
+        (WebCore::SVGDocumentExtensions::pauseAnimations):
+        (WebCore::SVGDocumentExtensions::unpauseAnimations):
+        (WebCore::SVGDocumentExtensions::dispatchSVGLoadEventToOutermostSVGElements):
+        (WebCore::SVGDocumentExtensions::isElementWithPendingResources):
+        (WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
+        (WebCore::SVGDocumentExtensions::removeAllTargetReferencesForElement):
+        * svg/SVGElement.cpp:
+        (WebCore::populateAttributeNameToCSSPropertyIDMap):
+        (WebCore::populateAttributeNameToAnimatedPropertyTypeMap):
+        (WebCore::populateCSSPropertyWithSVGDOMNameToAnimatedPropertyTypeMap):
+        (WebCore::hasLoadListener):
+        * svg/SVGFontData.cpp:
+        (WebCore::SVGFontData::applySVGGlyphSelection):
+        * svg/SVGFontElement.cpp:
+        (WebCore::SVGFontElement::registerLigaturesInGlyphCache):
+        (WebCore::SVGKerningMap::insert):
+        (WebCore::stringMatchesUnicodeRange):
+        * svg/SVGPathByteStream.h:
+        (WebCore::SVGPathByteStream::append):
+        * svg/animation/SMILTimeContainer.cpp:
+        (WebCore::SMILTimeContainer::setElapsed):
+        (WebCore::SMILTimeContainer::updateAnimations):
+        * svg/animation/SVGSMILElement.cpp:
+        (WebCore::SVGSMILElement::parseBeginOrEnd):
+        (WebCore::SVGSMILElement::connectConditions):
+        (WebCore::SVGSMILElement::disconnectConditions):
+        (WebCore::SVGSMILElement::notifyDependentsIntervalChanged):
+        (WebCore::SVGSMILElement::createInstanceTimesFromSyncbase):
+        * svg/graphics/filters/SVGFilterBuilder.cpp:
+        (WebCore::SVGFilterBuilder::clearResultsRecursive):
+        * svg/graphics/filters/SVGFilterBuilder.h:
+        (WebCore::SVGFilterBuilder::addBuiltinEffects):
+        * svg/properties/SVGAnimatedProperty.cpp:
+        (WebCore::SVGAnimatedProperty::~SVGAnimatedProperty):
+        * svg/properties/SVGListProperty.h:
+        (WebCore::SVGListProperty::detachListWrappersAndResize):
+        * svg/properties/SVGPathSegListPropertyTearOff.cpp:
+        (WebCore::SVGPathSegListPropertyTearOff::clearContextAndRoles):
+
</ins><span class="cx"> 2015-05-21  Gyuyoung Kim  &lt;gyuyoung.kim@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         Purge PassRefPtr in WebCore/Modules
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGAnimateElementBasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGAnimateElementBase.cpp (184717 => 184718)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGAnimateElementBase.cpp        2015-05-21 17:27:47 UTC (rev 184717)
+++ trunk/Source/WebCore/svg/SVGAnimateElementBase.cpp        2015-05-21 17:34:09 UTC (rev 184718)
</span><span class="lines">@@ -171,12 +171,11 @@
</span><span class="cx"> #ifndef NDEBUG
</span><span class="cx"> static inline bool propertyTypesAreConsistent(AnimatedPropertyType expectedPropertyType, const SVGElementAnimatedPropertyList&amp; animatedTypes)
</span><span class="cx"> {
</span><del>-    SVGElementAnimatedPropertyList::const_iterator end = animatedTypes.end();
-    for (SVGElementAnimatedPropertyList::const_iterator it = animatedTypes.begin(); it != end; ++it) {
-        for (size_t i = 0; i &lt; it-&gt;properties.size(); ++i) {
-            if (expectedPropertyType != it-&gt;properties[i]-&gt;animatedPropertyType()) {
</del><ins>+    for (auto&amp; type : animatedTypes) {
+        for (auto&amp; property : type.properties()) {
+            if (expectedPropertyType != property-&gt;animatedPropertyType()) {
</ins><span class="cx">                 // This is the only allowed inconsistency. SVGAnimatedAngleAnimator handles both SVGAnimatedAngle &amp; SVGAnimatedEnumeration for markers orient attribute.
</span><del>-                if (expectedPropertyType == AnimatedAngle &amp;&amp; it-&gt;properties[i]-&gt;animatedPropertyType() == AnimatedEnumeration)
</del><ins>+                if (expectedPropertyType == AnimatedAngle &amp;&amp; property-&gt;animatedPropertyType() == AnimatedEnumeration)
</ins><span class="cx">                     return true;
</span><span class="cx">                 return false;
</span><span class="cx">             }
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGAnimatedPathcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGAnimatedPath.cpp (184717 => 184718)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGAnimatedPath.cpp        2015-05-21 17:27:47 UTC (rev 184717)
+++ trunk/Source/WebCore/svg/SVGAnimatedPath.cpp        2015-05-21 17:34:09 UTC (rev 184718)
</span><span class="lines">@@ -50,15 +50,13 @@
</span><span class="cx"> 
</span><span class="cx">     Vector&lt;RefPtr&lt;SVGAnimatedPathSegListPropertyTearOff&gt;&gt; result;
</span><span class="cx"> 
</span><del>-    SVGElementAnimatedPropertyList::const_iterator end = animatedTypes.end();
-    for (SVGElementAnimatedPropertyList::const_iterator it = animatedTypes.begin(); it != end; ++it)
-        result.append(castAnimatedPropertyToActualType&lt;SVGAnimatedPathSegListPropertyTearOff&gt;(it-&gt;properties[0].get()));
</del><ins>+    for (auto&amp; type : animatedTypes)
+        result.append(castAnimatedPropertyToActualType&lt;SVGAnimatedPathSegListPropertyTearOff&gt;(type.properties[0].get()));
</ins><span class="cx"> 
</span><span class="cx">     SVGElement::InstanceUpdateBlocker blocker(*property-&gt;contextElement());
</span><span class="cx"> 
</span><del>-    size_t resultSize = result.size();
-    for (size_t i = 0; i &lt; resultSize; ++i)
-        result[i]-&gt;animationStarted(byteStream.get(), &amp;baseValue);
</del><ins>+    for (auto&amp; segment : result)
+        segment-&gt;animationStarted(byteStream.get(), &amp;baseValue);
</ins><span class="cx"> 
</span><span class="cx">     return SVGAnimatedType::createPath(WTF::move(byteStream));
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGAnimatedTypeAnimatorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGAnimatedTypeAnimator.h (184717 => 184718)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGAnimatedTypeAnimator.h        2015-05-21 17:27:47 UTC (rev 184717)
+++ trunk/Source/WebCore/svg/SVGAnimatedTypeAnimator.h        2015-05-21 17:34:09 UTC (rev 184718)
</span><span class="lines">@@ -191,10 +191,9 @@
</span><span class="cx">         // FIXME: Can't use SVGElement::InstanceUpdateBlocker because of circular header dependency. Would be nice to untangle this.
</span><span class="cx">         setInstanceUpdatesBlocked(*animatedTypes[0].element, true);
</span><span class="cx"> 
</span><del>-        SVGElementAnimatedPropertyList::const_iterator end = animatedTypes.end();
-        for (SVGElementAnimatedPropertyList::const_iterator it = animatedTypes.begin(); it != end; ++it) {
-            ASSERT_WITH_SECURITY_IMPLICATION(whichProperty &lt; it-&gt;properties.size());
-            AnimValType* property = castAnimatedPropertyToActualType&lt;AnimValType&gt;(it-&gt;properties[whichProperty].get());
</del><ins>+        for (auto&amp; animatedType : animatedTypes) {
+            ASSERT_WITH_SECURITY_IMPLICATION(whichProperty &lt; animatedType.properties.size());
+            AnimValType* property = castAnimatedPropertyToActualType&lt;AnimValType&gt;(animatedType.properties[whichProperty].get());
</ins><span class="cx"> 
</span><span class="cx">             switch (action) {
</span><span class="cx">             case StartAnimationAction:
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGAnimationElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGAnimationElement.cpp (184717 => 184718)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGAnimationElement.cpp        2015-05-21 17:27:47 UTC (rev 184717)
+++ trunk/Source/WebCore/svg/SVGAnimationElement.cpp        2015-05-21 17:34:09 UTC (rev 184718)
</span><span class="lines">@@ -167,8 +167,8 @@
</span><span class="cx">         // and white space before and after semicolon separators, is allowed and will be ignored.
</span><span class="cx">         // http://www.w3.org/TR/SVG11/animate.html#ValuesAttribute
</span><span class="cx">         value.string().split(';', m_values);
</span><del>-        for (unsigned i = 0; i &lt; m_values.size(); ++i)
-            m_values[i] = m_values[i].stripWhiteSpace();
</del><ins>+        for (auto&amp; value : m_values)
+            value = value.stripWhiteSpace();
</ins><span class="cx"> 
</span><span class="cx">         updateAnimationMode();
</span><span class="cx">         return;
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGCursorElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGCursorElement.cpp (184717 => 184718)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGCursorElement.cpp        2015-05-21 17:27:47 UTC (rev 184717)
+++ trunk/Source/WebCore/svg/SVGCursorElement.cpp        2015-05-21 17:34:09 UTC (rev 184718)
</span><span class="lines">@@ -58,9 +58,8 @@
</span><span class="cx"> 
</span><span class="cx"> SVGCursorElement::~SVGCursorElement()
</span><span class="cx"> {
</span><del>-    HashSet&lt;SVGElement*&gt;::iterator end = m_clients.end();
-    for (HashSet&lt;SVGElement*&gt;::iterator it = m_clients.begin(); it != end; ++it)
-        (*it)-&gt;cursorElementRemoved();
</del><ins>+    for (auto&amp; client : m_clients)
+        client-&gt;cursorElementRemoved();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool SVGCursorElement::isSupportedAttribute(const QualifiedName&amp; attrName)
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGDocumentExtensionscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGDocumentExtensions.cpp (184717 => 184718)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGDocumentExtensions.cpp        2015-05-21 17:27:47 UTC (rev 184717)
+++ trunk/Source/WebCore/svg/SVGDocumentExtensions.cpp        2015-05-21 17:34:09 UTC (rev 184718)
</span><span class="lines">@@ -101,16 +101,14 @@
</span><span class="cx"> 
</span><span class="cx"> void SVGDocumentExtensions::pauseAnimations()
</span><span class="cx"> {
</span><del>-    auto end = m_timeContainers.end();
-    for (auto it = m_timeContainers.begin(); it != end; ++it)
-        (*it)-&gt;pauseAnimations();
</del><ins>+    for (auto&amp; container : m_timeContainers)
+        container-&gt;pauseAnimations();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void SVGDocumentExtensions::unpauseAnimations()
</span><span class="cx"> {
</span><del>-    auto end = m_timeContainers.end();
-    for (auto it = m_timeContainers.begin(); it != end; ++it)
-        (*it)-&gt;unpauseAnimations();
</del><ins>+    for (auto&amp; container : m_timeContainers)
+        container-&gt;unpauseAnimations();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void SVGDocumentExtensions::dispatchSVGLoadEventToOutermostSVGElements()
</span><span class="lines">@@ -118,12 +116,10 @@
</span><span class="cx">     Vector&lt;RefPtr&lt;SVGSVGElement&gt;&gt; timeContainers;
</span><span class="cx">     timeContainers.appendRange(m_timeContainers.begin(), m_timeContainers.end());
</span><span class="cx"> 
</span><del>-    auto end = timeContainers.end();
-    for (auto it = timeContainers.begin(); it != end; ++it) {
-        SVGSVGElement* outerSVG = (*it).get();
-        if (!outerSVG-&gt;isOutermostSVGSVGElement())
</del><ins>+    for (auto&amp; container : m_timeContainers) {
+        if (!container-&gt;isOutermostSVGSVGElement())
</ins><span class="cx">             continue;
</span><del>-        outerSVG-&gt;sendSVGLoadEventIfPossible();
</del><ins>+        container-&gt;sendSVGLoadEventIfPossible();
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -171,9 +167,7 @@
</span><span class="cx">     // This algorithm takes time proportional to the number of pending resources and need not.
</span><span class="cx">     // If performance becomes an issue we can keep a counted set of elements and answer the question efficiently.
</span><span class="cx">     ASSERT(element);
</span><del>-    auto end = m_pendingResources.end();
-    for (auto it = m_pendingResources.begin(); it != end; ++it) {
-        PendingElements* elements = it-&gt;value.get();
</del><ins>+    for (auto&amp; elements : m_pendingResources.values()) {
</ins><span class="cx">         ASSERT(elements);
</span><span class="cx"> 
</span><span class="cx">         if (elements-&gt;contains(element))
</span><span class="lines">@@ -205,43 +199,39 @@
</span><span class="cx">     // Remove the element from pending resources.
</span><span class="cx">     if (!m_pendingResources.isEmpty() &amp;&amp; element-&gt;hasPendingResources()) {
</span><span class="cx">         Vector&lt;AtomicString&gt; toBeRemoved;
</span><del>-        auto end = m_pendingResources.end();
-        for (auto it = m_pendingResources.begin(); it != end; ++it) {
-            PendingElements* elements = it-&gt;value.get();
</del><ins>+        for (auto&amp; resource : m_pendingResources) {
+            PendingElements* elements = resource.value.get();
</ins><span class="cx">             ASSERT(elements);
</span><span class="cx">             ASSERT(!elements-&gt;isEmpty());
</span><span class="cx"> 
</span><span class="cx">             elements-&gt;remove(element);
</span><span class="cx">             if (elements-&gt;isEmpty())
</span><del>-                toBeRemoved.append(it-&gt;key);
</del><ins>+                toBeRemoved.append(resource.key);
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         clearHasPendingResourcesIfPossible(element);
</span><span class="cx"> 
</span><span class="cx">         // We use the removePendingResource function here because it deals with set lifetime correctly.
</span><del>-        auto vectorEnd = toBeRemoved.end();
-        for (auto it = toBeRemoved.begin(); it != vectorEnd; ++it)
-            removePendingResource(*it);
</del><ins>+        for (auto&amp; resource : toBeRemoved)
+            removePendingResource(resource);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // Remove the element from pending resources that were scheduled for removal.
</span><span class="cx">     if (!m_pendingResourcesForRemoval.isEmpty()) {
</span><span class="cx">         Vector&lt;AtomicString&gt; toBeRemoved;
</span><del>-        auto end = m_pendingResourcesForRemoval.end();
-        for (auto it = m_pendingResourcesForRemoval.begin(); it != end; ++it) {
-            PendingElements* elements = it-&gt;value.get();
</del><ins>+        for (auto&amp; resource : m_pendingResourcesForRemoval) {
+            PendingElements* elements = resource.value.get();
</ins><span class="cx">             ASSERT(elements);
</span><span class="cx">             ASSERT(!elements-&gt;isEmpty());
</span><span class="cx"> 
</span><span class="cx">             elements-&gt;remove(element);
</span><span class="cx">             if (elements-&gt;isEmpty())
</span><del>-                toBeRemoved.append(it-&gt;key);
</del><ins>+                toBeRemoved.append(resource.key);
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         // We use the removePendingResourceForRemoval function here because it deals with set lifetime correctly.
</span><del>-        auto vectorEnd = toBeRemoved.end();
-        for (auto it = toBeRemoved.begin(); it != vectorEnd; ++it)
-            removePendingResourceForRemoval(*it);
</del><ins>+        for (auto&amp; resource : toBeRemoved)
+            removePendingResourceForRemoval(resource);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -317,18 +307,16 @@
</span><span class="cx"> {
</span><span class="cx">     Vector&lt;SVGElement*&gt; toBeRemoved;
</span><span class="cx"> 
</span><del>-    auto end = m_elementDependencies.end();
-    for (auto it = m_elementDependencies.begin(); it != end; ++it) {
-        SVGElement* referencedElement = it-&gt;key;
-        HashSet&lt;SVGElement*&gt;&amp; referencingElements = *it-&gt;value;
</del><ins>+    for (auto&amp; dependency : m_elementDependencies) {
+        SVGElement* referencedElement = dependency.key;
+        HashSet&lt;SVGElement*&gt;&amp; referencingElements = *dependency.value;
</ins><span class="cx">         referencingElements.remove(referencingElement);
</span><span class="cx">         if (referencingElements.isEmpty())
</span><span class="cx">             toBeRemoved.append(referencedElement);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    auto vectorEnd = toBeRemoved.end();
-    for (auto it = toBeRemoved.begin(); it != vectorEnd; ++it)
-        m_elementDependencies.remove(*it);
</del><ins>+    for (auto&amp; element : toBeRemoved)
+        m_elementDependencies.remove(element);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void SVGDocumentExtensions::rebuildElements()
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGElement.cpp (184717 => 184718)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGElement.cpp        2015-05-21 17:27:47 UTC (rev 184717)
+++ trunk/Source/WebCore/svg/SVGElement.cpp        2015-05-21 17:34:09 UTC (rev 184718)
</span><span class="lines">@@ -150,8 +150,8 @@
</span><span class="cx">         &amp;yAttr,
</span><span class="cx">     };
</span><span class="cx"> 
</span><del>-    for (unsigned i = 0; i &lt; WTF_ARRAY_LENGTH(attributeNames); ++i) {
-        const AtomicString&amp; localName = attributeNames[i]-&gt;localName();
</del><ins>+    for (auto&amp; name : attributeNames) {
+        const AtomicString&amp; localName = name-&gt;localName();
</ins><span class="cx">         map.add(localName.impl(), cssPropertyID(localName));
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -229,8 +229,8 @@
</span><span class="cx">         { word_spacingAttr, AnimatedLength },
</span><span class="cx">     };
</span><span class="cx"> 
</span><del>-    for (unsigned i = 0; i &lt; WTF_ARRAY_LENGTH(table); ++i)
-        map.add(table[i].attributeName.impl(), table[i].type);
</del><ins>+    for (auto&amp; entry : table)
+        map.add(entry.attributeName.impl(), entry.type);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline HashMap&lt;QualifiedName::QualifiedNameImpl*, AnimatedPropertyType&gt;&amp; attributeNameToAnimatedPropertyTypeMap()
</span><span class="lines">@@ -263,8 +263,8 @@
</span><span class="cx">         { yAttr, AnimatedLength },
</span><span class="cx">     };
</span><span class="cx"> 
</span><del>-    for (unsigned i = 0; i &lt; WTF_ARRAY_LENGTH(table); ++i)
-        map.add(table[i].attributeName.impl(), table[i].type);
</del><ins>+    for (auto&amp; entry : table)
+        map.add(entry.attributeName.impl(), entry.type);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline HashMap&lt;QualifiedName::QualifiedNameImpl*, AnimatedPropertyType&gt;&amp; cssPropertyWithSVGDOMNameToAnimatedPropertyTypeMap()
</span><span class="lines">@@ -639,8 +639,8 @@
</span><span class="cx"> 
</span><span class="cx">     for (element = element-&gt;parentOrShadowHostElement(); element; element = element-&gt;parentOrShadowHostElement()) {
</span><span class="cx">         const EventListenerVector&amp; entry = element-&gt;getEventListeners(eventNames().loadEvent);
</span><del>-        for (size_t i = 0; i &lt; entry.size(); ++i) {
-            if (entry[i].useCapture)
</del><ins>+        for (auto&amp; listener : entry) {
+            if (listener.useCapture)
</ins><span class="cx">                 return true;
</span><span class="cx">         }
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFontDatacpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFontData.cpp (184717 => 184718)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFontData.cpp        2015-05-21 17:27:47 UTC (rev 184717)
+++ trunk/Source/WebCore/svg/SVGFontData.cpp        2015-05-21 17:34:09 UTC (rev 184718)
</span><span class="lines">@@ -161,19 +161,17 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     Vector&lt;SVGGlyph&gt; glyphs;
</span><del>-    size_t altGlyphNamesSize = altGlyphNames.size();
-    if (altGlyphNamesSize) {
-        for (size_t index = 0; index &lt; altGlyphNamesSize; ++index)
-            associatedFontElement-&gt;collectGlyphsForGlyphName(altGlyphNames[index], glyphs);
</del><ins>+    if (!altGlyphNames.isEmpty()) {
+        for (auto&amp; name : altGlyphNames)
+            associatedFontElement-&gt;collectGlyphsForGlyphName(name, glyphs);
</ins><span class="cx"> 
</span><span class="cx">         // Assign the unicodeStringLength now that its known.
</span><del>-        size_t glyphsSize = glyphs.size();
-        for (size_t i = 0; i &lt; glyphsSize; ++i)
-            glyphs[i].unicodeStringLength = run.length();
</del><ins>+        for (auto&amp; glyph : glyphs)
+            glyph.unicodeStringLength = run.length();
</ins><span class="cx"> 
</span><span class="cx">         // Do not check alt glyphs for compatibility. Just return the first one.
</span><span class="cx">         // Later code will fail if we do not do this and the glyph is incompatible.
</span><del>-        if (glyphsSize) {
</del><ins>+        if (!glyphs.isEmpty()) {
</ins><span class="cx">             SVGGlyph&amp; svgGlyph = glyphs[0];
</span><span class="cx">             iterator.setLastGlyphName(svgGlyph.glyphName);
</span><span class="cx">             glyphData.glyph = svgGlyph.tableEntry;
</span><span class="lines">@@ -191,16 +189,14 @@
</span><span class="cx">         associatedFontElement-&gt;collectGlyphsForString(remainingTextInRun, glyphs);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    size_t glyphsSize = glyphs.size();
-    for (size_t i = 0; i &lt; glyphsSize; ++i) {
-        SVGGlyph&amp; svgGlyph = glyphs[i];
-        if (svgGlyph.isPartOfLigature)
</del><ins>+    for (auto&amp; glyph : glyphs) {
+        if (glyph.isPartOfLigature)
</ins><span class="cx">             continue;
</span><del>-        if (!isCompatibleGlyph(svgGlyph, isVerticalText, language, arabicForms, currentCharacter, currentCharacter + svgGlyph.unicodeStringLength))
</del><ins>+        if (!isCompatibleGlyph(glyph, isVerticalText, language, arabicForms, currentCharacter, currentCharacter + glyph.unicodeStringLength))
</ins><span class="cx">             continue;
</span><del>-        iterator.setLastGlyphName(svgGlyph.glyphName);
-        glyphData.glyph = svgGlyph.tableEntry;
-        advanceLength = svgGlyph.unicodeStringLength;
</del><ins>+        iterator.setLastGlyphName(glyph.glyphName);
+        glyphData.glyph = glyph.tableEntry;
+        advanceLength = glyph.unicodeStringLength;
</ins><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFontElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFontElement.cpp (184717 => 184718)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFontElement.cpp        2015-05-21 17:27:47 UTC (rev 184717)
+++ trunk/Source/WebCore/svg/SVGFontElement.cpp        2015-05-21 17:34:09 UTC (rev 184718)
</span><span class="lines">@@ -86,10 +86,7 @@
</span><span class="cx">     // will not be able to find a glyph for &quot;f&quot;, but handles the fallback
</span><span class="cx">     // character substitution properly through glyphDataForCharacter().
</span><span class="cx">     Vector&lt;SVGGlyph&gt; glyphs;
</span><del>-    size_t ligaturesSize = ligatures.size();
-    for (size_t i = 0; i &lt; ligaturesSize; ++i) {
-        const String&amp; unicode = ligatures[i];
-
</del><ins>+    for (auto&amp; unicode : ligatures) {
</ins><span class="cx">         unsigned unicodeLength = unicode.length();
</span><span class="cx">         ASSERT(unicodeLength &gt; 1);
</span><span class="cx"> 
</span><span class="lines">@@ -174,27 +171,23 @@
</span><span class="cx">     svgKerning.unicodeName2 = kerningPair.unicodeName2;
</span><span class="cx">     svgKerning.glyphName2 = kerningPair.glyphName2;
</span><span class="cx"> 
</span><del>-    HashSet&lt;String&gt;::const_iterator uIt = kerningPair.unicodeName1.begin();
-    const HashSet&lt;String&gt;::const_iterator uEnd = kerningPair.unicodeName1.end();
-    for (; uIt != uEnd; ++uIt) {
-        if (unicodeMap.contains(*uIt))
-            unicodeMap.get(*uIt)-&gt;append(svgKerning);
</del><ins>+    for (auto&amp; name : kerningPair.unicodeName1) {
+        if (unicodeMap.contains(name))
+            unicodeMap.get(name)-&gt;append(svgKerning);
</ins><span class="cx">         else {
</span><span class="cx">             auto newVector = std::make_unique&lt;SVGKerningVector&gt;();
</span><span class="cx">             newVector-&gt;append(svgKerning);
</span><del>-            unicodeMap.add(*uIt, WTF::move(newVector));
</del><ins>+            unicodeMap.add(name, WTF::move(newVector));
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    HashSet&lt;String&gt;::const_iterator gIt = kerningPair.glyphName1.begin();
-    const HashSet&lt;String&gt;::const_iterator gEnd = kerningPair.glyphName1.end();
-    for (; gIt != gEnd; ++gIt) {
-        if (glyphMap.contains(*gIt))
-            glyphMap.get(*gIt)-&gt;append(svgKerning);
</del><ins>+    for (auto&amp; name : kerningPair.glyphName1) {
+        if (glyphMap.contains(name))
+            glyphMap.get(name)-&gt;append(svgKerning);
</ins><span class="cx">         else {
</span><span class="cx">             auto newVector = std::make_unique&lt;SVGKerningVector&gt;();
</span><span class="cx">             newVector-&gt;append(svgKerning);
</span><del>-            glyphMap.add(*gIt, WTF::move(newVector));
</del><ins>+            glyphMap.add(name, WTF::move(newVector));
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -209,9 +202,8 @@
</span><span class="cx"> 
</span><span class="cx">     if (!ranges.isEmpty()) {
</span><span class="cx">         UChar firstChar = unicodeString[0];
</span><del>-        const UnicodeRanges::const_iterator end = ranges.end();
-        for (UnicodeRanges::const_iterator it = ranges.begin(); it != end; ++it) {
-            if (firstChar &gt;= it-&gt;first &amp;&amp; firstChar &lt;= it-&gt;second)
</del><ins>+        for (auto&amp; range : ranges) {
+            if (firstChar &gt;= range.first &amp;&amp; firstChar &lt;= range.second)
</ins><span class="cx">                 return true;
</span><span class="cx">         }
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPathByteStreamh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPathByteStream.h (184717 => 184718)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPathByteStream.h        2015-05-21 17:27:47 UTC (rev 184717)
+++ trunk/Source/WebCore/svg/SVGPathByteStream.h        2015-05-21 17:34:09 UTC (rev 184718)
</span><span class="lines">@@ -58,10 +58,10 @@
</span><span class="cx">     DataIterator begin() { return m_data.begin(); }
</span><span class="cx">     DataIterator end() { return m_data.end(); }
</span><span class="cx">     void append(unsigned char byte) { m_data.append(byte); }
</span><del>-    void append(SVGPathByteStream* other)
</del><ins>+    void append(SVGPathByteStream&amp; other)
</ins><span class="cx">     {
</span><del>-        for (DataIterator it = other-&gt;begin(); it != other-&gt;end(); ++it)
-            append(*it);
</del><ins>+        for (auto stream : other)
+            append(stream);
</ins><span class="cx">     }
</span><span class="cx">     void clear() { m_data.clear(); }
</span><span class="cx">     bool isEmpty() const { return !m_data.size(); }
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPathUtilitiescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPathUtilities.cpp (184717 => 184718)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPathUtilities.cpp        2015-05-21 17:27:47 UTC (rev 184717)
+++ trunk/Source/WebCore/svg/SVGPathUtilities.cpp        2015-05-21 17:34:09 UTC (rev 184718)
</span><span class="lines">@@ -155,7 +155,7 @@
</span><span class="cx">     parser-&gt;cleanup();
</span><span class="cx"> 
</span><span class="cx">     if (ok)
</span><del>-        result-&gt;append(appendedByteStream.get());
</del><ins>+        result-&gt;append(*appendedByteStream);
</ins><span class="cx"> 
</span><span class="cx">     return ok;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoresvganimationSMILTimeContainercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/animation/SMILTimeContainer.cpp (184717 => 184718)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/animation/SMILTimeContainer.cpp        2015-05-21 17:27:47 UTC (rev 184717)
+++ trunk/Source/WebCore/svg/animation/SMILTimeContainer.cpp        2015-05-21 17:34:09 UTC (rev 184718)
</span><span class="lines">@@ -187,11 +187,9 @@
</span><span class="cx"> #ifndef NDEBUG
</span><span class="cx">     m_preventScheduledAnimationsChanges = true;
</span><span class="cx"> #endif
</span><del>-    for (auto&amp; it : m_scheduledAnimations) {
-        AnimationsVector* scheduled = it.value.get();
-        unsigned size = scheduled-&gt;size();
-        for (unsigned n = 0; n &lt; size; n++)
-            scheduled-&gt;at(n)-&gt;reset();
</del><ins>+    for (auto&amp; animation : m_scheduledAnimations.values()) {
+        for (auto&amp; element : *animation)
+            element-&gt;reset();
</ins><span class="cx">     }
</span><span class="cx"> #ifndef NDEBUG
</span><span class="cx">     m_preventScheduledAnimationsChanges = false;
</span><span class="lines">@@ -274,9 +272,7 @@
</span><span class="cx">         sortByPriority(*scheduled, elapsed);
</span><span class="cx"> 
</span><span class="cx">         SVGSMILElement* resultElement = 0;
</span><del>-        unsigned size = scheduled-&gt;size();
-        for (unsigned n = 0; n &lt; size; n++) {
-            SVGSMILElement* animation = scheduled-&gt;at(n);
</del><ins>+        for (auto&amp; animation : *scheduled) {
</ins><span class="cx">             ASSERT(animation-&gt;timeContainer() == this);
</span><span class="cx">             ASSERT(animation-&gt;targetElement());
</span><span class="cx">             ASSERT(animation-&gt;hasValidAttributeName());
</span><span class="lines">@@ -301,8 +297,7 @@
</span><span class="cx">             animationsToApply.append(resultElement);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    unsigned animationsToApplySize = animationsToApply.size();
-    if (!animationsToApplySize) {
</del><ins>+    if (animationsToApply.isEmpty()) {
</ins><span class="cx"> #ifndef NDEBUG
</span><span class="cx">         m_preventScheduledAnimationsChanges = false;
</span><span class="cx"> #endif
</span><span class="lines">@@ -311,8 +306,8 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // Apply results to target elements.
</span><del>-    for (unsigned i = 0; i &lt; animationsToApplySize; ++i)
-        animationsToApply[i]-&gt;applyResultsToTarget();
</del><ins>+    for (auto&amp; animation : animationsToApply)
+        animation-&gt;applyResultsToTarget();
</ins><span class="cx"> 
</span><span class="cx"> #ifndef NDEBUG
</span><span class="cx">     m_preventScheduledAnimationsChanges = false;
</span></span></pre></div>
<a id="trunkSourceWebCoresvganimationSVGSMILElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/animation/SVGSMILElement.cpp (184717 => 184718)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/animation/SVGSMILElement.cpp        2015-05-21 17:27:47 UTC (rev 184717)
+++ trunk/Source/WebCore/svg/animation/SVGSMILElement.cpp        2015-05-21 17:34:09 UTC (rev 184718)
</span><span class="lines">@@ -421,14 +421,14 @@
</span><span class="cx">     if (beginOrEnd == End)
</span><span class="cx">         m_hasEndEventConditions = false;
</span><span class="cx">     HashSet&lt;double&gt; existing;
</span><del>-    for (unsigned n = 0; n &lt; timeList.size(); ++n)
-        existing.add(timeList[n].time().value());
</del><ins>+    for (auto&amp; time : timeList)
+        existing.add(time.time().value());
</ins><span class="cx">     Vector&lt;String&gt; splitString;
</span><span class="cx">     parseString.split(';', splitString);
</span><del>-    for (unsigned n = 0; n &lt; splitString.size(); ++n) {
-        SMILTime value = parseClockValue(splitString[n]);
</del><ins>+    for (auto&amp; string : splitString) {
+        SMILTime value = parseClockValue(string);
</ins><span class="cx">         if (value.isUnresolved())
</span><del>-            parseCondition(splitString[n], beginOrEnd);
</del><ins>+            parseCondition(string, beginOrEnd);
</ins><span class="cx">         else if (!existing.contains(value.value()))
</span><span class="cx">             timeList.append(SMILTimeWithOrigin(value, SMILTimeWithOrigin::ParserOrigin));
</span><span class="cx">     }
</span><span class="lines">@@ -518,8 +518,7 @@
</span><span class="cx">     if (m_conditionsConnected)
</span><span class="cx">         disconnectConditions();
</span><span class="cx">     m_conditionsConnected = true;
</span><del>-    for (unsigned n = 0; n &lt; m_conditions.size(); ++n) {
-        Condition&amp; condition = m_conditions[n];
</del><ins>+    for (auto&amp; condition : m_conditions) {
</ins><span class="cx">         if (condition.m_type == Condition::EventBase) {
</span><span class="cx">             ASSERT(!condition.m_syncbase);
</span><span class="cx">             Element* eventBase = eventBaseFor(condition);
</span><span class="lines">@@ -547,8 +546,7 @@
</span><span class="cx">     if (!m_conditionsConnected)
</span><span class="cx">         return;
</span><span class="cx">     m_conditionsConnected = false;
</span><del>-    for (unsigned n = 0; n &lt; m_conditions.size(); ++n) {
-        Condition&amp; condition = m_conditions[n];
</del><ins>+    for (auto&amp; condition : m_conditions) {
</ins><span class="cx">         if (condition.m_type == Condition::EventBase) {
</span><span class="cx">             ASSERT(!condition.m_syncbase);
</span><span class="cx">             if (!condition.m_eventListener)
</span><span class="lines">@@ -1126,9 +1124,7 @@
</span><span class="cx">         return;
</span><span class="cx">     loopBreaker.add(this);
</span><span class="cx">     
</span><del>-    TimeDependentSet::iterator end = m_timeDependents.end();
-    for (TimeDependentSet::iterator it = m_timeDependents.begin(); it != end; ++it) {
-        SVGSMILElement* dependent = *it;
</del><ins>+    for (auto&amp; dependent : m_timeDependents) {
</ins><span class="cx">         dependent-&gt;createInstanceTimesFromSyncbase(this, newOrExisting);
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -1139,8 +1135,7 @@
</span><span class="cx"> {
</span><span class="cx">     // FIXME: To be really correct, this should handle updating exising interval by changing 
</span><span class="cx">     // the associated times instead of creating new ones.
</span><del>-    for (unsigned n = 0; n &lt; m_conditions.size(); ++n) {
-        Condition&amp; condition = m_conditions[n];
</del><ins>+    for (auto&amp; condition : m_conditions) {
</ins><span class="cx">         if (condition.m_type == Condition::Syncbase &amp;&amp; condition.m_syncbase == syncbase) {
</span><span class="cx">             ASSERT(condition.m_name == &quot;begin&quot; || condition.m_name == &quot;end&quot;);
</span><span class="cx">             // No nested time containers in SVG, no need for crazy time space conversions. Phew!
</span></span></pre></div>
<a id="trunkSourceWebCoresvggraphicsfiltersSVGFilterBuildercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/graphics/filters/SVGFilterBuilder.cpp (184717 => 184718)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/graphics/filters/SVGFilterBuilder.cpp        2015-05-21 17:27:47 UTC (rev 184717)
+++ trunk/Source/WebCore/svg/graphics/filters/SVGFilterBuilder.cpp        2015-05-21 17:34:09 UTC (rev 184718)
</span><span class="lines">@@ -95,10 +95,8 @@
</span><span class="cx"> 
</span><span class="cx">     effect-&gt;clearResult();
</span><span class="cx"> 
</span><del>-    HashSet&lt;FilterEffect*&gt;&amp; effectReferences = this-&gt;effectReferences(effect);
-    HashSet&lt;FilterEffect*&gt;::iterator end = effectReferences.end();
-    for (HashSet&lt;FilterEffect*&gt;::iterator it = effectReferences.begin(); it != end; ++it)
-         clearResultsRecursive(*it);
</del><ins>+    for (auto&amp; reference : effectReferences(effect))
+        clearResultsRecursive(reference);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoresvggraphicsfiltersSVGFilterBuilderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/graphics/filters/SVGFilterBuilder.h (184717 => 184718)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/graphics/filters/SVGFilterBuilder.h        2015-05-21 17:27:47 UTC (rev 184717)
+++ trunk/Source/WebCore/svg/graphics/filters/SVGFilterBuilder.h        2015-05-21 17:34:09 UTC (rev 184718)
</span><span class="lines">@@ -62,9 +62,8 @@
</span><span class="cx"> private:
</span><span class="cx">     inline void addBuiltinEffects()
</span><span class="cx">     {
</span><del>-        HashMap&lt;AtomicString, RefPtr&lt;FilterEffect&gt;&gt;::iterator end = m_builtinEffects.end();
-        for (HashMap&lt;AtomicString, RefPtr&lt;FilterEffect&gt;&gt;::iterator iterator = m_builtinEffects.begin(); iterator != end; ++iterator)
-             m_effectReferences.add(iterator-&gt;value, FilterEffectSet());
</del><ins>+        for (auto&amp; effect : m_builtinEffects.values())
+            m_effectReferences.add(effect, FilterEffectSet());
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     HashMap&lt;AtomicString, RefPtr&lt;FilterEffect&gt;&gt; m_builtinEffects;
</span></span></pre></div>
<a id="trunkSourceWebCoresvgpropertiesSVGAnimatedPropertycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/properties/SVGAnimatedProperty.cpp (184717 => 184718)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/properties/SVGAnimatedProperty.cpp        2015-05-21 17:27:47 UTC (rev 184717)
+++ trunk/Source/WebCore/svg/properties/SVGAnimatedProperty.cpp        2015-05-21 17:34:09 UTC (rev 184718)
</span><span class="lines">@@ -37,10 +37,9 @@
</span><span class="cx"> SVGAnimatedProperty::~SVGAnimatedProperty()
</span><span class="cx"> {
</span><span class="cx">     // Remove wrapper from cache.
</span><del>-    Cache&amp; cache = *animatedPropertyCache();
-    for (auto it = cache.begin(), end = cache.end(); it != end; ++it) {
-        if (it-&gt;value == this) {
-            cache.remove(it);
</del><ins>+    for (auto&amp; cache : *animatedPropertyCache()) {
+        if (cache.value == this) {
+            animatedPropertyCache()-&gt;remove(cache.key);
</ins><span class="cx">             break;
</span><span class="cx">         }
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebCoresvgpropertiesSVGListPropertyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/properties/SVGListProperty.h (184717 => 184718)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/properties/SVGListProperty.h        2015-05-21 17:27:47 UTC (rev 184717)
+++ trunk/Source/WebCore/svg/properties/SVGListProperty.h        2015-05-21 17:34:09 UTC (rev 184718)
</span><span class="lines">@@ -62,9 +62,8 @@
</span><span class="cx">     {
</span><span class="cx">         // See SVGPropertyTearOff::detachWrapper() for an explanation about what's happening here.
</span><span class="cx">         ASSERT(wrappers);
</span><del>-        unsigned size = wrappers-&gt;size();
-        for (unsigned i = 0; i &lt; size; ++i) {
-            if (ListItemTearOff* item = wrappers-&gt;at(i).get())
</del><ins>+        for (auto&amp; item : *wrappers) {
+            if (item)
</ins><span class="cx">                 item-&gt;detachWrapper();
</span><span class="cx">         }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgpropertiesSVGPathSegListPropertyTearOffcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/properties/SVGPathSegListPropertyTearOff.cpp (184717 => 184718)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/properties/SVGPathSegListPropertyTearOff.cpp        2015-05-21 17:27:47 UTC (rev 184717)
+++ trunk/Source/WebCore/svg/properties/SVGPathSegListPropertyTearOff.cpp        2015-05-21 17:34:09 UTC (rev 184718)
</span><span class="lines">@@ -30,9 +30,7 @@
</span><span class="cx"> void SVGPathSegListPropertyTearOff::clearContextAndRoles()
</span><span class="cx"> {
</span><span class="cx">     ASSERT(m_values);
</span><del>-    unsigned size = m_values-&gt;size();
-    for (unsigned i = 0; i &lt; size; ++i) {
-        ListItemType item = m_values-&gt;at(i);
</del><ins>+    for (auto&amp; item : *m_values) {
</ins><span class="cx">         static_cast&lt;SVGPathSegWithContext*&gt;(item.get())-&gt;setContextAndRole(0, PathSegUndefinedRole);
</span><span class="cx">     }
</span><span class="cx"> }
</span></span></pre>
</div>
</div>

</body>
</html>