<!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>[174603] 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/174603">174603</a></dd>
<dt>Author</dt> <dd>cdumez@apple.com</dd>
<dt>Date</dt> <dd>2014-10-10 11:02:32 -0700 (Fri, 10 Oct 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Drop RENDER_OBJECT_TYPE_CASTS() for a lot of RenderObject subclasses
https://bugs.webkit.org/show_bug.cgi?id=137594

Reviewed by Darin Adler.

Drop RENDER_OBJECT_TYPE_CASTS() for RenderObject subclasses that no
longer needed it or that required very few changes to do so. This will
make sure developers start using is&lt;&gt;() / downcast&lt;&gt;() for those
classes.

No new tests, no behavior change.

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::textUnderElement):
(WebCore::AccessibilityRenderObject::stringValue):
(WebCore::AccessibilityRenderObject::titleUIElement):
* dom/PseudoElement.cpp:
(WebCore::PseudoElement::didAttachRenderers):
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::reset):
* html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::defaultEventHandler):
* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::updateSnapshot):
(WebCore::HTMLPlugInImageElement::checkSnapshotStatus):
* html/SearchInputType.cpp:
(WebCore::SearchInputType::addSearchResult):
(WebCore::SearchInputType::didSetValueByUserEdit):
* html/shadow/TextControlInnerElements.cpp:
(WebCore::TextControlInnerTextElement::renderer):
(WebCore::TextControlInnerTextElement::customStyleForRenderer):
(WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
* page/FrameView.cpp:
(WebCore::FrameView::isInChildFrameWithFrameFlattening):
* rendering/RenderButton.h:
* rendering/RenderCounter.h:
* rendering/RenderDetailsMarker.h:
* rendering/RenderFieldset.h:
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::paintObject):
* rendering/RenderFileUploadControl.h:
* rendering/RenderFlexibleBox.h:
* rendering/RenderFullScreen.h:
* rendering/RenderGrid.h:
* rendering/RenderHTMLCanvas.h:
* rendering/RenderIFrame.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::contentsBox):
* rendering/RenderMedia.h:
* rendering/RenderQuote.cpp:
(WebCore::RenderQuote::attachQuote):
* rendering/RenderQuote.h:
* rendering/RenderReplaced.h:
* rendering/RenderScrollbarPart.h:
* rendering/RenderSearchField.h:
* rendering/RenderSnapshottedPlugIn.h:
* rendering/RenderTableCaption.h:
* rendering/RenderTextControlMultiLine.h:
* rendering/RenderTextControlSingleLine.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):
* rendering/RenderTreeAsText.cpp:
(WebCore::RenderTreeAsText::writeRenderObject):
* rendering/RenderVideo.cpp:
(WebCore::rendererPlaceholder):
* rendering/line/BreakingContextInlineHeaders.h:
(WebCore::updateCounterIfNeeded):
* rendering/svg/RenderSVGContainer.h:
* rendering/svg/RenderSVGGradientStop.h:
* rendering/svg/RenderSVGModelObject.h:
* rendering/svg/RenderSVGPath.h:
* rendering/svg/RenderSVGResourceFilter.h:
* rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
(WebCore::RenderSVGResourceFilterPrimitive::styleDidChange):
* rendering/svg/RenderSVGTextPath.h:
* rendering/svg/RenderSVGTransformableContainer.h:
* rendering/svg/RenderSVGViewportContainer.h:
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::repaintRectForRendererInLocalCoordinatesExcludingSVGShadow):
(WebCore::SVGRenderSupport::checkForSVGRepaintDuringLayout):
(WebCore::updateObjectBoundingBox):
(WebCore::layoutSizeOfNearestViewportChanged):
(WebCore::SVGRenderSupport::transformToRootChanged):
(WebCore::SVGRenderSupport::rendererHasSVGShadow):
(WebCore::SVGRenderSupport::setRendererHasSVGShadow):
* rendering/svg/SVGTextLayoutEngine.cpp:
(WebCore::SVGTextLayoutEngine::beginTextPathLayout):
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::svgAttributeChanged):
(WebCore::SVGPathElement::pathSegListChanged):
(WebCore::SVGPathElement::getBBox):
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::currentViewportSize):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreaccessibilityAccessibilityRenderObjectcpp">trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp</a></li>
<li><a href="#trunkSourceWebCoredomPseudoElementcpp">trunk/Source/WebCore/dom/PseudoElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLCanvasElementcpp">trunk/Source/WebCore/html/HTMLCanvasElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLPlugInElementcpp">trunk/Source/WebCore/html/HTMLPlugInElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLPlugInImageElementcpp">trunk/Source/WebCore/html/HTMLPlugInImageElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlSearchInputTypecpp">trunk/Source/WebCore/html/SearchInputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlshadowTextControlInnerElementscpp">trunk/Source/WebCore/html/shadow/TextControlInnerElements.cpp</a></li>
<li><a href="#trunkSourceWebCorepageFrameViewcpp">trunk/Source/WebCore/page/FrameView.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderButtonh">trunk/Source/WebCore/rendering/RenderButton.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderCounterh">trunk/Source/WebCore/rendering/RenderCounter.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderDetailsMarkerh">trunk/Source/WebCore/rendering/RenderDetailsMarker.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderFieldseth">trunk/Source/WebCore/rendering/RenderFieldset.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderFileUploadControlcpp">trunk/Source/WebCore/rendering/RenderFileUploadControl.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderFileUploadControlh">trunk/Source/WebCore/rendering/RenderFileUploadControl.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderFlexibleBoxh">trunk/Source/WebCore/rendering/RenderFlexibleBox.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderFullScreenh">trunk/Source/WebCore/rendering/RenderFullScreen.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderGridh">trunk/Source/WebCore/rendering/RenderGrid.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderHTMLCanvash">trunk/Source/WebCore/rendering/RenderHTMLCanvas.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderIFrameh">trunk/Source/WebCore/rendering/RenderIFrame.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderLayerBackingcpp">trunk/Source/WebCore/rendering/RenderLayerBacking.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderMediah">trunk/Source/WebCore/rendering/RenderMedia.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderQuotecpp">trunk/Source/WebCore/rendering/RenderQuote.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderQuoteh">trunk/Source/WebCore/rendering/RenderQuote.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderReplacedh">trunk/Source/WebCore/rendering/RenderReplaced.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderScrollbarParth">trunk/Source/WebCore/rendering/RenderScrollbarPart.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderSearchFieldh">trunk/Source/WebCore/rendering/RenderSearchField.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderSnapshottedPlugInh">trunk/Source/WebCore/rendering/RenderSnapshottedPlugIn.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderTableCaptionh">trunk/Source/WebCore/rendering/RenderTableCaption.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderTextControlMultiLineh">trunk/Source/WebCore/rendering/RenderTextControlMultiLine.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderTextControlSingleLineh">trunk/Source/WebCore/rendering/RenderTextControlSingleLine.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderThemeMacmm">trunk/Source/WebCore/rendering/RenderThemeMac.mm</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderTreeAsTextcpp">trunk/Source/WebCore/rendering/RenderTreeAsText.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderVideocpp">trunk/Source/WebCore/rendering/RenderVideo.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderinglineBreakingContextInlineHeadersh">trunk/Source/WebCore/rendering/line/BreakingContextInlineHeaders.h</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgRenderSVGContainerh">trunk/Source/WebCore/rendering/svg/RenderSVGContainer.h</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgRenderSVGGradientStoph">trunk/Source/WebCore/rendering/svg/RenderSVGGradientStop.h</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgRenderSVGModelObjecth">trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.h</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgRenderSVGPathh">trunk/Source/WebCore/rendering/svg/RenderSVGPath.h</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgRenderSVGResourceFilterh">trunk/Source/WebCore/rendering/svg/RenderSVGResourceFilter.h</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgRenderSVGResourceFilterPrimitivecpp">trunk/Source/WebCore/rendering/svg/RenderSVGResourceFilterPrimitive.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgRenderSVGTextPathh">trunk/Source/WebCore/rendering/svg/RenderSVGTextPath.h</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgRenderSVGTransformableContainerh">trunk/Source/WebCore/rendering/svg/RenderSVGTransformableContainer.h</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgRenderSVGViewportContainerh">trunk/Source/WebCore/rendering/svg/RenderSVGViewportContainer.h</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgSVGRenderSupportcpp">trunk/Source/WebCore/rendering/svg/SVGRenderSupport.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgSVGTextLayoutEnginecpp">trunk/Source/WebCore/rendering/svg/SVGTextLayoutEngine.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPathElementcpp">trunk/Source/WebCore/svg/SVGPathElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGSVGElementcpp">trunk/Source/WebCore/svg/SVGSVGElement.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/ChangeLog        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -1,5 +1,101 @@
</span><span class="cx"> 2014-10-10  Chris Dumez  &lt;cdumez@apple.com&gt;
</span><span class="cx"> 
</span><ins>+        Drop RENDER_OBJECT_TYPE_CASTS() for a lot of RenderObject subclasses
+        https://bugs.webkit.org/show_bug.cgi?id=137594
+
+        Reviewed by Darin Adler.
+
+        Drop RENDER_OBJECT_TYPE_CASTS() for RenderObject subclasses that no
+        longer needed it or that required very few changes to do so. This will
+        make sure developers start using is&lt;&gt;() / downcast&lt;&gt;() for those
+        classes.
+
+        No new tests, no behavior change.
+
+        * accessibility/AccessibilityRenderObject.cpp:
+        (WebCore::AccessibilityRenderObject::textUnderElement):
+        (WebCore::AccessibilityRenderObject::stringValue):
+        (WebCore::AccessibilityRenderObject::titleUIElement):
+        * dom/PseudoElement.cpp:
+        (WebCore::PseudoElement::didAttachRenderers):
+        * html/HTMLCanvasElement.cpp:
+        (WebCore::HTMLCanvasElement::reset):
+        * html/HTMLPlugInElement.cpp:
+        (WebCore::HTMLPlugInElement::defaultEventHandler):
+        * html/HTMLPlugInImageElement.cpp:
+        (WebCore::HTMLPlugInImageElement::updateSnapshot):
+        (WebCore::HTMLPlugInImageElement::checkSnapshotStatus):
+        * html/SearchInputType.cpp:
+        (WebCore::SearchInputType::addSearchResult):
+        (WebCore::SearchInputType::didSetValueByUserEdit):
+        * html/shadow/TextControlInnerElements.cpp:
+        (WebCore::TextControlInnerTextElement::renderer):
+        (WebCore::TextControlInnerTextElement::customStyleForRenderer):
+        (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
+        * page/FrameView.cpp:
+        (WebCore::FrameView::isInChildFrameWithFrameFlattening):
+        * rendering/RenderButton.h:
+        * rendering/RenderCounter.h:
+        * rendering/RenderDetailsMarker.h:
+        * rendering/RenderFieldset.h:
+        * rendering/RenderFileUploadControl.cpp:
+        (WebCore::RenderFileUploadControl::paintObject):
+        * rendering/RenderFileUploadControl.h:
+        * rendering/RenderFlexibleBox.h:
+        * rendering/RenderFullScreen.h:
+        * rendering/RenderGrid.h:
+        * rendering/RenderHTMLCanvas.h:
+        * rendering/RenderIFrame.h:
+        * rendering/RenderLayerBacking.cpp:
+        (WebCore::RenderLayerBacking::contentsBox):
+        * rendering/RenderMedia.h:
+        * rendering/RenderQuote.cpp:
+        (WebCore::RenderQuote::attachQuote):
+        * rendering/RenderQuote.h:
+        * rendering/RenderReplaced.h:
+        * rendering/RenderScrollbarPart.h:
+        * rendering/RenderSearchField.h:
+        * rendering/RenderSnapshottedPlugIn.h:
+        * rendering/RenderTableCaption.h:
+        * rendering/RenderTextControlMultiLine.h:
+        * rendering/RenderTextControlSingleLine.h:
+        * rendering/RenderThemeMac.mm:
+        (WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):
+        * rendering/RenderTreeAsText.cpp:
+        (WebCore::RenderTreeAsText::writeRenderObject):
+        * rendering/RenderVideo.cpp:
+        (WebCore::rendererPlaceholder):
+        * rendering/line/BreakingContextInlineHeaders.h:
+        (WebCore::updateCounterIfNeeded):
+        * rendering/svg/RenderSVGContainer.h:
+        * rendering/svg/RenderSVGGradientStop.h:
+        * rendering/svg/RenderSVGModelObject.h:
+        * rendering/svg/RenderSVGPath.h:
+        * rendering/svg/RenderSVGResourceFilter.h:
+        * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
+        (WebCore::RenderSVGResourceFilterPrimitive::styleDidChange):
+        * rendering/svg/RenderSVGTextPath.h:
+        * rendering/svg/RenderSVGTransformableContainer.h:
+        * rendering/svg/RenderSVGViewportContainer.h:
+        * rendering/svg/SVGRenderSupport.cpp:
+        (WebCore::SVGRenderSupport::repaintRectForRendererInLocalCoordinatesExcludingSVGShadow):
+        (WebCore::SVGRenderSupport::checkForSVGRepaintDuringLayout):
+        (WebCore::updateObjectBoundingBox):
+        (WebCore::layoutSizeOfNearestViewportChanged):
+        (WebCore::SVGRenderSupport::transformToRootChanged):
+        (WebCore::SVGRenderSupport::rendererHasSVGShadow):
+        (WebCore::SVGRenderSupport::setRendererHasSVGShadow):
+        * rendering/svg/SVGTextLayoutEngine.cpp:
+        (WebCore::SVGTextLayoutEngine::beginTextPathLayout):
+        * svg/SVGPathElement.cpp:
+        (WebCore::SVGPathElement::svgAttributeChanged):
+        (WebCore::SVGPathElement::pathSegListChanged):
+        (WebCore::SVGPathElement::getBBox):
+        * svg/SVGSVGElement.cpp:
+        (WebCore::SVGSVGElement::currentViewportSize):
+
+2014-10-10  Chris Dumez  &lt;cdumez@apple.com&gt;
+
</ins><span class="cx">         Use is&lt;&gt;() / downcast&lt;&gt;() for GraphicsLayer subclasses
</span><span class="cx">         https://bugs.webkit.org/show_bug.cgi?id=137595
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityAccessibilityRenderObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -623,8 +623,8 @@
</span><span class="cx">     if (!m_renderer)
</span><span class="cx">         return String();
</span><span class="cx"> 
</span><del>-    if (m_renderer-&gt;isFileUploadControl())
-        return toRenderFileUploadControl(m_renderer)-&gt;buttonValue();
</del><ins>+    if (is&lt;RenderFileUploadControl&gt;(*m_renderer))
+        return downcast&lt;RenderFileUploadControl&gt;(*m_renderer).buttonValue();
</ins><span class="cx">     
</span><span class="cx">     // Reflect when a content author has explicitly marked a line break.
</span><span class="cx">     if (m_renderer-&gt;isBR())
</span><span class="lines">@@ -722,10 +722,10 @@
</span><span class="cx">         return staticText;
</span><span class="cx">     }
</span><span class="cx">         
</span><del>-    if (m_renderer-&gt;isText())
</del><ins>+    if (is&lt;RenderText&gt;(*m_renderer))
</ins><span class="cx">         return textUnderElement();
</span><span class="cx">     
</span><del>-    if (cssBox &amp;&amp; cssBox-&gt;isMenuList()) {
</del><ins>+    if (is&lt;RenderMenuList&gt;(cssBox)) {
</ins><span class="cx">         // RenderMenuList will go straight to the text() of its selected item.
</span><span class="cx">         // This has to be overridden in the case where the selected item has an ARIA label.
</span><span class="cx">         HTMLSelectElement&amp; selectElement = downcast&lt;HTMLSelectElement&gt;(*m_renderer-&gt;node());
</span><span class="lines">@@ -736,11 +736,11 @@
</span><span class="cx">             if (!overriddenDescription.isNull())
</span><span class="cx">                 return overriddenDescription;
</span><span class="cx">         }
</span><del>-        return toRenderMenuList(m_renderer)-&gt;text();
</del><ins>+        return downcast&lt;RenderMenuList&gt;(*m_renderer).text();
</ins><span class="cx">     }
</span><span class="cx">     
</span><del>-    if (m_renderer-&gt;isListMarker())
-        return toRenderListMarker(*m_renderer).text();
</del><ins>+    if (is&lt;RenderListMarker&gt;(*m_renderer))
+        return downcast&lt;RenderListMarker&gt;(*m_renderer).text();
</ins><span class="cx">     
</span><span class="cx">     if (isWebArea())
</span><span class="cx">         return String();
</span><span class="lines">@@ -748,8 +748,8 @@
</span><span class="cx">     if (isTextControl())
</span><span class="cx">         return text();
</span><span class="cx">     
</span><del>-    if (m_renderer-&gt;isFileUploadControl())
-        return toRenderFileUploadControl(m_renderer)-&gt;fileTextValue();
</del><ins>+    if (is&lt;RenderFileUploadControl&gt;(*m_renderer))
+        return downcast&lt;RenderFileUploadControl&gt;(*m_renderer).fileTextValue();
</ins><span class="cx">     
</span><span class="cx">     // FIXME: We might need to implement a value here for more types
</span><span class="cx">     // FIXME: It would be better not to advertise a value at all for the types for which we don't implement one;
</span><span class="lines">@@ -1086,7 +1086,7 @@
</span><span class="cx">     
</span><span class="cx">     // if isFieldset is true, the renderer is guaranteed to be a RenderFieldset
</span><span class="cx">     if (isFieldset())
</span><del>-        return axObjectCache()-&gt;getOrCreate(toRenderFieldset(m_renderer)-&gt;findLegend(RenderFieldset::IncludeFloatingOrOutOfFlow));
</del><ins>+        return axObjectCache()-&gt;getOrCreate(downcast&lt;RenderFieldset&gt;(*m_renderer).findLegend(RenderFieldset::IncludeFloatingOrOutOfFlow));
</ins><span class="cx">     
</span><span class="cx">     Node* node = m_renderer-&gt;node();
</span><span class="cx">     if (!is&lt;Element&gt;(node))
</span></span></pre></div>
<a id="trunkSourceWebCoredomPseudoElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/PseudoElement.cpp (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/PseudoElement.cpp        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/dom/PseudoElement.cpp        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -89,8 +89,8 @@
</span><span class="cx">         if (renderer-&gt;isChildAllowed(*child, style)) {
</span><span class="cx">             auto* childPtr = child.get();
</span><span class="cx">             renderer-&gt;addChild(child.leakPtr());
</span><del>-            if (childPtr-&gt;isQuote())
-                toRenderQuote(childPtr)-&gt;attachQuote();
</del><ins>+            if (is&lt;RenderQuote&gt;(*childPtr))
+                downcast&lt;RenderQuote&gt;(*childPtr).attachQuote();
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLCanvasElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLCanvasElement.cpp (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLCanvasElement.cpp        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/html/HTMLCanvasElement.cpp        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -330,7 +330,7 @@
</span><span class="cx">     if (auto renderer = this-&gt;renderer()) {
</span><span class="cx">         if (m_rendererIsCanvas) {
</span><span class="cx">             if (oldSize != size()) {
</span><del>-                toRenderHTMLCanvas(renderer)-&gt;canvasSizeChanged();
</del><ins>+                downcast&lt;RenderHTMLCanvas&gt;(*renderer).canvasSizeChanged();
</ins><span class="cx">                 if (renderBox() &amp;&amp; renderBox()-&gt;hasAcceleratedCompositing())
</span><span class="cx">                     renderBox()-&gt;contentChanged(CanvasChanged);
</span><span class="cx">             }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLPlugInElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLPlugInElement.cpp (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLPlugInElement.cpp        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/html/HTMLPlugInElement.cpp        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -207,17 +207,17 @@
</span><span class="cx">     // FIXME: Mouse down and scroll events are passed down to plug-in via custom code in EventHandler; these code paths should be united.
</span><span class="cx"> 
</span><span class="cx">     auto renderer = this-&gt;renderer();
</span><del>-    if (!renderer || !renderer-&gt;isWidget())
</del><ins>+    if (!is&lt;RenderWidget&gt;(renderer))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    if (renderer-&gt;isEmbeddedObject()) {
-        if (toRenderEmbeddedObject(renderer)-&gt;isPluginUnavailable()) {
-            toRenderEmbeddedObject(renderer)-&gt;handleUnavailablePluginIndicatorEvent(event);
</del><ins>+    if (is&lt;RenderEmbeddedObject&gt;(*renderer)) {
+        if (downcast&lt;RenderEmbeddedObject&gt;(*renderer).isPluginUnavailable()) {
+            downcast&lt;RenderEmbeddedObject&gt;(*renderer).handleUnavailablePluginIndicatorEvent(event);
</ins><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        if (toRenderEmbeddedObject(renderer)-&gt;isSnapshottedPlugIn() &amp;&amp; displayState() &lt; Restarting) {
-            toRenderSnapshottedPlugIn(renderer)-&gt;handleEvent(event);
</del><ins>+        if (is&lt;RenderSnapshottedPlugIn&gt;(*renderer) &amp;&amp; displayState() &lt; Restarting) {
+            downcast&lt;RenderSnapshottedPlugIn&gt;(*renderer).handleEvent(event);
</ins><span class="cx">             HTMLFrameOwnerElement::defaultEventHandler(event);
</span><span class="cx">             return;
</span><span class="cx">         }
</span><span class="lines">@@ -226,7 +226,7 @@
</span><span class="cx">             return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    RefPtr&lt;Widget&gt; widget = toRenderWidget(renderer)-&gt;widget();
</del><ins>+    RefPtr&lt;Widget&gt; widget = downcast&lt;RenderWidget&gt;(*renderer).widget();
</ins><span class="cx">     if (!widget)
</span><span class="cx">         return;
</span><span class="cx">     widget-&gt;handleEvent(event);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLPlugInImageElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLPlugInImageElement.cpp (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLPlugInImageElement.cpp        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/html/HTMLPlugInImageElement.cpp        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -334,12 +334,12 @@
</span><span class="cx"> 
</span><span class="cx">     m_snapshotImage = image;
</span><span class="cx"> 
</span><del>-    if (renderer()-&gt;isSnapshottedPlugIn()) {
-        toRenderSnapshottedPlugIn(renderer())-&gt;updateSnapshot(image);
</del><ins>+    if (is&lt;RenderSnapshottedPlugIn&gt;(*renderer())) {
+        downcast&lt;RenderSnapshottedPlugIn&gt;(*renderer()).updateSnapshot(image);
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (renderer()-&gt;isEmbeddedObject())
</del><ins>+    if (is&lt;RenderEmbeddedObject&gt;(*renderer()))
</ins><span class="cx">         renderer()-&gt;repaint();
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -582,7 +582,7 @@
</span><span class="cx">     
</span><span class="cx"> void HTMLPlugInImageElement::checkSnapshotStatus()
</span><span class="cx"> {
</span><del>-    if (!renderer()-&gt;isSnapshottedPlugIn()) {
</del><ins>+    if (!is&lt;RenderSnapshottedPlugIn&gt;(*renderer())) {
</ins><span class="cx">         if (displayState() == Playing)
</span><span class="cx">             checkSizeChangeForSnapshotting();
</span><span class="cx">         return;
</span><span class="lines">@@ -590,7 +590,7 @@
</span><span class="cx">     
</span><span class="cx">     // If width and height styles were previously not set and we've snapshotted the plugin we may need to restart the plugin so that its state can be updated appropriately.
</span><span class="cx">     if (!document().page()-&gt;settings().snapshotAllPlugIns() &amp;&amp; displayState() &lt;= DisplayingSnapshot &amp;&amp; !m_plugInDimensionsSpecified) {
</span><del>-        RenderSnapshottedPlugIn&amp; renderer = toRenderSnapshottedPlugIn(*this-&gt;renderer());
</del><ins>+        RenderSnapshottedPlugIn&amp; renderer = downcast&lt;RenderSnapshottedPlugIn&gt;(*this-&gt;renderer());
</ins><span class="cx">         if (!renderer.style().logicalWidth().isSpecified() &amp;&amp; !renderer.style().logicalHeight().isSpecified())
</span><span class="cx">             return;
</span><span class="cx">         
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlSearchInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/SearchInputType.cpp (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/SearchInputType.cpp        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/html/SearchInputType.cpp        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -55,8 +55,8 @@
</span><span class="cx"> void SearchInputType::addSearchResult()
</span><span class="cx"> {
</span><span class="cx"> #if !PLATFORM(IOS)
</span><del>-    if (RenderObject* renderer = element().renderer())
-        toRenderSearchField(renderer)-&gt;addSearchResult();
</del><ins>+    if (auto* renderer = element().renderer())
+        downcast&lt;RenderSearchField&gt;(*renderer).addSearchResult();
</ins><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -186,7 +186,7 @@
</span><span class="cx"> void SearchInputType::didSetValueByUserEdit(ValueChangeState state)
</span><span class="cx"> {
</span><span class="cx">     if (m_cancelButton)
</span><del>-        toRenderSearchField(element().renderer())-&gt;updateCancelButtonVisibility();
</del><ins>+        downcast&lt;RenderSearchField&gt;(*element().renderer()).updateCancelButtonVisibility();
</ins><span class="cx"> 
</span><span class="cx">     // If the incremental attribute is set, then dispatch the search event
</span><span class="cx">     if (searchEventsShouldBeDispatched())
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlshadowTextControlInnerElementscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/shadow/TextControlInnerElements.cpp (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/shadow/TextControlInnerElements.cpp        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/html/shadow/TextControlInnerElements.cpp        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -117,13 +117,13 @@
</span><span class="cx"> 
</span><span class="cx"> RenderTextControlInnerBlock* TextControlInnerTextElement::renderer() const
</span><span class="cx"> {
</span><del>-    return toRenderTextControlInnerBlock(HTMLDivElement::renderer());
</del><ins>+    return downcast&lt;RenderTextControlInnerBlock&gt;(HTMLDivElement::renderer());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PassRefPtr&lt;RenderStyle&gt; TextControlInnerTextElement::customStyleForRenderer(RenderStyle&amp;)
</span><span class="cx"> {
</span><del>-    RenderTextControl* parentRenderer = toRenderTextControl(shadowHost()-&gt;renderer());
-    return parentRenderer-&gt;createInnerTextStyle(&amp;parentRenderer-&gt;style());
</del><ins>+    RenderTextControl&amp; parentRenderer = downcast&lt;RenderTextControl&gt;(*shadowHost()-&gt;renderer());
+    return parentRenderer.createInnerTextStyle(&amp;parentRenderer.style());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // ----------------------------
</span><span class="lines">@@ -146,11 +146,11 @@
</span><span class="cx">         input-&gt;focus();
</span><span class="cx">         input-&gt;select();
</span><span class="cx"> #if !PLATFORM(IOS)
</span><del>-        RenderSearchField* renderer = toRenderSearchField(input-&gt;renderer());
-        if (renderer-&gt;popupIsVisible())
-            renderer-&gt;hidePopup();
</del><ins>+        RenderSearchField&amp; renderer = downcast&lt;RenderSearchField&gt;(*input-&gt;renderer());
+        if (renderer.popupIsVisible())
+            renderer.hidePopup();
</ins><span class="cx">         else if (input-&gt;maxResults() &gt; 0)
</span><del>-            renderer-&gt;showPopup();
</del><ins>+            renderer.showPopup();
</ins><span class="cx"> #endif
</span><span class="cx">         event-&gt;setDefaultHandled();
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebCorepageFrameViewcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/FrameView.cpp (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/FrameView.cpp        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/page/FrameView.cpp        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -3597,16 +3597,16 @@
</span><span class="cx"> 
</span><span class="cx">     // Frame flattening applies when the owner element is either in a frameset or
</span><span class="cx">     // an iframe with flattening parameters.
</span><del>-    if (frame().ownerElement()-&gt;hasTagName(iframeTag)) {
-        RenderIFrame* iframeRenderer = toRenderIFrame(frame().ownerElement()-&gt;renderWidget());
-        if (iframeRenderer-&gt;flattenFrame())
</del><ins>+    if (is&lt;HTMLIFrameElement&gt;(*frame().ownerElement())) {
+        RenderIFrame&amp; iframeRenderer = downcast&lt;RenderIFrame&gt;(*frame().ownerElement()-&gt;renderWidget());
+        if (iframeRenderer.flattenFrame())
</ins><span class="cx">             return true;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (!frameFlatteningEnabled())
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    if (frame().ownerElement()-&gt;hasTagName(frameTag))
</del><ins>+    if (is&lt;HTMLFrameElement&gt;(*frame().ownerElement()))
</ins><span class="cx">         return true;
</span><span class="cx"> 
</span><span class="cx">     return false;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderButtonh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderButton.h (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderButton.h        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/RenderButton.h        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -83,8 +83,6 @@
</span><span class="cx">     bool m_default;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-RENDER_OBJECT_TYPE_CASTS(RenderButton, isRenderButton())
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderButton, isRenderButton())
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderCounterh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderCounter.h (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderCounter.h        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/RenderCounter.h        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -62,8 +62,6 @@
</span><span class="cx">     friend class CounterNode;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-RENDER_OBJECT_TYPE_CASTS(RenderCounter, isCounter())
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderCounter, isCounter())
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderDetailsMarkerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderDetailsMarker.h (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderDetailsMarker.h        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/RenderDetailsMarker.h        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -45,8 +45,6 @@
</span><span class="cx">     Path getPath(const LayoutPoint&amp; origin) const;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-RENDER_OBJECT_TYPE_CASTS(RenderDetailsMarker, isDetailsMarker())
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderDetailsMarker, isDetailsMarker())
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderFieldseth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderFieldset.h (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderFieldset.h        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/RenderFieldset.h        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -55,8 +55,6 @@
</span><span class="cx">     virtual void paintMask(PaintInfo&amp;, const LayoutPoint&amp;) override;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-RENDER_OBJECT_TYPE_CASTS(RenderFieldset, isFieldset())
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderFieldset, isFieldset())
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderFileUploadControlcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderFileUploadControl.cpp (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderFileUploadControl.cpp        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/RenderFileUploadControl.cpp        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -158,7 +158,7 @@
</span><span class="cx">         LayoutUnit textY = 0;
</span><span class="cx">         // We want to match the button's baseline
</span><span class="cx">         // FIXME: Make this work with transforms.
</span><del>-        if (RenderButton* buttonRenderer = toRenderButton(button-&gt;renderer()))
</del><ins>+        if (RenderButton* buttonRenderer = downcast&lt;RenderButton&gt;(button-&gt;renderer()))
</ins><span class="cx">             textY = paintOffset.y() + borderTop() + paddingTop() + buttonRenderer-&gt;baselinePosition(AlphabeticBaseline, true, HorizontalLine, PositionOnContainingLine);
</span><span class="cx">         else
</span><span class="cx">             textY = baselinePosition(AlphabeticBaseline, true, HorizontalLine, PositionOnContainingLine);
</span><span class="lines">@@ -178,7 +178,7 @@
</span><span class="cx">                 iconX = contentLeft + contentWidth() - buttonWidth - afterButtonSpacing - iconWidth;
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span><del>-            if (RenderButton* buttonRenderer = toRenderButton(button-&gt;renderer())) {
</del><ins>+            if (RenderButton* buttonRenderer = downcast&lt;RenderButton&gt;(button-&gt;renderer())) {
</ins><span class="cx">                 // Draw the file icon and decorations.
</span><span class="cx">                 IntRect iconRect(iconX, iconY, iconWidth, iconHeight);
</span><span class="cx">                 RenderTheme::FileUploadDecorations decorationsType = inputElement().files()-&gt;length() == 1 ? RenderTheme::SingleFile : RenderTheme::MultipleFiles;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderFileUploadControlh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderFileUploadControl.h (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderFileUploadControl.h        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/RenderFileUploadControl.h        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -64,8 +64,6 @@
</span><span class="cx">     bool m_canReceiveDroppedFiles;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-RENDER_OBJECT_TYPE_CASTS(RenderFileUploadControl, isFileUploadControl())
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderFileUploadControl, isFileUploadControl())
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderFlexibleBoxh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderFlexibleBox.h (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderFlexibleBox.h        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/RenderFlexibleBox.h        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -161,8 +161,6 @@
</span><span class="cx">     int m_numberOfInFlowChildrenOnFirstLine;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-RENDER_OBJECT_TYPE_CASTS(RenderFlexibleBox, isFlexibleBox())
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderFlexibleBox, isFlexibleBox())
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderFullScreenh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderFullScreen.h (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderFullScreen.h        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/RenderFullScreen.h        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -53,8 +53,6 @@
</span><span class="cx">     RenderBlock* m_placeholder;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-RENDER_OBJECT_TYPE_CASTS(RenderFullScreen, isRenderFullScreen())
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderFullScreen, isRenderFullScreen())
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderGridh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderGrid.h (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderGrid.h        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/RenderGrid.h        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -131,8 +131,6 @@
</span><span class="cx">     OrderIterator m_orderIterator;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-RENDER_OBJECT_TYPE_CASTS(RenderGrid, isRenderGrid())
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderGrid, isRenderGrid())
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderHTMLCanvash"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderHTMLCanvas.h (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderHTMLCanvas.h        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/RenderHTMLCanvas.h        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -49,8 +49,6 @@
</span><span class="cx">     virtual void intrinsicSizeChanged() override { canvasSizeChanged(); }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-RENDER_OBJECT_TYPE_CASTS(RenderHTMLCanvas, isCanvas())
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderHTMLCanvas, isCanvas())
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderIFrameh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderIFrame.h (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderIFrame.h        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/RenderIFrame.h        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -62,8 +62,6 @@
</span><span class="cx">     RenderView* contentRootRenderer() const;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-RENDER_OBJECT_TYPE_CASTS(RenderIFrame, isRenderIFrame())
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderIFrame, isRenderIFrame())
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderLayerBackingcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderLayerBacking.cpp (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderLayerBacking.cpp        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/RenderLayerBacking.cpp        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -1919,18 +1919,18 @@
</span><span class="cx"> 
</span><span class="cx"> LayoutRect RenderLayerBacking::contentsBox() const
</span><span class="cx"> {
</span><del>-    if (!renderer().isBox())
</del><ins>+    if (!is&lt;RenderBox&gt;(renderer()))
</ins><span class="cx">         return LayoutRect();
</span><span class="cx"> 
</span><del>-    RenderBox&amp; renderBox = toRenderBox(renderer());
</del><ins>+    RenderBox&amp; renderBox = downcast&lt;RenderBox&gt;(renderer());
</ins><span class="cx">     LayoutRect contentsRect;
</span><span class="cx"> #if ENABLE(VIDEO)
</span><del>-    if (renderBox.isVideo())
-        contentsRect = toRenderVideo(renderBox).videoBox();
</del><ins>+    if (is&lt;RenderVideo&gt;(renderBox))
+        contentsRect = downcast&lt;RenderVideo&gt;(renderBox).videoBox();
</ins><span class="cx">     else
</span><span class="cx"> #endif
</span><del>-    if (renderBox.isRenderReplaced()) {
-        RenderReplaced&amp; renderReplaced = *toRenderReplaced(&amp;renderBox);
</del><ins>+    if (is&lt;RenderReplaced&gt;(renderBox)) {
+        RenderReplaced&amp; renderReplaced = downcast&lt;RenderReplaced&gt;(renderBox);
</ins><span class="cx">         contentsRect = renderReplaced.replacedContentRect(renderBox.intrinsicSize());
</span><span class="cx">     } else
</span><span class="cx">         contentsRect = renderBox.contentBoxRect();
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderMediah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderMedia.h (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderMedia.h        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/RenderMedia.h        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -56,8 +56,6 @@
</span><span class="cx">     virtual bool shadowControlsNeedCustomLayoutMetrics() const { return true; }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-RENDER_OBJECT_TYPE_CASTS(RenderMedia, isMedia())
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderMedia, isMedia())
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderQuotecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderQuote.cpp (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderQuote.cpp        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/RenderQuote.cpp        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -393,9 +393,9 @@
</span><span class="cx">         for (RenderObject* predecessor = previousInPreOrder(); predecessor; predecessor = predecessor-&gt;previousInPreOrder()) {
</span><span class="cx">             // Skip unattached predecessors to avoid having stale m_previous pointers
</span><span class="cx">             // if the previous node is never attached and is then destroyed.
</span><del>-            if (!predecessor-&gt;isQuote() || !toRenderQuote(predecessor)-&gt;m_isAttached)
</del><ins>+            if (!is&lt;RenderQuote&gt;(*predecessor) || !downcast&lt;RenderQuote&gt;(*predecessor).m_isAttached)
</ins><span class="cx">                 continue;
</span><del>-            m_previous = toRenderQuote(predecessor);
</del><ins>+            m_previous = downcast&lt;RenderQuote&gt;(predecessor);
</ins><span class="cx">             m_next = m_previous-&gt;m_next;
</span><span class="cx">             m_previous-&gt;m_next = this;
</span><span class="cx">             if (m_next)
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderQuoteh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderQuote.h (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderQuote.h        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/RenderQuote.h        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -55,8 +55,6 @@
</span><span class="cx">     String m_text;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-RENDER_OBJECT_TYPE_CASTS(RenderQuote, isQuote())
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderQuote, isQuote())
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderReplacedh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderReplaced.h (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderReplaced.h        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/RenderReplaced.h        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -89,8 +89,6 @@
</span><span class="cx">     mutable LayoutSize m_intrinsicSize;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-RENDER_OBJECT_TYPE_CASTS(RenderReplaced, isRenderReplaced())
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderReplaced, isRenderReplaced())
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderScrollbarParth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderScrollbarPart.h (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderScrollbarPart.h        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/RenderScrollbarPart.h        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -73,8 +73,6 @@
</span><span class="cx">     ScrollbarPart m_part;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-RENDER_OBJECT_TYPE_CASTS(RenderScrollbarPart, isRenderScrollbarPart())
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderScrollbarPart, isRenderScrollbarPart())
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderSearchFieldh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderSearchField.h (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderSearchField.h        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/RenderSearchField.h        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -90,8 +90,6 @@
</span><span class="cx">     Vector&lt;String&gt; m_recentSearches;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-RENDER_OBJECT_TYPE_CASTS(RenderSearchField, isTextField())
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderSearchField, isTextField())
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderSnapshottedPlugInh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderSnapshottedPlugIn.h (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderSnapshottedPlugIn.h        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/RenderSnapshottedPlugIn.h        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -63,8 +63,6 @@
</span><span class="cx">     bool m_isPotentialMouseActivation;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-RENDER_OBJECT_TYPE_CASTS(RenderSnapshottedPlugIn, isSnapshottedPlugIn())
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderSnapshottedPlugIn, isSnapshottedPlugIn())
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderTableCaptionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderTableCaption.h (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderTableCaption.h        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/RenderTableCaption.h        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -44,8 +44,6 @@
</span><span class="cx">     RenderTable* table() const;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-RENDER_OBJECT_TYPE_CASTS(RenderTableCaption, isTableCaption())
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderTableCaption, isTableCaption())
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderTextControlMultiLineh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderTextControlMultiLine.h (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderTextControlMultiLine.h        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/RenderTextControlMultiLine.h        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -51,8 +51,6 @@
</span><span class="cx">     virtual RenderObject* layoutSpecialExcludedChild(bool relayoutChildren);
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-RENDER_OBJECT_TYPE_CASTS(RenderTextControlMultiLine, isTextArea())
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderTextControlMultiLine, isTextArea())
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderTextControlSingleLineh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderTextControlSingleLine.h (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderTextControlSingleLine.h        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/RenderTextControlSingleLine.h        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -113,8 +113,6 @@
</span><span class="cx">     virtual bool isTextControlInnerBlock() const override { return true; }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-RENDER_OBJECT_TYPE_CASTS(RenderTextControlInnerBlock, isTextControlInnerBlock())
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderTextControlSingleLine, isTextField())
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderThemeMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderThemeMac.mm (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderThemeMac.mm        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/RenderThemeMac.mm        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -1863,7 +1863,7 @@
</span><span class="cx">         return true;
</span><span class="cx"> 
</span><span class="cx">     HTMLPlugInElement&amp; plugInElement = downcast&lt;HTMLPlugInElement&gt;(*parent);
</span><del>-    if (!plugInElement.isPlugInImageElement())
</del><ins>+    if (!is&lt;HTMLPlugInImageElement&gt;(plugInElement))
</ins><span class="cx">         return true;
</span><span class="cx"> 
</span><span class="cx">     HTMLPlugInImageElement&amp; plugInImageElement = downcast&lt;HTMLPlugInImageElement&gt;(plugInElement);
</span><span class="lines">@@ -1872,27 +1872,27 @@
</span><span class="cx">     if (!snapshot)
</span><span class="cx">         return true;
</span><span class="cx"> 
</span><del>-    RenderSnapshottedPlugIn* plugInRenderer = toRenderSnapshottedPlugIn(plugInImageElement.renderer());
-    FloatPoint snapshotAbsPos = plugInRenderer-&gt;localToAbsolute();
-    snapshotAbsPos.move(plugInRenderer-&gt;borderLeft() + plugInRenderer-&gt;paddingLeft(), plugInRenderer-&gt;borderTop() + plugInRenderer-&gt;paddingTop());
</del><ins>+    RenderSnapshottedPlugIn&amp; plugInRenderer = downcast&lt;RenderSnapshottedPlugIn&gt;(*plugInImageElement.renderer());
+    FloatPoint snapshotAbsPos = plugInRenderer.localToAbsolute();
+    snapshotAbsPos.move(plugInRenderer.borderLeft() + plugInRenderer.paddingLeft(), plugInRenderer.borderTop() + plugInRenderer.paddingTop());
</ins><span class="cx"> 
</span><span class="cx">     // We could draw the snapshot with that coordinates, but we need to make sure there
</span><span class="cx">     // isn't a composited layer between us and the plugInRenderer.
</span><del>-    for (auto* renderBox = &amp;downcast&lt;RenderBox&gt;(renderer); renderBox != plugInRenderer; renderBox = renderBox-&gt;parentBox()) {
</del><ins>+    for (auto* renderBox = &amp;downcast&lt;RenderBox&gt;(renderer); renderBox != &amp;plugInRenderer; renderBox = renderBox-&gt;parentBox()) {
</ins><span class="cx">         if (renderBox-&gt;hasLayer() &amp;&amp; renderBox-&gt;layer() &amp;&amp; renderBox-&gt;layer()-&gt;isComposited()) {
</span><span class="cx">             snapshotAbsPos = -renderBox-&gt;location();
</span><span class="cx">             break;
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    LayoutSize pluginSize(plugInRenderer-&gt;contentWidth(), plugInRenderer-&gt;contentHeight());
</del><ins>+    LayoutSize pluginSize(plugInRenderer.contentWidth(), plugInRenderer.contentHeight());
</ins><span class="cx">     LayoutRect pluginRect(snapshotAbsPos, pluginSize);
</span><span class="cx">     IntRect alignedPluginRect = snappedIntRect(pluginRect);
</span><span class="cx"> 
</span><span class="cx">     if (alignedPluginRect.width() &lt;= 0 || alignedPluginRect.height() &lt;= 0)
</span><span class="cx">         return true;
</span><span class="cx"> 
</span><del>-    context-&gt;drawImage(snapshot, plugInRenderer-&gt;style().colorSpace(), alignedPluginRect, CompositeSourceOver);
</del><ins>+    context-&gt;drawImage(snapshot, plugInRenderer.style().colorSpace(), alignedPluginRect, CompositeSourceOver);
</ins><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderTreeAsTextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderTreeAsText.cpp (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderTreeAsText.cpp        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/RenderTreeAsText.cpp        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -226,15 +226,15 @@
</span><span class="cx"> 
</span><span class="cx">     // FIXME: Temporary in order to ensure compatibility with existing layout test results.
</span><span class="cx">     if (adjustForTableCells)
</span><del>-        r.move(0, -toRenderTableCell(o.containingBlock())-&gt;intrinsicPaddingBefore());
</del><ins>+        r.move(0, -downcast&lt;RenderTableCell&gt;(*o.containingBlock()).intrinsicPaddingBefore());
</ins><span class="cx"> 
</span><span class="cx">     // FIXME: Convert layout test results to report sub-pixel values, in the meantime using enclosingIntRect
</span><span class="cx">     // for consistency with old results.
</span><span class="cx">     ts &lt;&lt; &quot; &quot; &lt;&lt; enclosingIntRect(r);
</span><span class="cx"> 
</span><del>-    if (!o.isText()) {
-        if (o.isFileUploadControl())
-            ts &lt;&lt; &quot; &quot; &lt;&lt; quoteAndEscapeNonPrintables(toRenderFileUploadControl(&amp;o)-&gt;fileTextValue());
</del><ins>+    if (!is&lt;RenderText&gt;(o)) {
+        if (is&lt;RenderFileUploadControl&gt;(o))
+            ts &lt;&lt; &quot; &quot; &lt;&lt; quoteAndEscapeNonPrintables(downcast&lt;RenderFileUploadControl&gt;(o).fileTextValue());
</ins><span class="cx"> 
</span><span class="cx">         if (o.parent()) {
</span><span class="cx">             Color color = o.style().visitedDependentColor(CSSPropertyColor);
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderVideocpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderVideo.cpp (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderVideo.cpp        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/RenderVideo.cpp        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -274,14 +274,7 @@
</span><span class="cx"> static const RenderBlock* rendererPlaceholder(const RenderObject* renderer)
</span><span class="cx"> {
</span><span class="cx">     RenderObject* parent = renderer-&gt;parent();
</span><del>-    if (!parent)
-        return 0;
-    
-    RenderFullScreen* fullScreen = parent-&gt;isRenderFullScreen() ? toRenderFullScreen(parent) : 0;
-    if (!fullScreen)
-        return 0;
-    
-    return fullScreen-&gt;placeholder();
</del><ins>+    return is&lt;RenderFullScreen&gt;(parent) ? downcast&lt;RenderFullScreen&gt;(*parent).placeholder() : nullptr;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> LayoutUnit RenderVideo::offsetLeft() const
</span></span></pre></div>
<a id="trunkSourceWebCorerenderinglineBreakingContextInlineHeadersh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/line/BreakingContextInlineHeaders.h (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/line/BreakingContextInlineHeaders.h        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/line/BreakingContextInlineHeaders.h        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -472,9 +472,9 @@
</span><span class="cx"> // so we don't need this hack.
</span><span class="cx"> inline void updateCounterIfNeeded(RenderText&amp; renderText)
</span><span class="cx"> {
</span><del>-    if (!renderText.preferredLogicalWidthsDirty() || !renderText.isCounter())
</del><ins>+    if (!renderText.preferredLogicalWidthsDirty() || !is&lt;RenderCounter&gt;(renderText))
</ins><span class="cx">         return;
</span><del>-    toRenderCounter(renderText).updateCounter();
</del><ins>+    downcast&lt;RenderCounter&gt;(renderText).updateCounter();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> inline float measureHyphenWidth(RenderText* renderer, const Font&amp; font, HashSet&lt;const SimpleFontData*&gt;* fallbackFonts = 0)
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgRenderSVGContainerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/svg/RenderSVGContainer.h (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/RenderSVGContainer.h        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGContainer.h        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -80,8 +80,6 @@
</span><span class="cx">     bool m_needsBoundariesUpdate : 1;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-RENDER_OBJECT_TYPE_CASTS(RenderSVGContainer, isSVGContainer())
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderSVGContainer, isSVGContainer())
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgRenderSVGGradientStoph"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/svg/RenderSVGGradientStop.h (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/RenderSVGGradientStop.h        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGGradientStop.h        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -60,8 +60,6 @@
</span><span class="cx">     SVGGradientElement* gradientElement();
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-RENDER_OBJECT_TYPE_CASTS(RenderSVGGradientStop, isSVGGradientStop())
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderSVGGradientStop, isSVGGradientStop())
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgRenderSVGModelObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.h (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.h        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.h        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -80,8 +80,6 @@
</span><span class="cx">     bool m_hasSVGShadow;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-RENDER_OBJECT_TYPE_CASTS(RenderSVGModelObject, isRenderSVGModelObject())
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderSVGModelObject, isRenderSVGModelObject())
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgRenderSVGPathh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/svg/RenderSVGPath.h (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/RenderSVGPath.h        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGPath.h        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -55,8 +55,6 @@
</span><span class="cx">     Vector&lt;FloatPoint&gt; m_zeroLengthLinecapLocations;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-RENDER_OBJECT_TYPE_CASTS(RenderSVGPath, isSVGPath())
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderSVGPath, isSVGPath())
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgRenderSVGResourceFilterh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/svg/RenderSVGResourceFilter.h (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/RenderSVGResourceFilter.h        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGResourceFilter.h        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -97,8 +97,6 @@
</span><span class="cx">     HashMap&lt;RenderObject*, std::unique_ptr&lt;FilterData&gt;&gt; m_filter;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-RENDER_OBJECT_TYPE_CASTS(RenderSVGResourceFilter, isSVGResourceFilter())
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderSVGResourceFilter, isSVGResourceFilter())
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgRenderSVGResourceFilterPrimitivecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/svg/RenderSVGResourceFilterPrimitive.cpp (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/RenderSVGResourceFilterPrimitive.cpp        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGResourceFilterPrimitive.cpp        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -28,7 +28,10 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;RenderSVGResourceFilterPrimitive.h&quot;
</span><span class="cx"> 
</span><ins>+#include &quot;SVGFEDiffuseLightingElement.h&quot;
+#include &quot;SVGFEFloodElement.h&quot;
</ins><span class="cx"> #include &quot;SVGFEImage.h&quot;
</span><ins>+#include &quot;SVGFESpecularLightingElement.h&quot;
</ins><span class="cx"> #include &quot;SVGFilterPrimitiveStandardAttributes.h&quot;
</span><span class="cx"> #include &quot;SVGNames.h&quot;
</span><span class="cx"> 
</span><span class="lines">@@ -48,23 +51,22 @@
</span><span class="cx"> {
</span><span class="cx">     RenderSVGHiddenContainer::styleDidChange(diff, oldStyle);
</span><span class="cx"> 
</span><del>-    RenderObject* filter = parent();
</del><ins>+    auto* filter = parent();
</ins><span class="cx">     if (!filter)
</span><span class="cx">         return;
</span><del>-    ASSERT(filter-&gt;isSVGResourceFilter());
</del><span class="cx"> 
</span><span class="cx">     if (diff == StyleDifferenceEqual || !oldStyle)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     const SVGRenderStyle&amp; newStyle = style().svgStyle();
</span><del>-    if (filterPrimitiveElement().hasTagName(SVGNames::feFloodTag)) {
</del><ins>+    if (is&lt;SVGFEFloodElement&gt;(filterPrimitiveElement())) {
</ins><span class="cx">         if (newStyle.floodColor() != oldStyle-&gt;svgStyle().floodColor())
</span><del>-            toRenderSVGResourceFilter(filter)-&gt;primitiveAttributeChanged(this, SVGNames::flood_colorAttr);
</del><ins>+            downcast&lt;RenderSVGResourceFilter&gt;(*filter).primitiveAttributeChanged(this, SVGNames::flood_colorAttr);
</ins><span class="cx">         if (newStyle.floodOpacity() != oldStyle-&gt;svgStyle().floodOpacity())
</span><del>-            toRenderSVGResourceFilter(filter)-&gt;primitiveAttributeChanged(this, SVGNames::flood_opacityAttr);
-    } else if (filterPrimitiveElement().hasTagName(SVGNames::feDiffuseLightingTag) || filterPrimitiveElement().hasTagName(SVGNames::feSpecularLightingTag)) {
</del><ins>+            downcast&lt;RenderSVGResourceFilter&gt;(*filter).primitiveAttributeChanged(this, SVGNames::flood_opacityAttr);
+    } else if (is&lt;SVGFEDiffuseLightingElement&gt;(filterPrimitiveElement()) || is&lt;SVGFESpecularLightingElement&gt;(filterPrimitiveElement())) {
</ins><span class="cx">         if (newStyle.lightingColor() != oldStyle-&gt;svgStyle().lightingColor())
</span><del>-            toRenderSVGResourceFilter(filter)-&gt;primitiveAttributeChanged(this, SVGNames::lighting_colorAttr);
</del><ins>+            downcast&lt;RenderSVGResourceFilter&gt;(*filter).primitiveAttributeChanged(this, SVGNames::lighting_colorAttr);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgRenderSVGTextPathh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/svg/RenderSVGTextPath.h (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/RenderSVGTextPath.h        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGTextPath.h        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -45,8 +45,6 @@
</span><span class="cx">     Path m_layoutPath;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-RENDER_OBJECT_TYPE_CASTS(RenderSVGTextPath, isSVGTextPath())
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderSVGTextPath, isSVGTextPath())
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgRenderSVGTransformableContainerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/svg/RenderSVGTransformableContainer.h (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/RenderSVGTransformableContainer.h        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGTransformableContainer.h        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -48,6 +48,8 @@
</span><span class="cx">     FloatSize m_lastTranslation;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-}
</del><ins>+} // namespace WebCore
</ins><span class="cx"> 
</span><ins>+SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderSVGTransformableContainer, isSVGTransformableContainer())
+
</ins><span class="cx"> #endif // RenderSVGTransformableContainer_h
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgRenderSVGViewportContainerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/svg/RenderSVGViewportContainer.h (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/RenderSVGViewportContainer.h        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGViewportContainer.h        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -67,8 +67,6 @@
</span><span class="cx">     bool m_needsTransformUpdate : 1;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-RENDER_OBJECT_TYPE_CASTS(RenderSVGViewportContainer, isSVGViewportContainer())
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderSVGViewportContainer, isSVGViewportContainer())
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgSVGRenderSupportcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/svg/SVGRenderSupport.cpp (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/SVGRenderSupport.cpp        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/svg/SVGRenderSupport.cpp        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -30,12 +30,14 @@
</span><span class="cx"> #include &quot;RenderGeometryMap.h&quot;
</span><span class="cx"> #include &quot;RenderIterator.h&quot;
</span><span class="cx"> #include &quot;RenderLayer.h&quot;
</span><ins>+#include &quot;RenderSVGImage.h&quot;
</ins><span class="cx"> #include &quot;RenderSVGResourceClipper.h&quot;
</span><span class="cx"> #include &quot;RenderSVGResourceFilter.h&quot;
</span><span class="cx"> #include &quot;RenderSVGResourceMarker.h&quot;
</span><span class="cx"> #include &quot;RenderSVGResourceMasker.h&quot;
</span><span class="cx"> #include &quot;RenderSVGRoot.h&quot;
</span><span class="cx"> #include &quot;RenderSVGText.h&quot;
</span><ins>+#include &quot;RenderSVGTransformableContainer.h&quot;
</ins><span class="cx"> #include &quot;RenderSVGViewportContainer.h&quot;
</span><span class="cx"> #include &quot;SVGResources.h&quot;
</span><span class="cx"> #include &quot;SVGResourcesCache.h&quot;
</span><span class="lines">@@ -47,8 +49,8 @@
</span><span class="cx"> {
</span><span class="cx">     // FIXME: Add support for RenderSVGBlock.
</span><span class="cx"> 
</span><del>-    if (renderer.isSVGShape() || renderer.isSVGImage() || renderer.isSVGContainer())
-        return toRenderSVGModelObject(renderer).repaintRectInLocalCoordinatesExcludingSVGShadow();
</del><ins>+    if (is&lt;RenderSVGModelObject&gt;(renderer))
+        return downcast&lt;RenderSVGModelObject&gt;(renderer).repaintRectInLocalCoordinatesExcludingSVGShadow();
</ins><span class="cx"> 
</span><span class="cx">     return renderer.repaintRectInLocalCoordinates();
</span><span class="cx"> }
</span><span class="lines">@@ -125,13 +127,13 @@
</span><span class="cx">     // When a parent container is transformed in SVG, all children will be painted automatically
</span><span class="cx">     // so we are able to skip redundant repaint checks.
</span><span class="cx">     auto parent = renderer.parent();
</span><del>-    return !(parent &amp;&amp; parent-&gt;isSVGContainer() &amp;&amp; toRenderSVGContainer(parent)-&gt;didTransformToRootUpdate());
</del><ins>+    return !(is&lt;RenderSVGContainer&gt;(parent) &amp;&amp; downcast&lt;RenderSVGContainer&gt;(*parent).didTransformToRootUpdate());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // Update a bounding box taking into account the validity of the other bounding box.
</span><span class="cx"> static inline void updateObjectBoundingBox(FloatRect&amp; objectBoundingBox, bool&amp; objectBoundingBoxValid, RenderObject* other, FloatRect otherBoundingBox)
</span><span class="cx"> {
</span><del>-    bool otherValid = other-&gt;isSVGContainer() ? toRenderSVGContainer(other)-&gt;isObjectBoundingBoxValid() : true;
</del><ins>+    bool otherValid = is&lt;RenderSVGContainer&gt;(*other) ? downcast&lt;RenderSVGContainer&gt;(*other).isObjectBoundingBoxValid() : true;
</ins><span class="cx">     if (!otherValid)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="lines">@@ -200,24 +202,23 @@
</span><span class="cx"> static inline bool layoutSizeOfNearestViewportChanged(const RenderElement&amp; renderer)
</span><span class="cx"> {
</span><span class="cx">     const RenderElement* start = &amp;renderer;
</span><del>-    while (start &amp;&amp; !start-&gt;isSVGRoot() &amp;&amp; !start-&gt;isSVGViewportContainer())
</del><ins>+    while (start &amp;&amp; !is&lt;RenderSVGRoot&gt;(*start) &amp;&amp; !is&lt;RenderSVGViewportContainer&gt;(*start))
</ins><span class="cx">         start = start-&gt;parent();
</span><span class="cx"> 
</span><span class="cx">     ASSERT(start);
</span><del>-    ASSERT(start-&gt;isSVGRoot() || start-&gt;isSVGViewportContainer());
-    if (start-&gt;isSVGViewportContainer())
-        return toRenderSVGViewportContainer(start)-&gt;isLayoutSizeChanged();
</del><ins>+    if (is&lt;RenderSVGViewportContainer&gt;(*start))
+        return downcast&lt;RenderSVGViewportContainer&gt;(*start).isLayoutSizeChanged();
</ins><span class="cx"> 
</span><del>-    return toRenderSVGRoot(start)-&gt;isLayoutSizeChanged();
</del><ins>+    return downcast&lt;RenderSVGRoot&gt;(*start).isLayoutSizeChanged();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool SVGRenderSupport::transformToRootChanged(RenderElement* ancestor)
</span><span class="cx"> {
</span><del>-    while (ancestor &amp;&amp; !ancestor-&gt;isSVGRoot()) {
-        if (ancestor-&gt;isSVGTransformableContainer())
-            return toRenderSVGContainer(ancestor)-&gt;didTransformToRootUpdate();
-        if (ancestor-&gt;isSVGViewportContainer())
-            return toRenderSVGViewportContainer(ancestor)-&gt;didTransformToRootUpdate();
</del><ins>+    while (ancestor &amp;&amp; !is&lt;RenderSVGRoot&gt;(*ancestor)) {
+        if (is&lt;RenderSVGTransformableContainer&gt;(*ancestor))
+            return downcast&lt;RenderSVGTransformableContainer&gt;(*ancestor).didTransformToRootUpdate();
+        if (is&lt;RenderSVGViewportContainer&gt;(*ancestor))
+            return downcast&lt;RenderSVGViewportContainer&gt;(*ancestor).didTransformToRootUpdate();
</ins><span class="cx">         ancestor = ancestor-&gt;parent();
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -306,11 +307,11 @@
</span><span class="cx"> {
</span><span class="cx">     // FIXME: Add support for RenderSVGBlock.
</span><span class="cx"> 
</span><del>-    if (renderer.isSVGShape() || renderer.isSVGImage() || renderer.isSVGContainer())
-        return toRenderSVGModelObject(renderer).hasSVGShadow();
</del><ins>+    if (is&lt;RenderSVGModelObject&gt;(renderer))
+        return downcast&lt;RenderSVGModelObject&gt;(renderer).hasSVGShadow();
</ins><span class="cx"> 
</span><del>-    if (renderer.isSVGRoot())
-        return toRenderSVGRoot(renderer).hasSVGShadow();
</del><ins>+    if (is&lt;RenderSVGRoot&gt;(renderer))
+        return downcast&lt;RenderSVGRoot&gt;(renderer).hasSVGShadow();
</ins><span class="cx"> 
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="lines">@@ -319,13 +320,13 @@
</span><span class="cx"> {
</span><span class="cx">     // FIXME: Add support for RenderSVGBlock.
</span><span class="cx"> 
</span><del>-    if (renderer.isSVGShape() || renderer.isSVGImage() || renderer.isSVGContainer()) {
-        toRenderSVGModelObject(renderer).setHasSVGShadow(hasShadow);
</del><ins>+    if (is&lt;RenderSVGModelObject&gt;(renderer)) {
+        downcast&lt;RenderSVGModelObject&gt;(renderer).setHasSVGShadow(hasShadow);
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (renderer.isSVGRoot())
-        toRenderSVGRoot(renderer).setHasSVGShadow(hasShadow);
</del><ins>+    if (is&lt;RenderSVGRoot&gt;(renderer))
+        downcast&lt;RenderSVGRoot&gt;(renderer).setHasSVGShadow(hasShadow);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void SVGRenderSupport::intersectRepaintRectWithShadows(const RenderElement&amp; renderer, FloatRect&amp; repaintRect)
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgSVGTextLayoutEnginecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/svg/SVGTextLayoutEngine.cpp (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/SVGTextLayoutEngine.cpp        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/rendering/svg/SVGTextLayoutEngine.cpp        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -165,12 +165,12 @@
</span><span class="cx">     ASSERT(object);
</span><span class="cx"> 
</span><span class="cx">     m_inPathLayout = true;
</span><del>-    RenderSVGTextPath* textPath = toRenderSVGTextPath(object);
</del><ins>+    RenderSVGTextPath&amp; textPath = downcast&lt;RenderSVGTextPath&gt;(*object);
</ins><span class="cx"> 
</span><del>-    m_textPath = textPath-&gt;layoutPath();
</del><ins>+    m_textPath = textPath.layoutPath();
</ins><span class="cx">     if (m_textPath.isEmpty())
</span><span class="cx">         return;
</span><del>-    m_textPathStartOffset = textPath-&gt;startOffset();
</del><ins>+    m_textPathStartOffset = textPath.startOffset();
</ins><span class="cx">     m_textPathLength = m_textPath.length();
</span><span class="cx">     if (m_textPathStartOffset &gt; 0 &amp;&amp; m_textPathStartOffset &lt;= 1)
</span><span class="cx">         m_textPathStartOffset *= m_textPathLength;
</span><span class="lines">@@ -202,7 +202,7 @@
</span><span class="cx">     SVGLengthAdjustType lengthAdjust = SVGLengthAdjustUnknown;
</span><span class="cx">     float desiredTextLength = 0;
</span><span class="cx"> 
</span><del>-    if (SVGTextContentElement* textContentElement = SVGTextContentElement::elementFromRenderer(textPath)) {
</del><ins>+    if (SVGTextContentElement* textContentElement = SVGTextContentElement::elementFromRenderer(&amp;textPath)) {
</ins><span class="cx">         SVGLengthContext lengthContext(textContentElement);
</span><span class="cx">         lengthAdjust = textContentElement-&gt;lengthAdjust();
</span><span class="cx">         desiredTextLength = textContentElement-&gt;specifiedTextLength().value(lengthContext);
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPathElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPathElement.cpp (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPathElement.cpp        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/svg/SVGPathElement.cpp        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -261,7 +261,7 @@
</span><span class="cx"> 
</span><span class="cx">     SVGElementInstance::InvalidationGuard invalidationGuard(this);
</span><span class="cx"> 
</span><del>-    RenderSVGPath* renderer = toRenderSVGPath(this-&gt;renderer());
</del><ins>+    RenderSVGPath* renderer = downcast&lt;RenderSVGPath&gt;(this-&gt;renderer());
</ins><span class="cx"> 
</span><span class="cx">     if (attrName == SVGNames::dAttr) {
</span><span class="cx">         if (m_pathSegList.shouldSynchronize &amp;&amp; !SVGAnimatedProperty::lookupWrapper&lt;SVGPathElement, SVGAnimatedPathSegListPropertyTearOff&gt;(this, dPropertyInfo())-&gt;isAnimating()) {
</span><span class="lines">@@ -381,7 +381,7 @@
</span><span class="cx"> 
</span><span class="cx">     invalidateSVGAttributes();
</span><span class="cx">     
</span><del>-    RenderSVGPath* renderer = toRenderSVGPath(this-&gt;renderer());
</del><ins>+    RenderSVGPath* renderer = downcast&lt;RenderSVGPath&gt;(this-&gt;renderer());
</ins><span class="cx">     if (!renderer)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="lines">@@ -394,7 +394,7 @@
</span><span class="cx">     if (styleUpdateStrategy == AllowStyleUpdate)
</span><span class="cx">         document().updateLayoutIgnorePendingStylesheets();
</span><span class="cx"> 
</span><del>-    RenderSVGPath* renderer = toRenderSVGPath(this-&gt;renderer());
</del><ins>+    RenderSVGPath* renderer = downcast&lt;RenderSVGPath&gt;(this-&gt;renderer());
</ins><span class="cx"> 
</span><span class="cx">     // FIXME: Eventually we should support getBBox for detached elements.
</span><span class="cx">     if (!renderer)
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGSVGElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGSVGElement.cpp (174602 => 174603)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGSVGElement.cpp        2014-10-10 17:51:01 UTC (rev 174602)
+++ trunk/Source/WebCore/svg/SVGSVGElement.cpp        2014-10-10 18:02:32 UTC (rev 174603)
</span><span class="lines">@@ -572,12 +572,12 @@
</span><span class="cx">     if (!renderer())
</span><span class="cx">         return FloatSize();
</span><span class="cx"> 
</span><del>-    if (renderer()-&gt;isSVGRoot()) {
-        LayoutRect contentBoxRect = toRenderSVGRoot(renderer())-&gt;contentBoxRect();
</del><ins>+    if (is&lt;RenderSVGRoot&gt;(*renderer())) {
+        LayoutRect contentBoxRect = downcast&lt;RenderSVGRoot&gt;(*renderer()).contentBoxRect();
</ins><span class="cx">         return FloatSize(contentBoxRect.width() / renderer()-&gt;style().effectiveZoom(), contentBoxRect.height() / renderer()-&gt;style().effectiveZoom());
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    FloatRect viewportRect = toRenderSVGViewportContainer(renderer())-&gt;viewport();
</del><ins>+    FloatRect viewportRect = downcast&lt;RenderSVGViewportContainer&gt;(*renderer()).viewport();
</ins><span class="cx">     return FloatSize(viewportRect.width(), viewportRect.height());
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>