<!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>[174587] trunk/Source</title>
</head>
<body>

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

<h3>Log Message</h3>
<pre>Use is&lt;&gt;() / downcast&lt;&gt;() for RenderBoxModelObject
https://bugs.webkit.org/show_bug.cgi?id=137587

Reviewed by Mihnea Ovidenie.

Use is&lt;&gt;() / downcast&lt;&gt;() for RenderBoxModelObject and clean up the
surrounding code.

Source/WebCore:

No new tests, no behavior change.

* accessibility/AXObjectCache.cpp:
(WebCore::createFromRenderer):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::renderBoxModelObject):
(WebCore::isInlineWithContinuation):
(WebCore::firstChildConsideringContinuation):
(WebCore::lastChildHasContinuation):
(WebCore::AccessibilityRenderObject::nextSibling):
(WebCore::AccessibilityRenderObject::widget):
(WebCore::AccessibilityRenderObject::renderObjectIsObservable):
(WebCore::AccessibilityRenderObject::observableObject):
(WebCore::msaaRoleForRenderer):
* accessibility/AccessibilityRenderObject.h:
* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::isDataTable):
* dom/Node.cpp:
(WebCore::Node::renderBox):
(WebCore::Node::renderBoxModelObject):
* inspector/InspectorOverlay.cpp:
(WebCore::buildObjectForElementInfo):
* page/FrameView.cpp:
(WebCore::FrameView::scrollContentsFastPath):
* page/PrintContext.cpp:
(WebCore::enclosingBoxModelObject):
* page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::freezeAtTime):
* page/animation/ImplicitAnimation.cpp:
(WebCore::ImplicitAnimation::startAnimation):
(WebCore::ImplicitAnimation::pauseAnimation):
(WebCore::ImplicitAnimation::endAnimation):
* page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::startAnimation):
(WebCore::KeyframeAnimation::pauseAnimation):
(WebCore::KeyframeAnimation::endAnimation):
* page/ios/FrameIOS.mm:
(WebCore::Frame::overflowScrollPositionChangedForNode):
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::hasVisibleSlowRepaintViewportConstrainedObjects):
* rendering/InlineBox.h:
(WebCore::InlineBox::boxModelObject):
* rendering/InlineElementBox.h:
(WebCore::InlineElementBox::renderer):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::placeBoxesInBlockDirection):
* rendering/InlineFlowBox.h:
(WebCore::InlineFlowBox::renderer):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::baselinePosition):
(WebCore::InlineTextBox::lineHeight):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addChildToContinuation):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeReplacedLogicalWidthUsing):
(WebCore::RenderBox::computeReplacedLogicalHeightUsing):
(WebCore::RenderBox::computePositionedLogicalWidth):
(WebCore::RenderBox::computePositionedLogicalHeight):
(WebCore::RenderBox::computePositionedLogicalWidthReplaced):
(WebCore::RenderBox::computePositionedLogicalHeightReplaced):
* rendering/RenderBoxModelObject.h:
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::splitInlines):
(WebCore::RenderInline::addChildToContinuation):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPosition):
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason):
(WebCore::RenderLayerCompositor::computeStickyViewportConstraints):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::destroy):
(WebCore::RenderObject::offsetParent):
* rendering/mathml/RenderMathMLScripts.cpp:
(WebCore::RenderMathMLScripts::base):

Source/WebKit/mac:

* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView invalidatePluginContentRect:]):
* WebView/WebRenderLayer.mm:
(-[WebRenderLayer initWithWebFrame:]):

Source/WebKit2:

* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::renderer):
(WebKit::PluginView::invalidateRect):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreaccessibilityAXObjectCachecpp">trunk/Source/WebCore/accessibility/AXObjectCache.cpp</a></li>
<li><a href="#trunkSourceWebCoreaccessibilityAccessibilityRenderObjectcpp">trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp</a></li>
<li><a href="#trunkSourceWebCoreaccessibilityAccessibilityRenderObjecth">trunk/Source/WebCore/accessibility/AccessibilityRenderObject.h</a></li>
<li><a href="#trunkSourceWebCoreaccessibilityAccessibilityTablecpp">trunk/Source/WebCore/accessibility/AccessibilityTable.cpp</a></li>
<li><a href="#trunkSourceWebCoredomNodecpp">trunk/Source/WebCore/dom/Node.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorOverlaycpp">trunk/Source/WebCore/inspector/InspectorOverlay.cpp</a></li>
<li><a href="#trunkSourceWebCorepageFrameViewcpp">trunk/Source/WebCore/page/FrameView.cpp</a></li>
<li><a href="#trunkSourceWebCorepagePrintContextcpp">trunk/Source/WebCore/page/PrintContext.cpp</a></li>
<li><a href="#trunkSourceWebCorepageanimationAnimationBasecpp">trunk/Source/WebCore/page/animation/AnimationBase.cpp</a></li>
<li><a href="#trunkSourceWebCorepageanimationImplicitAnimationcpp">trunk/Source/WebCore/page/animation/ImplicitAnimation.cpp</a></li>
<li><a href="#trunkSourceWebCorepageanimationKeyframeAnimationcpp">trunk/Source/WebCore/page/animation/KeyframeAnimation.cpp</a></li>
<li><a href="#trunkSourceWebCorepageiosFrameIOSmm">trunk/Source/WebCore/page/ios/FrameIOS.mm</a></li>
<li><a href="#trunkSourceWebCorepagescrollingScrollingCoordinatorcpp">trunk/Source/WebCore/page/scrolling/ScrollingCoordinator.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingInlineBoxh">trunk/Source/WebCore/rendering/InlineBox.h</a></li>
<li><a href="#trunkSourceWebCorerenderingInlineElementBoxh">trunk/Source/WebCore/rendering/InlineElementBox.h</a></li>
<li><a href="#trunkSourceWebCorerenderingInlineFlowBoxcpp">trunk/Source/WebCore/rendering/InlineFlowBox.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingInlineFlowBoxh">trunk/Source/WebCore/rendering/InlineFlowBox.h</a></li>
<li><a href="#trunkSourceWebCorerenderingInlineTextBoxcpp">trunk/Source/WebCore/rendering/InlineTextBox.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderBlockcpp">trunk/Source/WebCore/rendering/RenderBlock.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderBoxcpp">trunk/Source/WebCore/rendering/RenderBox.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderBoxModelObjecth">trunk/Source/WebCore/rendering/RenderBoxModelObject.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderFlowThreadcpp">trunk/Source/WebCore/rendering/RenderFlowThread.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderInlinecpp">trunk/Source/WebCore/rendering/RenderInline.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderLayercpp">trunk/Source/WebCore/rendering/RenderLayer.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderLayerBackingcpp">trunk/Source/WebCore/rendering/RenderLayerBacking.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderLayerCompositorcpp">trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderObjectcpp">trunk/Source/WebCore/rendering/RenderObject.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingmathmlRenderMathMLScriptscpp">trunk/Source/WebCore/rendering/mathml/RenderMathMLScripts.cpp</a></li>
<li><a href="#trunkSourceWebKitmacChangeLog">trunk/Source/WebKit/mac/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitmacPluginsWebBaseNetscapePluginViewmm">trunk/Source/WebKit/mac/Plugins/WebBaseNetscapePluginView.mm</a></li>
<li><a href="#trunkSourceWebKitmacWebViewWebRenderLayermm">trunk/Source/WebKit/mac/WebView/WebRenderLayer.mm</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2WebProcessPluginsPluginViewcpp">trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (174586 => 174587)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-10-10 15:34:50 UTC (rev 174586)
+++ trunk/Source/WebCore/ChangeLog        2014-10-10 15:49:24 UTC (rev 174587)
</span><span class="lines">@@ -1,3 +1,93 @@
</span><ins>+2014-10-10  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        Use is&lt;&gt;() / downcast&lt;&gt;() for RenderBoxModelObject
+        https://bugs.webkit.org/show_bug.cgi?id=137587
+
+        Reviewed by Mihnea Ovidenie.
+
+        Use is&lt;&gt;() / downcast&lt;&gt;() for RenderBoxModelObject and clean up the
+        surrounding code.
+
+        No new tests, no behavior change.
+
+        * accessibility/AXObjectCache.cpp:
+        (WebCore::createFromRenderer):
+        * accessibility/AccessibilityRenderObject.cpp:
+        (WebCore::AccessibilityRenderObject::renderBoxModelObject):
+        (WebCore::isInlineWithContinuation):
+        (WebCore::firstChildConsideringContinuation):
+        (WebCore::lastChildHasContinuation):
+        (WebCore::AccessibilityRenderObject::nextSibling):
+        (WebCore::AccessibilityRenderObject::widget):
+        (WebCore::AccessibilityRenderObject::renderObjectIsObservable):
+        (WebCore::AccessibilityRenderObject::observableObject):
+        (WebCore::msaaRoleForRenderer):
+        * accessibility/AccessibilityRenderObject.h:
+        * accessibility/AccessibilityTable.cpp:
+        (WebCore::AccessibilityTable::isDataTable):
+        * dom/Node.cpp:
+        (WebCore::Node::renderBox):
+        (WebCore::Node::renderBoxModelObject):
+        * inspector/InspectorOverlay.cpp:
+        (WebCore::buildObjectForElementInfo):
+        * page/FrameView.cpp:
+        (WebCore::FrameView::scrollContentsFastPath):
+        * page/PrintContext.cpp:
+        (WebCore::enclosingBoxModelObject):
+        * page/animation/AnimationBase.cpp:
+        (WebCore::AnimationBase::freezeAtTime):
+        * page/animation/ImplicitAnimation.cpp:
+        (WebCore::ImplicitAnimation::startAnimation):
+        (WebCore::ImplicitAnimation::pauseAnimation):
+        (WebCore::ImplicitAnimation::endAnimation):
+        * page/animation/KeyframeAnimation.cpp:
+        (WebCore::KeyframeAnimation::startAnimation):
+        (WebCore::KeyframeAnimation::pauseAnimation):
+        (WebCore::KeyframeAnimation::endAnimation):
+        * page/ios/FrameIOS.mm:
+        (WebCore::Frame::overflowScrollPositionChangedForNode):
+        * page/scrolling/ScrollingCoordinator.cpp:
+        (WebCore::ScrollingCoordinator::hasVisibleSlowRepaintViewportConstrainedObjects):
+        * rendering/InlineBox.h:
+        (WebCore::InlineBox::boxModelObject):
+        * rendering/InlineElementBox.h:
+        (WebCore::InlineElementBox::renderer):
+        * rendering/InlineFlowBox.cpp:
+        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
+        * rendering/InlineFlowBox.h:
+        (WebCore::InlineFlowBox::renderer):
+        * rendering/InlineTextBox.cpp:
+        (WebCore::InlineTextBox::baselinePosition):
+        (WebCore::InlineTextBox::lineHeight):
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::addChildToContinuation):
+        * rendering/RenderBox.cpp:
+        (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
+        (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
+        (WebCore::RenderBox::computePositionedLogicalWidth):
+        (WebCore::RenderBox::computePositionedLogicalHeight):
+        (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
+        (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
+        * rendering/RenderBoxModelObject.h:
+        * rendering/RenderFlowThread.cpp:
+        (WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent):
+        * rendering/RenderInline.cpp:
+        (WebCore::RenderInline::splitInlines):
+        (WebCore::RenderInline::addChildToContinuation):
+        * rendering/RenderLayer.cpp:
+        (WebCore::RenderLayer::updateLayerPosition):
+        (WebCore::RenderLayer::calculateClipRects):
+        * rendering/RenderLayerBacking.cpp:
+        (WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread):
+        * rendering/RenderLayerCompositor.cpp:
+        (WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason):
+        (WebCore::RenderLayerCompositor::computeStickyViewportConstraints):
+        * rendering/RenderObject.cpp:
+        (WebCore::RenderObject::destroy):
+        (WebCore::RenderObject::offsetParent):
+        * rendering/mathml/RenderMathMLScripts.cpp:
+        (WebCore::RenderMathMLScripts::base):
+
</ins><span class="cx"> 2014-10-10  Zan Dobersek  &lt;zdobersek@igalia.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Remove CrossThreadTask
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityAXObjectCachecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/AXObjectCache.cpp (174586 => 174587)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/AXObjectCache.cpp        2014-10-10 15:34:50 UTC (rev 174586)
+++ trunk/Source/WebCore/accessibility/AXObjectCache.cpp        2014-10-10 15:49:24 UTC (rev 174587)
</span><span class="lines">@@ -73,6 +73,7 @@
</span><span class="cx"> #include &quot;RenderMenuList.h&quot;
</span><span class="cx"> #include &quot;RenderMeter.h&quot;
</span><span class="cx"> #include &quot;RenderProgress.h&quot;
</span><ins>+#include &quot;RenderSVGRoot.h&quot;
</ins><span class="cx"> #include &quot;RenderSlider.h&quot;
</span><span class="cx"> #include &quot;RenderTable.h&quot;
</span><span class="cx"> #include &quot;RenderTableCell.h&quot;
</span><span class="lines">@@ -290,40 +291,40 @@
</span><span class="cx">         return AccessibilityMediaControl::create(renderer);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    if (renderer-&gt;isSVGRoot())
</del><ins>+    if (is&lt;RenderSVGRoot&gt;(*renderer))
</ins><span class="cx">         return AccessibilitySVGRoot::create(renderer);
</span><span class="cx">     
</span><span class="cx">     // Search field buttons
</span><span class="cx">     if (is&lt;Element&gt;(node) &amp;&amp; downcast&lt;Element&gt;(*node).isSearchFieldCancelButtonElement())
</span><span class="cx">         return AccessibilitySearchFieldCancelButton::create(renderer);
</span><span class="cx">     
</span><del>-    if (renderer-&gt;isBoxModelObject()) {
-        RenderBoxModelObject* cssBox = toRenderBoxModelObject(renderer);
-        if (cssBox-&gt;isListBox())
-            return AccessibilityListBox::create(toRenderListBox(cssBox));
-        if (cssBox-&gt;isMenuList())
-            return AccessibilityMenuList::create(toRenderMenuList(cssBox));
</del><ins>+    if (is&lt;RenderBoxModelObject&gt;(*renderer)) {
+        RenderBoxModelObject&amp; cssBox = downcast&lt;RenderBoxModelObject&gt;(*renderer);
+        if (is&lt;RenderListBox&gt;(cssBox))
+            return AccessibilityListBox::create(&amp;downcast&lt;RenderListBox&gt;(cssBox));
+        if (is&lt;RenderMenuList&gt;(cssBox))
+            return AccessibilityMenuList::create(&amp;downcast&lt;RenderMenuList&gt;(cssBox));
</ins><span class="cx"> 
</span><span class="cx">         // standard tables
</span><del>-        if (cssBox-&gt;isTable())
-            return AccessibilityTable::create(toRenderTable(cssBox));
-        if (cssBox-&gt;isTableRow())
-            return AccessibilityTableRow::create(toRenderTableRow(cssBox));
-        if (cssBox-&gt;isTableCell())
-            return AccessibilityTableCell::create(toRenderTableCell(cssBox));
</del><ins>+        if (is&lt;RenderTable&gt;(cssBox))
+            return AccessibilityTable::create(&amp;downcast&lt;RenderTable&gt;(cssBox));
+        if (is&lt;RenderTableRow&gt;(cssBox))
+            return AccessibilityTableRow::create(&amp;downcast&lt;RenderTableRow&gt;(cssBox));
+        if (is&lt;RenderTableCell&gt;(cssBox))
+            return AccessibilityTableCell::create(&amp;downcast&lt;RenderTableCell&gt;(cssBox));
</ins><span class="cx"> 
</span><span class="cx">         // progress bar
</span><del>-        if (cssBox-&gt;isProgress())
-            return AccessibilityProgressIndicator::create(toRenderProgress(cssBox));
</del><ins>+        if (is&lt;RenderProgress&gt;(cssBox))
+            return AccessibilityProgressIndicator::create(&amp;downcast&lt;RenderProgress&gt;(cssBox));
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(METER_ELEMENT)
</span><del>-        if (cssBox-&gt;isMeter())
-            return AccessibilityProgressIndicator::create(toRenderMeter(cssBox));
</del><ins>+        if (is&lt;RenderMeter&gt;(cssBox))
+            return AccessibilityProgressIndicator::create(&amp;downcast&lt;RenderMeter&gt;(cssBox));
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">         // input type=range
</span><del>-        if (cssBox-&gt;isSlider())
-            return AccessibilitySlider::create(toRenderSlider(cssBox));
</del><ins>+        if (is&lt;RenderSlider&gt;(cssBox))
+            return AccessibilitySlider::create(&amp;downcast&lt;RenderSlider&gt;(cssBox));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     return AccessibilityRenderObject::create(renderer);
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityAccessibilityRenderObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp (174586 => 174587)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp        2014-10-10 15:34:50 UTC (rev 174586)
+++ trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp        2014-10-10 15:49:24 UTC (rev 174587)
</span><span class="lines">@@ -75,6 +75,7 @@
</span><span class="cx"> #include &quot;RenderLayer.h&quot;
</span><span class="cx"> #include &quot;RenderLineBreak.h&quot;
</span><span class="cx"> #include &quot;RenderListBox.h&quot;
</span><ins>+#include &quot;RenderListItem.h&quot;
</ins><span class="cx"> #include &quot;RenderListMarker.h&quot;
</span><span class="cx"> #include &quot;RenderMathMLBlock.h&quot;
</span><span class="cx"> #include &quot;RenderMathMLFraction.h&quot;
</span><span class="lines">@@ -148,9 +149,9 @@
</span><span class="cx"> 
</span><span class="cx"> RenderBoxModelObject* AccessibilityRenderObject::renderBoxModelObject() const
</span><span class="cx"> {
</span><del>-    if (!m_renderer || !m_renderer-&gt;isBoxModelObject())
</del><ins>+    if (!is&lt;RenderBoxModelObject&gt;(m_renderer))
</ins><span class="cx">         return nullptr;
</span><del>-    return toRenderBoxModelObject(m_renderer);
</del><ins>+    return downcast&lt;RenderBoxModelObject&gt;(m_renderer);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void AccessibilityRenderObject::setRenderer(RenderObject* renderer)
</span><span class="lines">@@ -159,16 +160,9 @@
</span><span class="cx">     setNode(renderer-&gt;node());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline bool isInlineWithContinuation(RenderObject* object)
</del><ins>+static inline bool isInlineWithContinuation(RenderObject&amp; object)
</ins><span class="cx"> {
</span><del>-    if (!object-&gt;isBoxModelObject())
-        return false;
-
-    RenderBoxModelObject* renderer = toRenderBoxModelObject(object);
-    if (!renderer-&gt;isRenderInline())
-        return false;
-
-    return toRenderInline(renderer)-&gt;continuation();
</del><ins>+    return is&lt;RenderInline&gt;(object) &amp;&amp; downcast&lt;RenderInline&gt;(object).continuation();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline RenderObject* firstChildInContinuation(RenderInline&amp; renderer)
</span><span class="lines">@@ -190,7 +184,7 @@
</span><span class="cx"> {
</span><span class="cx">     RenderObject* firstChild = renderer.firstChildSlow();
</span><span class="cx"> 
</span><del>-    if (!firstChild &amp;&amp; isInlineWithContinuation(&amp;renderer))
</del><ins>+    if (!firstChild &amp;&amp; isInlineWithContinuation(renderer))
</ins><span class="cx">         firstChild = firstChildInContinuation(downcast&lt;RenderInline&gt;(renderer));
</span><span class="cx"> 
</span><span class="cx">     return firstChild;
</span><span class="lines">@@ -356,7 +350,7 @@
</span><span class="cx"> static inline bool lastChildHasContinuation(RenderElement&amp; renderer)
</span><span class="cx"> {
</span><span class="cx">     RenderObject* child = renderer.lastChild();
</span><del>-    return child &amp;&amp; isInlineWithContinuation(child);
</del><ins>+    return child &amp;&amp; isInlineWithContinuation(*child);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> AccessibilityObject* AccessibilityRenderObject::nextSibling() const
</span><span class="lines">@@ -388,11 +382,11 @@
</span><span class="cx"> 
</span><span class="cx">     // Case 4: node is an inline with a continuation. Next sibling is the next sibling of the end 
</span><span class="cx">     // of the continuation chain.
</span><del>-    else if (isInlineWithContinuation(m_renderer))
</del><ins>+    else if (isInlineWithContinuation(*m_renderer))
</ins><span class="cx">         nextSibling = endOfContinuations(*m_renderer)-&gt;nextSibling();
</span><span class="cx"> 
</span><span class="cx">     // Case 5: node has no next sibling, and its parent is an inline with a continuation.
</span><del>-    else if (isInlineWithContinuation(m_renderer-&gt;parent())) {
</del><ins>+    else if (isInlineWithContinuation(*m_renderer-&gt;parent())) {
</ins><span class="cx">         auto&amp; continuation = *downcast&lt;RenderInline&gt;(*m_renderer-&gt;parent()).continuation();
</span><span class="cx">         
</span><span class="cx">         // Case 5a: continuation is a block - in this case the block itself is the next sibling.
</span><span class="lines">@@ -1712,9 +1706,9 @@
</span><span class="cx"> 
</span><span class="cx"> Widget* AccessibilityRenderObject::widget() const
</span><span class="cx"> {
</span><del>-    if (!m_renderer-&gt;isBoxModelObject() || !toRenderBoxModelObject(m_renderer)-&gt;isWidget())
</del><ins>+    if (!is&lt;RenderWidget&gt;(*m_renderer))
</ins><span class="cx">         return nullptr;
</span><del>-    return toRenderWidget(m_renderer)-&gt;widget();
</del><ins>+    return downcast&lt;RenderWidget&gt;(*m_renderer).widget();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> AccessibilityObject* AccessibilityRenderObject::accessibilityParentForImageMap(HTMLMapElement* map) const
</span><span class="lines">@@ -2377,18 +2371,18 @@
</span><span class="cx">     return nullptr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool AccessibilityRenderObject::renderObjectIsObservable(RenderObject* renderer) const
</del><ins>+bool AccessibilityRenderObject::renderObjectIsObservable(RenderObject&amp; renderer) const
</ins><span class="cx"> {
</span><span class="cx">     // AX clients will listen for AXValueChange on a text control.
</span><del>-    if (renderer-&gt;isTextControl())
</del><ins>+    if (is&lt;RenderTextControl&gt;(renderer))
</ins><span class="cx">         return true;
</span><span class="cx">     
</span><span class="cx">     // AX clients will listen for AXSelectedChildrenChanged on listboxes.
</span><del>-    Node* node = renderer-&gt;node();
</del><ins>+    Node* node = renderer.node();
</ins><span class="cx">     if (!node)
</span><span class="cx">         return false;
</span><span class="cx">     
</span><del>-    if (nodeHasRole(node, &quot;listbox&quot;) || (renderer-&gt;isBoxModelObject() &amp;&amp; toRenderBoxModelObject(renderer)-&gt;isListBox()))
</del><ins>+    if (nodeHasRole(node, &quot;listbox&quot;) || (is&lt;RenderBoxModelObject&gt;(renderer) &amp;&amp; downcast&lt;RenderBoxModelObject&gt;(renderer).isListBox()))
</ins><span class="cx">         return true;
</span><span class="cx"> 
</span><span class="cx">     // Textboxes should send out notifications.
</span><span class="lines">@@ -2402,7 +2396,7 @@
</span><span class="cx"> {
</span><span class="cx">     // Find the object going up the parent chain that is used in accessibility to monitor certain notifications.
</span><span class="cx">     for (RenderObject* renderer = m_renderer; renderer &amp;&amp; renderer-&gt;node(); renderer = renderer-&gt;parent()) {
</span><del>-        if (renderObjectIsObservable(renderer)) {
</del><ins>+        if (renderObjectIsObservable(*renderer)) {
</ins><span class="cx">             if (AXObjectCache* cache = axObjectCache())
</span><span class="cx">                 return cache-&gt;getOrCreate(renderer);
</span><span class="cx">         }
</span><span class="lines">@@ -3419,10 +3413,10 @@
</span><span class="cx">     if (!renderer)
</span><span class="cx">         return UnknownRole;
</span><span class="cx"> 
</span><del>-    if (renderer-&gt;isText())
</del><ins>+    if (is&lt;RenderText&gt;(*renderer))
</ins><span class="cx">         return EditableTextRole;
</span><span class="cx"> 
</span><del>-    if (renderer-&gt;isBoxModelObject() &amp;&amp; toRenderBoxModelObject(renderer)-&gt;isListItem())
</del><ins>+    if (is&lt;RenderListItem&gt;(*renderer))
</ins><span class="cx">         return ListItemRole;
</span><span class="cx"> 
</span><span class="cx">     return UnknownRole;
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityAccessibilityRenderObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/AccessibilityRenderObject.h (174586 => 174587)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/AccessibilityRenderObject.h        2014-10-10 15:34:50 UTC (rev 174586)
+++ trunk/Source/WebCore/accessibility/AccessibilityRenderObject.h        2014-10-10 15:49:24 UTC (rev 174587)
</span><span class="lines">@@ -247,7 +247,7 @@
</span><span class="cx">     AccessibilityObject* accessibilityParentForImageMap(HTMLMapElement*) const;
</span><span class="cx">     virtual AccessibilityObject* elementAccessibilityHitTest(const IntPoint&amp;) const override;
</span><span class="cx"> 
</span><del>-    bool renderObjectIsObservable(RenderObject*) const;
</del><ins>+    bool renderObjectIsObservable(RenderObject&amp;) const;
</ins><span class="cx">     RenderObject* renderParentObject() const;
</span><span class="cx">     bool isDescendantOfElementType(const QualifiedName&amp; tagName) const;
</span><span class="cx">     
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityAccessibilityTablecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/AccessibilityTable.cpp (174586 => 174587)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/AccessibilityTable.cpp        2014-10-10 15:34:50 UTC (rev 174586)
+++ trunk/Source/WebCore/accessibility/AccessibilityTable.cpp        2014-10-10 15:49:24 UTC (rev 174587)
</span><span class="lines">@@ -259,13 +259,13 @@
</span><span class="cx">             
</span><span class="cx">             // For the first 5 rows, cache the background color so we can check if this table has zebra-striped rows.
</span><span class="cx">             if (row &lt; 5 &amp;&amp; row == alternatingRowColorCount) {
</span><del>-                RenderObject* renderRow = cell-&gt;parent();
-                if (!renderRow || !renderRow-&gt;isBoxModelObject() || !toRenderBoxModelObject(renderRow)-&gt;isTableRow())
</del><ins>+                RenderElement* renderRow = cell-&gt;parent();
+                if (!is&lt;RenderTableRow&gt;(renderRow))
</ins><span class="cx">                     continue;
</span><span class="cx">                 const RenderStyle&amp; rowRenderStyle = renderRow-&gt;style();
</span><span class="cx">                 Color rowColor = rowRenderStyle.visitedDependentColor(CSSPropertyBackgroundColor);
</span><span class="cx">                 alternatingRowColors[alternatingRowColorCount] = rowColor;
</span><del>-                alternatingRowColorCount++;
</del><ins>+                ++alternatingRowColorCount;
</ins><span class="cx">             }
</span><span class="cx">         }
</span><span class="cx">         
</span></span></pre></div>
<a id="trunkSourceWebCoredomNodecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Node.cpp (174586 => 174587)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Node.cpp        2014-10-10 15:34:50 UTC (rev 174586)
+++ trunk/Source/WebCore/dom/Node.cpp        2014-10-10 15:49:24 UTC (rev 174587)
</span><span class="lines">@@ -629,13 +629,13 @@
</span><span class="cx"> RenderBox* Node::renderBox() const
</span><span class="cx"> {
</span><span class="cx">     RenderObject* renderer = this-&gt;renderer();
</span><del>-    return renderer &amp;&amp; renderer-&gt;isBox() ? toRenderBox(renderer) : 0;
</del><ins>+    return is&lt;RenderBox&gt;(renderer) ? downcast&lt;RenderBox&gt;(renderer) : nullptr;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> RenderBoxModelObject* Node::renderBoxModelObject() const
</span><span class="cx"> {
</span><span class="cx">     RenderObject* renderer = this-&gt;renderer();
</span><del>-    return renderer &amp;&amp; renderer-&gt;isBoxModelObject() ? toRenderBoxModelObject(renderer) : 0;
</del><ins>+    return is&lt;RenderBoxModelObject&gt;(renderer) ? downcast&lt;RenderBoxModelObject&gt;(renderer) : nullptr;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> LayoutRect Node::boundingBox() const
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorOverlaycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorOverlay.cpp (174586 => 174587)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorOverlay.cpp        2014-10-10 15:34:50 UTC (rev 174586)
+++ trunk/Source/WebCore/inspector/InspectorOverlay.cpp        2014-10-10 15:49:24 UTC (rev 174587)
</span><span class="lines">@@ -706,7 +706,7 @@
</span><span class="cx">     Frame* containingFrame = node-&gt;document().frame();
</span><span class="cx">     FrameView* containingView = containingFrame-&gt;view();
</span><span class="cx">     IntRect boundingBox = snappedIntRect(containingView-&gt;contentsToRootView(renderer-&gt;absoluteBoundingBoxRect()));
</span><del>-    RenderBoxModelObject* modelObject = renderer-&gt;isBoxModelObject() ? toRenderBoxModelObject(renderer) : nullptr;
</del><ins>+    RenderBoxModelObject* modelObject = is&lt;RenderBoxModelObject&gt;(*renderer) ? downcast&lt;RenderBoxModelObject&gt;(renderer) : nullptr;
</ins><span class="cx">     elementInfo-&gt;setString(&quot;nodeWidth&quot;, String::number(modelObject ? adjustForAbsoluteZoom(modelObject-&gt;pixelSnappedOffsetWidth(), *modelObject) : boundingBox.width()));
</span><span class="cx">     elementInfo-&gt;setString(&quot;nodeHeight&quot;, String::number(modelObject ? adjustForAbsoluteZoom(modelObject-&gt;pixelSnappedOffsetHeight(), *modelObject) : boundingBox.height()));
</span><span class="cx">     
</span></span></pre></div>
<a id="trunkSourceWebCorepageFrameViewcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/FrameView.cpp (174586 => 174587)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/FrameView.cpp        2014-10-10 15:34:50 UTC (rev 174586)
+++ trunk/Source/WebCore/page/FrameView.cpp        2014-10-10 15:49:24 UTC (rev 174587)
</span><span class="lines">@@ -1782,7 +1782,7 @@
</span><span class="cx"> 
</span><span class="cx">         // Fixed items should always have layers.
</span><span class="cx">         ASSERT(renderer-&gt;hasLayer());
</span><del>-        RenderLayer* layer = toRenderBoxModelObject(renderer)-&gt;layer();
</del><ins>+        RenderLayer* layer = downcast&lt;RenderBoxModelObject&gt;(*renderer).layer();
</ins><span class="cx"> 
</span><span class="cx">         if (layer-&gt;viewportConstrainedNotCompositedReason() == RenderLayer::NotCompositedForBoundsOutOfView
</span><span class="cx">             || layer-&gt;viewportConstrainedNotCompositedReason() == RenderLayer::NotCompositedForNoVisibleContent) {
</span></span></pre></div>
<a id="trunkSourceWebCorepagePrintContextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/PrintContext.cpp (174586 => 174587)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/PrintContext.cpp        2014-10-10 15:34:50 UTC (rev 174586)
+++ trunk/Source/WebCore/page/PrintContext.cpp        2014-10-10 15:49:24 UTC (rev 174587)
</span><span class="lines">@@ -225,11 +225,11 @@
</span><span class="cx"> static RenderBoxModelObject* enclosingBoxModelObject(RenderObject* object)
</span><span class="cx"> {
</span><span class="cx"> 
</span><del>-    while (object &amp;&amp; !object-&gt;isBoxModelObject())
</del><ins>+    while (object &amp;&amp; !is&lt;RenderBoxModelObject&gt;(*object))
</ins><span class="cx">         object = object-&gt;parent();
</span><span class="cx">     if (!object)
</span><del>-        return 0;
-    return toRenderBoxModelObject(object);
</del><ins>+        return nullptr;
+    return downcast&lt;RenderBoxModelObject&gt;(object);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> int PrintContext::pageNumberForElement(Element* element, const FloatSize&amp; pageSizeInPixels)
</span></span></pre></div>
<a id="trunkSourceWebCorepageanimationAnimationBasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/animation/AnimationBase.cpp (174586 => 174587)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/animation/AnimationBase.cpp        2014-10-10 15:34:50 UTC (rev 174586)
+++ trunk/Source/WebCore/page/animation/AnimationBase.cpp        2014-10-10 15:49:24 UTC (rev 174587)
</span><span class="lines">@@ -658,7 +658,7 @@
</span><span class="cx">         m_pauseTime = m_startTime + t - m_animation-&gt;delay();
</span><span class="cx"> 
</span><span class="cx">     if (m_object &amp;&amp; m_object-&gt;isComposited())
</span><del>-        toRenderBoxModelObject(m_object)-&gt;suspendAnimations(m_pauseTime);
</del><ins>+        downcast&lt;RenderBoxModelObject&gt;(*m_object).suspendAnimations(m_pauseTime);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> double AnimationBase::beginAnimationUpdateTime() const
</span></span></pre></div>
<a id="trunkSourceWebCorepageanimationImplicitAnimationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/animation/ImplicitAnimation.cpp (174586 => 174587)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/animation/ImplicitAnimation.cpp        2014-10-10 15:34:50 UTC (rev 174586)
+++ trunk/Source/WebCore/page/animation/ImplicitAnimation.cpp        2014-10-10 15:49:24 UTC (rev 174587)
</span><span class="lines">@@ -102,7 +102,7 @@
</span><span class="cx"> bool ImplicitAnimation::startAnimation(double timeOffset)
</span><span class="cx"> {
</span><span class="cx">     if (m_object &amp;&amp; m_object-&gt;isComposited())
</span><del>-        return toRenderBoxModelObject(m_object)-&gt;startTransition(timeOffset, m_animatingProperty, m_fromStyle.get(), m_toStyle.get());
</del><ins>+        return downcast&lt;RenderBoxModelObject&gt;(*m_object).startTransition(timeOffset, m_animatingProperty, m_fromStyle.get(), m_toStyle.get());
</ins><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -112,7 +112,7 @@
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     if (m_object-&gt;isComposited())
</span><del>-        toRenderBoxModelObject(m_object)-&gt;transitionPaused(timeOffset, m_animatingProperty);
</del><ins>+        downcast&lt;RenderBoxModelObject&gt;(*m_object).transitionPaused(timeOffset, m_animatingProperty);
</ins><span class="cx">     // Restore the original (unanimated) style
</span><span class="cx">     if (!paused())
</span><span class="cx">         setNeedsStyleRecalc(m_object-&gt;element());
</span><span class="lines">@@ -121,7 +121,7 @@
</span><span class="cx"> void ImplicitAnimation::endAnimation()
</span><span class="cx"> {
</span><span class="cx">     if (m_object &amp;&amp; m_object-&gt;isComposited())
</span><del>-        toRenderBoxModelObject(m_object)-&gt;transitionFinished(m_animatingProperty);
</del><ins>+        downcast&lt;RenderBoxModelObject&gt;(*m_object).transitionFinished(m_animatingProperty);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void ImplicitAnimation::onAnimationEnd(double elapsedTime)
</span></span></pre></div>
<a id="trunkSourceWebCorepageanimationKeyframeAnimationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/animation/KeyframeAnimation.cpp (174586 => 174587)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/animation/KeyframeAnimation.cpp        2014-10-10 15:34:50 UTC (rev 174586)
+++ trunk/Source/WebCore/page/animation/KeyframeAnimation.cpp        2014-10-10 15:49:24 UTC (rev 174587)
</span><span class="lines">@@ -205,9 +205,8 @@
</span><span class="cx"> 
</span><span class="cx"> bool KeyframeAnimation::startAnimation(double timeOffset)
</span><span class="cx"> {
</span><del>-    if (m_object &amp;&amp; m_object-&gt;isComposited()) {
-        return toRenderBoxModelObject(m_object)-&gt;startAnimation(timeOffset, m_animation.get(), m_keyframes);
-    }
</del><ins>+    if (m_object &amp;&amp; m_object-&gt;isComposited())
+        return downcast&lt;RenderBoxModelObject&gt;(*m_object).startAnimation(timeOffset, m_animation.get(), m_keyframes);
</ins><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -217,7 +216,7 @@
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     if (m_object-&gt;isComposited())
</span><del>-        toRenderBoxModelObject(m_object)-&gt;animationPaused(timeOffset, m_keyframes.animationName());
</del><ins>+        downcast&lt;RenderBoxModelObject&gt;(*m_object).animationPaused(timeOffset, m_keyframes.animationName());
</ins><span class="cx"> 
</span><span class="cx">     // Restore the original (unanimated) style
</span><span class="cx">     if (!paused())
</span><span class="lines">@@ -230,7 +229,7 @@
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     if (m_object-&gt;isComposited())
</span><del>-        toRenderBoxModelObject(m_object)-&gt;animationFinished(m_keyframes.animationName());
</del><ins>+        downcast&lt;RenderBoxModelObject&gt;(*m_object).animationFinished(m_keyframes.animationName());
</ins><span class="cx"> 
</span><span class="cx">     // Restore the original (unanimated) style
</span><span class="cx">     if (!paused())
</span></span></pre></div>
<a id="trunkSourceWebCorepageiosFrameIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/ios/FrameIOS.mm (174586 => 174587)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/ios/FrameIOS.mm        2014-10-10 15:34:50 UTC (rev 174586)
+++ trunk/Source/WebCore/page/ios/FrameIOS.mm        2014-10-10 15:49:24 UTC (rev 174587)
</span><span class="lines">@@ -853,12 +853,12 @@
</span><span class="cx">     if (!renderer || !renderer-&gt;hasLayer())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    RenderLayer* layer = toRenderBoxModelObject(renderer)-&gt;layer();
</del><ins>+    RenderLayer&amp; layer = *downcast&lt;RenderBoxModelObject&gt;(*renderer).layer();
</ins><span class="cx"> 
</span><del>-    layer-&gt;setIsUserScroll(isUserScroll);
-    layer-&gt;scrollToOffsetWithoutAnimation(position);
-    layer-&gt;setIsUserScroll(false);
-    layer-&gt;didEndScroll(); // FIXME: Should we always call this?
</del><ins>+    layer.setIsUserScroll(isUserScroll);
+    layer.scrollToOffsetWithoutAnimation(position);
+    layer.setIsUserScroll(false);
+    layer.didEndScroll(); // FIXME: Should we always call this?
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void Frame::resetAllGeolocationPermission()
</span></span></pre></div>
<a id="trunkSourceWebCorepagescrollingScrollingCoordinatorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/scrolling/ScrollingCoordinator.cpp (174586 => 174587)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/scrolling/ScrollingCoordinator.cpp        2014-10-10 15:34:50 UTC (rev 174586)
+++ trunk/Source/WebCore/page/scrolling/ScrollingCoordinator.cpp        2014-10-10 15:49:24 UTC (rev 174587)
</span><span class="lines">@@ -310,12 +310,12 @@
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     for (FrameView::ViewportConstrainedObjectSet::const_iterator it = viewportConstrainedObjects-&gt;begin(), end = viewportConstrainedObjects-&gt;end(); it != end; ++it) {
</span><del>-        RenderObject* viewportConstrainedObject = *it;
-        if (!viewportConstrainedObject-&gt;isBoxModelObject() || !viewportConstrainedObject-&gt;hasLayer())
</del><ins>+        RenderObject&amp; viewportConstrainedObject = **it;
+        if (!is&lt;RenderBoxModelObject&gt;(viewportConstrainedObject) || !viewportConstrainedObject.hasLayer())
</ins><span class="cx">             return true;
</span><del>-        RenderLayer* layer = toRenderBoxModelObject(viewportConstrainedObject)-&gt;layer();
</del><ins>+        RenderLayer&amp; layer = *downcast&lt;RenderBoxModelObject&gt;(viewportConstrainedObject).layer();
</ins><span class="cx">         // Any explicit reason that a fixed position element is not composited shouldn't cause slow scrolling.
</span><del>-        if (!layer-&gt;isComposited() &amp;&amp; layer-&gt;viewportConstrainedNotCompositedReason() == RenderLayer::NoNotCompositedReason)
</del><ins>+        if (!layer.isComposited() &amp;&amp; layer.viewportConstrainedNotCompositedReason() == RenderLayer::NoNotCompositedReason)
</ins><span class="cx">             return true;
</span><span class="cx">     }
</span><span class="cx">     return false;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingInlineBoxh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/InlineBox.h (174586 => 174587)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/InlineBox.h        2014-10-10 15:34:50 UTC (rev 174586)
+++ trunk/Source/WebCore/rendering/InlineBox.h        2014-10-10 15:49:24 UTC (rev 174587)
</span><span class="lines">@@ -22,6 +22,7 @@
</span><span class="cx"> #define InlineBox_h
</span><span class="cx"> 
</span><span class="cx"> #include &quot;RenderBoxModelObject.h&quot;
</span><ins>+#include &quot;RenderText.h&quot;
</ins><span class="cx"> #include &quot;TextDirection.h&quot;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -252,9 +253,9 @@
</span><span class="cx">     // Use with caution! The type is not checked!
</span><span class="cx">     RenderBoxModelObject* boxModelObject() const
</span><span class="cx">     { 
</span><del>-        if (!m_renderer.isText())
-            return &amp;toRenderBoxModelObject(m_renderer);
-        return 0;
</del><ins>+        if (!is&lt;RenderText&gt;(m_renderer))
+            return &amp;downcast&lt;RenderBoxModelObject&gt;(m_renderer);
+        return nullptr;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     FloatPoint locationIncludingFlipping();
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingInlineElementBoxh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/InlineElementBox.h (174586 => 174587)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/InlineElementBox.h        2014-10-10 15:34:50 UTC (rev 174586)
+++ trunk/Source/WebCore/rendering/InlineElementBox.h        2014-10-10 15:49:24 UTC (rev 174587)
</span><span class="lines">@@ -42,7 +42,7 @@
</span><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    RenderBoxModelObject&amp; renderer() const { return toRenderBoxModelObject(InlineBox::renderer()); }
</del><ins>+    RenderBoxModelObject&amp; renderer() const { return downcast&lt;RenderBoxModelObject&gt;(InlineBox::renderer()); }
</ins><span class="cx"> 
</span><span class="cx">     virtual void deleteLine() override;
</span><span class="cx">     virtual void extractLine() override;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingInlineFlowBoxcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/InlineFlowBox.cpp (174586 => 174587)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/InlineFlowBox.cpp        2014-10-10 15:34:50 UTC (rev 174586)
+++ trunk/Source/WebCore/rendering/InlineFlowBox.cpp        2014-10-10 15:49:24 UTC (rev 174587)
</span><span class="lines">@@ -655,7 +655,7 @@
</span><span class="cx">             const FontMetrics&amp; fontMetrics = childLineStyle.fontMetrics();
</span><span class="cx">             newLogicalTop += curr-&gt;baselinePosition(baselineType) - fontMetrics.ascent(baselineType);
</span><span class="cx">             if (curr-&gt;isInlineFlowBox()) {
</span><del>-                RenderBoxModelObject&amp; boxObject = toRenderBoxModelObject(curr-&gt;renderer());
</del><ins>+                RenderBoxModelObject&amp; boxObject = downcast&lt;RenderBoxModelObject&gt;(curr-&gt;renderer());
</ins><span class="cx">                 newLogicalTop -= childLineStyle.isHorizontalWritingMode()
</span><span class="cx">                     ? boxObject.borderTop() + boxObject.paddingTop()
</span><span class="cx">                     : boxObject.borderRight() + boxObject.paddingRight();
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingInlineFlowBoxh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/InlineFlowBox.h (174586 => 174587)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/InlineFlowBox.h        2014-10-10 15:34:50 UTC (rev 174586)
+++ trunk/Source/WebCore/rendering/InlineFlowBox.h        2014-10-10 15:49:24 UTC (rev 174587)
</span><span class="lines">@@ -75,7 +75,7 @@
</span><span class="cx">     virtual const char* boxName() const override;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    RenderBoxModelObject&amp; renderer() const { return toRenderBoxModelObject(InlineBox::renderer()); }
</del><ins>+    RenderBoxModelObject&amp; renderer() const { return downcast&lt;RenderBoxModelObject&gt;(InlineBox::renderer()); }
</ins><span class="cx">     const RenderStyle&amp; lineStyle() const { return isFirstLine() ? renderer().firstLineStyle() : renderer().style(); }
</span><span class="cx"> 
</span><span class="cx">     InlineFlowBox* prevLineBox() const { return m_prevLineBox; }
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingInlineTextBoxcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/InlineTextBox.cpp (174586 => 174587)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/InlineTextBox.cpp        2014-10-10 15:34:50 UTC (rev 174586)
+++ trunk/Source/WebCore/rendering/InlineTextBox.cpp        2014-10-10 15:49:24 UTC (rev 174587)
</span><span class="lines">@@ -169,7 +169,7 @@
</span><span class="cx">         return 0;
</span><span class="cx">     if (&amp;parent()-&gt;renderer() == renderer().parent())
</span><span class="cx">         return parent()-&gt;baselinePosition(baselineType);
</span><del>-    return toRenderBoxModelObject(renderer().parent())-&gt;baselinePosition(baselineType, isFirstLine(), isHorizontal() ? HorizontalLine : VerticalLine, PositionOnContainingLine);
</del><ins>+    return downcast&lt;RenderBoxModelObject&gt;(*renderer().parent()).baselinePosition(baselineType, isFirstLine(), isHorizontal() ? HorizontalLine : VerticalLine, PositionOnContainingLine);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> LayoutUnit InlineTextBox::lineHeight() const
</span><span class="lines">@@ -178,7 +178,7 @@
</span><span class="cx">         return 0;
</span><span class="cx">     if (&amp;parent()-&gt;renderer() == renderer().parent())
</span><span class="cx">         return parent()-&gt;lineHeight();
</span><del>-    return toRenderBoxModelObject(renderer().parent())-&gt;lineHeight(isFirstLine(), isHorizontal() ? HorizontalLine : VerticalLine, PositionOnContainingLine);
</del><ins>+    return downcast&lt;RenderBoxModelObject&gt;(*renderer().parent()).lineHeight(isFirstLine(), isHorizontal() ? HorizontalLine : VerticalLine, PositionOnContainingLine);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> LayoutUnit InlineTextBox::selectionTop() const
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBlockcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBlock.cpp (174586 => 174587)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBlock.cpp        2014-10-10 15:34:50 UTC (rev 174586)
+++ trunk/Source/WebCore/rendering/RenderBlock.cpp        2014-10-10 15:49:24 UTC (rev 174587)
</span><span class="lines">@@ -353,14 +353,14 @@
</span><span class="cx"> void RenderBlock::addChildToContinuation(RenderObject* newChild, RenderObject* beforeChild)
</span><span class="cx"> {
</span><span class="cx">     RenderBlock* flow = continuationBefore(beforeChild);
</span><del>-    ASSERT(!beforeChild || beforeChild-&gt;parent()-&gt;isRenderBlock());
-    RenderBoxModelObject* beforeChildParent = 0;
</del><ins>+    ASSERT(!beforeChild || is&lt;RenderBlock&gt;(*beforeChild-&gt;parent()));
+    RenderBoxModelObject* beforeChildParent = nullptr;
</ins><span class="cx">     if (beforeChild)
</span><del>-        beforeChildParent = toRenderBoxModelObject(beforeChild-&gt;parent());
</del><ins>+        beforeChildParent = downcast&lt;RenderBoxModelObject&gt;(beforeChild-&gt;parent());
</ins><span class="cx">     else {
</span><del>-        RenderBoxModelObject* cont = flow-&gt;continuation();
-        if (cont)
-            beforeChildParent = cont;
</del><ins>+        RenderBoxModelObject* continuation = flow-&gt;continuation();
+        if (continuation)
+            beforeChildParent = continuation;
</ins><span class="cx">         else
</span><span class="cx">             beforeChildParent = flow;
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBoxcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBox.cpp (174586 => 174587)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBox.cpp        2014-10-10 15:34:50 UTC (rev 174586)
+++ trunk/Source/WebCore/rendering/RenderBox.cpp        2014-10-10 15:49:24 UTC (rev 174587)
</span><span class="lines">@@ -2904,7 +2904,7 @@
</span><span class="cx">             // FIXME: containingBlockLogicalWidthForContent() is wrong if the replaced element's block-flow is perpendicular to the
</span><span class="cx">             // containing block's block-flow.
</span><span class="cx">             // https://bugs.webkit.org/show_bug.cgi?id=46496
</span><del>-            const LayoutUnit cw = isOutOfFlowPositioned() ? containingBlockLogicalWidthForPositioned(toRenderBoxModelObject(container())) : containingBlockLogicalWidthForContent();
</del><ins>+            const LayoutUnit cw = isOutOfFlowPositioned() ? containingBlockLogicalWidthForPositioned(downcast&lt;RenderBoxModelObject&gt;(container())) : containingBlockLogicalWidthForContent();
</ins><span class="cx">             Length containerLogicalWidth = containingBlock()-&gt;style().logicalWidth();
</span><span class="cx">             // FIXME: Handle cases when containing block width is calculated or viewport percent.
</span><span class="cx">             // https://bugs.webkit.org/show_bug.cgi?id=91071
</span><span class="lines">@@ -2969,7 +2969,7 @@
</span><span class="cx">             // https://bugs.webkit.org/show_bug.cgi?id=46496
</span><span class="cx">             LayoutUnit availableHeight;
</span><span class="cx">             if (isOutOfFlowPositioned())
</span><del>-                availableHeight = containingBlockLogicalHeightForPositioned(toRenderBoxModelObject(cb));
</del><ins>+                availableHeight = containingBlockLogicalHeightForPositioned(downcast&lt;RenderBoxModelObject&gt;(cb));
</ins><span class="cx">             else {
</span><span class="cx">                 availableHeight = containingBlockLogicalHeightForContent(IncludeMarginBorderPadding);
</span><span class="cx">                 // It is necessary to use the border-box to match WinIE's broken
</span><span class="lines">@@ -3248,7 +3248,7 @@
</span><span class="cx"> 
</span><span class="cx">     // We don't use containingBlock(), since we may be positioned by an enclosing
</span><span class="cx">     // relative positioned inline.
</span><del>-    const RenderBoxModelObject* containerBlock = toRenderBoxModelObject(container());
</del><ins>+    const RenderBoxModelObject* containerBlock = downcast&lt;RenderBoxModelObject&gt;(container());
</ins><span class="cx">     
</span><span class="cx">     const LayoutUnit containerLogicalWidth = containingBlockLogicalWidthForPositioned(containerBlock, region);
</span><span class="cx"> 
</span><span class="lines">@@ -3576,7 +3576,7 @@
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx">     // We don't use containingBlock(), since we may be positioned by an enclosing relpositioned inline.
</span><del>-    const RenderBoxModelObject* containerBlock = toRenderBoxModelObject(container());
</del><ins>+    const RenderBoxModelObject* containerBlock = downcast&lt;RenderBoxModelObject&gt;(container());
</ins><span class="cx"> 
</span><span class="cx">     const LayoutUnit containerLogicalHeight = containingBlockLogicalHeightForPositioned(containerBlock);
</span><span class="cx"> 
</span><span class="lines">@@ -3829,10 +3829,10 @@
</span><span class="cx"> 
</span><span class="cx">     // We don't use containingBlock(), since we may be positioned by an enclosing
</span><span class="cx">     // relative positioned inline.
</span><del>-    const RenderBoxModelObject* containerBlock = toRenderBoxModelObject(container());
</del><ins>+    const RenderBoxModelObject* containerBlock = downcast&lt;RenderBoxModelObject&gt;(container());
</ins><span class="cx"> 
</span><span class="cx">     const LayoutUnit containerLogicalWidth = containingBlockLogicalWidthForPositioned(containerBlock);
</span><del>-    const LayoutUnit containerRelativeLogicalWidth = containingBlockLogicalWidthForPositioned(containerBlock, 0, false);
</del><ins>+    const LayoutUnit containerRelativeLogicalWidth = containingBlockLogicalWidthForPositioned(containerBlock, nullptr, false);
</ins><span class="cx"> 
</span><span class="cx">     // To match WinIE, in quirks mode use the parent's 'direction' property
</span><span class="cx">     // instead of the the container block's.
</span><span class="lines">@@ -3997,10 +3997,10 @@
</span><span class="cx">     // the numbers correspond to numbers in spec)
</span><span class="cx"> 
</span><span class="cx">     // We don't use containingBlock(), since we may be positioned by an enclosing relpositioned inline.
</span><del>-    const RenderBoxModelObject* containerBlock = toRenderBoxModelObject(container());
</del><ins>+    const RenderBoxModelObject* containerBlock = downcast&lt;RenderBoxModelObject&gt;(container());
</ins><span class="cx"> 
</span><span class="cx">     const LayoutUnit containerLogicalHeight = containingBlockLogicalHeightForPositioned(containerBlock);
</span><del>-    const LayoutUnit containerRelativeLogicalWidth = containingBlockLogicalWidthForPositioned(containerBlock, 0, false);
</del><ins>+    const LayoutUnit containerRelativeLogicalWidth = containingBlockLogicalWidthForPositioned(containerBlock, nullptr, false);
</ins><span class="cx"> 
</span><span class="cx">     // Variables to solve.
</span><span class="cx">     Length marginBefore = style().marginBefore();
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBoxModelObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBoxModelObject.h (174586 => 174587)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBoxModelObject.h        2014-10-10 15:34:50 UTC (rev 174586)
+++ trunk/Source/WebCore/rendering/RenderBoxModelObject.h        2014-10-10 15:49:24 UTC (rev 174587)
</span><span class="lines">@@ -339,8 +339,6 @@
</span><span class="cx">     void pixelSnapBackgroundImageGeometryForPainting(BackgroundImageGeometry&amp;) const;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-RENDER_OBJECT_TYPE_CASTS(RenderBoxModelObject, isBoxModelObject())
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderBoxModelObject, isBoxModelObject())
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderFlowThreadcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderFlowThread.cpp (174586 => 174587)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderFlowThread.cpp        2014-10-10 15:34:50 UTC (rev 174586)
+++ trunk/Source/WebCore/rendering/RenderFlowThread.cpp        2014-10-10 15:49:24 UTC (rev 174587)
</span><span class="lines">@@ -432,7 +432,7 @@
</span><span class="cx">     RenderRegion* startRegion = regionAtBlockOffset(objContainingBlock, referencePoint.y());
</span><span class="cx">     if (startRegion) {
</span><span class="cx">         // Take into account the offset coordinates of the region.
</span><del>-        RenderBoxModelObject* startRegionBox = startRegion-&gt;isRenderNamedFlowFragment() ? toRenderBoxModelObject(startRegion-&gt;parent()) : startRegion;
</del><ins>+        RenderBoxModelObject* startRegionBox = is&lt;RenderNamedFlowFragment&gt;(*startRegion) ? downcast&lt;RenderBoxModelObject&gt;(startRegion-&gt;parent()) : startRegion;
</ins><span class="cx">         RenderBoxModelObject* currObject = startRegionBox;
</span><span class="cx">         RenderBoxModelObject* currOffsetParent;
</span><span class="cx">         while ((currOffsetParent = currObject-&gt;offsetParent())) {
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderInlinecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderInline.cpp (174586 => 174587)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderInline.cpp        2014-10-10 15:34:50 UTC (rev 174586)
+++ trunk/Source/WebCore/rendering/RenderInline.cpp        2014-10-10 15:49:24 UTC (rev 174587)
</span><span class="lines">@@ -368,10 +368,10 @@
</span><span class="cx"> 
</span><span class="cx">     // Now take all of the children from beforeChild to the end and remove
</span><span class="cx">     // them from |this| and place them in the clone.
</span><del>-    RenderObject* o = beforeChild;
-    while (o) {
-        RenderObject* tmp = o;
-        o = tmp-&gt;nextSibling();
</del><ins>+    RenderObject* renderer = beforeChild;
+    while (renderer) {
+        RenderObject* tmp = renderer;
+        renderer = tmp-&gt;nextSibling();
</ins><span class="cx">         removeChildInternal(*tmp, NotifyChildren);
</span><span class="cx">         cloneInline-&gt;addChildIgnoringContinuation(tmp);
</span><span class="cx">         tmp-&gt;setNeedsLayoutAndPrefWidthsRecalc();
</span><span class="lines">@@ -383,8 +383,8 @@
</span><span class="cx">     // We have been reparented and are now under the fromBlock.  We need
</span><span class="cx">     // to walk up our inline parent chain until we hit the containing block.
</span><span class="cx">     // Once we hit the containing block we're done.
</span><del>-    RenderBoxModelObject* curr = toRenderBoxModelObject(parent());
-    RenderBoxModelObject* currChild = this;
</del><ins>+    RenderBoxModelObject* current = downcast&lt;RenderBoxModelObject&gt;(parent());
+    RenderBoxModelObject* currentChild = this;
</ins><span class="cx">     
</span><span class="cx">     // FIXME: Because splitting is O(n^2) as tags nest pathologically, we cap the depth at which we're willing to clone.
</span><span class="cx">     // There will eventually be a better approach to this problem that will let us nest to a much
</span><span class="lines">@@ -392,49 +392,48 @@
</span><span class="cx">     // incorrect rendering, but the alternative is to hang forever.
</span><span class="cx">     unsigned splitDepth = 1;
</span><span class="cx">     const unsigned cMaxSplitDepth = 200; 
</span><del>-    while (curr &amp;&amp; curr != fromBlock) {
-        ASSERT(curr-&gt;isRenderInline());
</del><ins>+    while (current &amp;&amp; current != fromBlock) {
</ins><span class="cx">         if (splitDepth &lt; cMaxSplitDepth) {
</span><span class="cx">             // Create a new clone.
</span><span class="cx">             RenderPtr&lt;RenderInline&gt; cloneChild = WTF::move(cloneInline);
</span><del>-            cloneInline = toRenderInline(curr)-&gt;clone();
</del><ins>+            cloneInline = downcast&lt;RenderInline&gt;(*current).clone();
</ins><span class="cx"> 
</span><span class="cx">             // Insert our child clone as the first child.
</span><span class="cx">             cloneInline-&gt;addChildIgnoringContinuation(cloneChild.leakPtr());
</span><span class="cx"> 
</span><span class="cx">             // Hook the clone up as a continuation of |curr|.
</span><del>-            RenderInline* inlineCurr = toRenderInline(curr);
-            oldCont = inlineCurr-&gt;continuation();
-            inlineCurr-&gt;setContinuation(cloneInline.get());
</del><ins>+            RenderInline&amp; currentInline = downcast&lt;RenderInline&gt;(*current);
+            oldCont = currentInline.continuation();
+            currentInline.setContinuation(cloneInline.get());
</ins><span class="cx">             cloneInline-&gt;setContinuation(oldCont);
</span><span class="cx"> 
</span><span class="cx">             // Now we need to take all of the children starting from the first child
</span><del>-            // *after* currChild and append them all to the clone.
-            o = currChild-&gt;nextSibling();
-            while (o) {
-                RenderObject* tmp = o;
-                o = tmp-&gt;nextSibling();
-                inlineCurr-&gt;removeChildInternal(*tmp, NotifyChildren);
</del><ins>+            // *after* currentChild and append them all to the clone.
+            renderer = currentChild-&gt;nextSibling();
+            while (renderer) {
+                RenderObject* tmp = renderer;
+                renderer = tmp-&gt;nextSibling();
+                currentInline.removeChildInternal(*tmp, NotifyChildren);
</ins><span class="cx">                 cloneInline-&gt;addChildIgnoringContinuation(tmp);
</span><span class="cx">                 tmp-&gt;setNeedsLayoutAndPrefWidthsRecalc();
</span><span class="cx">             }
</span><span class="cx">         }
</span><span class="cx">         
</span><span class="cx">         // Keep walking up the chain.
</span><del>-        currChild = curr;
-        curr = toRenderBoxModelObject(curr-&gt;parent());
-        splitDepth++;
</del><ins>+        currentChild = current;
+        current = downcast&lt;RenderBoxModelObject&gt;(current-&gt;parent());
+        ++splitDepth;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // Now we are at the block level. We need to put the clone into the toBlock.
</span><span class="cx">     toBlock-&gt;insertChildInternal(cloneInline.leakPtr(), nullptr, NotifyChildren);
</span><span class="cx"> 
</span><del>-    // Now take all the children after currChild and remove them from the fromBlock
</del><ins>+    // Now take all the children after currentChild and remove them from the fromBlock
</ins><span class="cx">     // and put them in the toBlock.
</span><del>-    o = currChild-&gt;nextSibling();
-    while (o) {
-        RenderObject* tmp = o;
-        o = tmp-&gt;nextSibling();
</del><ins>+    renderer = currentChild-&gt;nextSibling();
+    while (renderer) {
+        RenderObject* tmp = renderer;
+        renderer = tmp-&gt;nextSibling();
</ins><span class="cx">         fromBlock-&gt;removeChildInternal(*tmp, NotifyChildren);
</span><span class="cx">         toBlock-&gt;insertChildInternal(tmp, nullptr, NotifyChildren);
</span><span class="cx">     }
</span><span class="lines">@@ -508,14 +507,13 @@
</span><span class="cx"> void RenderInline::addChildToContinuation(RenderObject* newChild, RenderObject* beforeChild)
</span><span class="cx"> {
</span><span class="cx">     RenderBoxModelObject* flow = continuationBefore(beforeChild);
</span><del>-    ASSERT(!beforeChild || beforeChild-&gt;parent()-&gt;isRenderBlock() || beforeChild-&gt;parent()-&gt;isRenderInline());
-    RenderBoxModelObject* beforeChildParent = 0;
</del><ins>+    ASSERT(!beforeChild || is&lt;RenderBlock&gt;(*beforeChild-&gt;parent()) || is&lt;RenderInline&gt;(*beforeChild-&gt;parent()));
+    RenderBoxModelObject* beforeChildParent = nullptr;
</ins><span class="cx">     if (beforeChild)
</span><del>-        beforeChildParent = toRenderBoxModelObject(beforeChild-&gt;parent());
</del><ins>+        beforeChildParent = downcast&lt;RenderBoxModelObject&gt;(beforeChild-&gt;parent());
</ins><span class="cx">     else {
</span><del>-        RenderBoxModelObject* cont = nextContinuation(flow);
-        if (cont)
-            beforeChildParent = cont;
</del><ins>+        if (RenderBoxModelObject* continuation = nextContinuation(flow))
+            beforeChildParent = continuation;
</ins><span class="cx">         else
</span><span class="cx">             beforeChildParent = flow;
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderLayercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (174586 => 174587)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderLayer.cpp        2014-10-10 15:34:50 UTC (rev 174586)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp        2014-10-10 15:49:24 UTC (rev 174587)
</span><span class="lines">@@ -1251,7 +1251,7 @@
</span><span class="cx">     
</span><span class="cx">     bool positionOrOffsetChanged = false;
</span><span class="cx">     if (renderer().isInFlowPositioned()) {
</span><del>-        LayoutSize newOffset = toRenderBoxModelObject(renderer()).offsetForInFlowPosition();
</del><ins>+        LayoutSize newOffset = downcast&lt;RenderBoxModelObject&gt;(renderer()).offsetForInFlowPosition();
</ins><span class="cx">         positionOrOffsetChanged = newOffset != m_offsetForInFlowPosition;
</span><span class="cx">         m_offsetForInFlowPosition = newOffset;
</span><span class="cx">         localPoint.move(m_offsetForInFlowPosition);
</span><span class="lines">@@ -5404,10 +5404,10 @@
</span><span class="cx">     foregroundRect = backgroundRect;
</span><span class="cx">     outlineRect = backgroundRect;
</span><span class="cx"> 
</span><del>-    RenderFlowThread* flowThread = namedFlowFragment ? namedFlowFragment-&gt;flowThread() : 0;
</del><ins>+    RenderFlowThread* flowThread = namedFlowFragment ? namedFlowFragment-&gt;flowThread() : nullptr;
</ins><span class="cx">     if (isSelfPaintingLayer() &amp;&amp; flowThread &amp;&amp; !renderer().isInFlowRenderFlowThread()) {
</span><span class="cx">         ASSERT(namedFlowFragment-&gt;isValid());
</span><del>-        const RenderBoxModelObject&amp; boxModelObject = toRenderBoxModelObject(renderer());
</del><ins>+        const RenderBoxModelObject&amp; boxModelObject = downcast&lt;RenderBoxModelObject&gt;(renderer());
</ins><span class="cx">         LayoutRect layerBoundsWithVisualOverflow = namedFlowFragment-&gt;visualOverflowRectForBox(&amp;boxModelObject);
</span><span class="cx"> 
</span><span class="cx">         // Layers are in physical coordinates so the origin must be moved to the physical top-left of the flowthread.
</span><span class="lines">@@ -5593,7 +5593,7 @@
</span><span class="cx">     // to the flow thread, not the last region (in which it will end up because of bottom:0px)
</span><span class="cx">     if (namedFlowFragment &amp;&amp; renderer().flowThreadContainingBlock()) {
</span><span class="cx">         LayoutRect b = layerBounds;
</span><del>-        b.moveBy(namedFlowFragment-&gt;visualOverflowRectForBox(toRenderBoxModelObject(&amp;renderer())).location());
</del><ins>+        b.moveBy(namedFlowFragment-&gt;visualOverflowRectForBox(downcast&lt;RenderBoxModelObject&gt;(&amp;renderer())).location());
</ins><span class="cx">         b.inflate(renderer().view().maximalOutlineSize());
</span><span class="cx">         if (b.intersects(damageRect))
</span><span class="cx">             return true;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderLayerBackingcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderLayerBacking.cpp (174586 => 174587)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderLayerBacking.cpp        2014-10-10 15:34:50 UTC (rev 174586)
+++ trunk/Source/WebCore/rendering/RenderLayerBacking.cpp        2014-10-10 15:49:24 UTC (rev 174587)
</span><span class="lines">@@ -988,7 +988,7 @@
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         // Move the ancestor position at the top of the region where the composited layer is going to display.
</span><del>-        RenderFlowThread&amp; flowThread = toRenderFlowThread(flowThreadLayer-&gt;renderer());
</del><ins>+        RenderFlowThread&amp; flowThread = downcast&lt;RenderFlowThread&gt;(flowThreadLayer-&gt;renderer());
</ins><span class="cx">         RenderNamedFlowFragment* parentRegion = flowThread.cachedRegionForCompositedLayer(m_owningLayer);
</span><span class="cx">         if (!parentRegion)
</span><span class="cx">             return;
</span><span class="lines">@@ -996,7 +996,7 @@
</span><span class="cx">         IntPoint flowDelta;
</span><span class="cx">         m_owningLayer.convertToPixelSnappedLayerCoords(flowThreadLayer, flowDelta);
</span><span class="cx">         parentRegion-&gt;adjustRegionBoundsFromFlowThreadPortionRect(ancestorCompositingBounds);
</span><del>-        RenderBoxModelObject&amp; layerOwner = toRenderBoxModelObject(parentRegion-&gt;layerOwner());
</del><ins>+        RenderBoxModelObject&amp; layerOwner = downcast&lt;RenderBoxModelObject&gt;(parentRegion-&gt;layerOwner());
</ins><span class="cx">         RenderLayerBacking* layerOwnerBacking = layerOwner.layer()-&gt;backing();
</span><span class="cx">         if (!layerOwnerBacking)
</span><span class="cx">             return;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderLayerCompositorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp (174586 => 174587)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp        2014-10-10 15:34:50 UTC (rev 174586)
+++ trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp        2014-10-10 15:49:24 UTC (rev 174587)
</span><span class="lines">@@ -2558,7 +2558,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool RenderLayerCompositor::requiresCompositingForIndirectReason(RenderLayerModelObject&amp; renderer, bool hasCompositedDescendants, bool has3DTransformedDescendants, RenderLayer::IndirectCompositingReason&amp; reason) const
</span><span class="cx"> {
</span><del>-    RenderLayer&amp; layer = *toRenderBoxModelObject(renderer).layer();
</del><ins>+    RenderLayer&amp; layer = *downcast&lt;RenderBoxModelObject&gt;(renderer).layer();
</ins><span class="cx"> 
</span><span class="cx">     // When a layer has composited descendants, some effects, like 2d transforms, filters, masks etc must be implemented
</span><span class="cx">     // via compositing so that they also apply to those composited descendants.
</span><span class="lines">@@ -3653,7 +3653,7 @@
</span><span class="cx">     ASSERT(!layer.enclosingOverflowClipLayer(ExcludeSelf));
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    RenderBoxModelObject&amp; renderer = toRenderBoxModelObject(layer.renderer());
</del><ins>+    RenderBoxModelObject&amp; renderer = downcast&lt;RenderBoxModelObject&gt;(layer.renderer());
</ins><span class="cx"> 
</span><span class="cx">     StickyPositionViewportConstraints constraints;
</span><span class="cx">     renderer.computeStickyPositionConstraints(constraints, renderer.constrainingRectForStickyPosition());
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderObject.cpp (174586 => 174587)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderObject.cpp        2014-10-10 15:34:50 UTC (rev 174586)
+++ trunk/Source/WebCore/rendering/RenderObject.cpp        2014-10-10 15:49:24 UTC (rev 174587)
</span><span class="lines">@@ -2124,7 +2124,7 @@
</span><span class="cx"> {
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">     if (hasLayer())
</span><del>-        toRenderBoxModelObject(this)-&gt;layer()-&gt;willBeDestroyed();
</del><ins>+        downcast&lt;RenderBoxModelObject&gt;(*this).layer()-&gt;willBeDestroyed();
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     willBeDestroyed();
</span><span class="lines">@@ -2424,7 +2424,7 @@
</span><span class="cx">     // A is the HTML body element.
</span><span class="cx">     // The computed value of the position property for element A is fixed.
</span><span class="cx">     if (isRoot() || isBody() || (isOutOfFlowPositioned() &amp;&amp; style().position() == FixedPosition))
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     // If A is an area HTML element which has a map HTML element somewhere in the ancestor
</span><span class="cx">     // chain return the nearest ancestor map HTML element and stop this algorithm.
</span><span class="lines">@@ -2440,24 +2440,24 @@
</span><span class="cx"> 
</span><span class="cx">     bool skipTables = isPositioned();
</span><span class="cx">     float currZoom = style().effectiveZoom();
</span><del>-    auto curr = parent();
-    while (curr &amp;&amp; (!curr-&gt;element() || (!curr-&gt;isPositioned() &amp;&amp; !curr-&gt;isBody())) &amp;&amp; !curr-&gt;isRenderNamedFlowThread()) {
-        Element* element = curr-&gt;element();
</del><ins>+    auto current = parent();
+    while (current &amp;&amp; (!current-&gt;element() || (!current-&gt;isPositioned() &amp;&amp; !current-&gt;isBody())) &amp;&amp; !is&lt;RenderNamedFlowThread&gt;(*current)) {
+        Element* element = current-&gt;element();
</ins><span class="cx">         if (!skipTables &amp;&amp; element &amp;&amp; (is&lt;HTMLTableElement&gt;(*element) || is&lt;HTMLTableCellElement&gt;(*element)))
</span><span class="cx">             break;
</span><span class="cx">  
</span><del>-        float newZoom = curr-&gt;style().effectiveZoom();
</del><ins>+        float newZoom = current-&gt;style().effectiveZoom();
</ins><span class="cx">         if (currZoom != newZoom)
</span><span class="cx">             break;
</span><span class="cx">         currZoom = newZoom;
</span><del>-        curr = curr-&gt;parent();
</del><ins>+        current = current-&gt;parent();
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     // CSS regions specification says that region flows should return the body element as their offsetParent.
</span><del>-    if (curr &amp;&amp; curr-&gt;isRenderNamedFlowThread())
-        curr = document().body() ? document().body()-&gt;renderer() : 0;
</del><ins>+    if (is&lt;RenderNamedFlowThread&gt;(current))
+        current = document().body() ? document().body()-&gt;renderer() : nullptr;
</ins><span class="cx">     
</span><del>-    return curr &amp;&amp; curr-&gt;isBoxModelObject() ? toRenderBoxModelObject(curr) : 0;
</del><ins>+    return is&lt;RenderBoxModelObject&gt;(current) ? downcast&lt;RenderBoxModelObject&gt;(current) : nullptr;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> VisiblePosition RenderObject::createVisiblePosition(int offset, EAffinity affinity) const
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingmathmlRenderMathMLScriptscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/mathml/RenderMathMLScripts.cpp (174586 => 174587)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/mathml/RenderMathMLScripts.cpp        2014-10-10 15:34:50 UTC (rev 174586)
+++ trunk/Source/WebCore/rendering/mathml/RenderMathMLScripts.cpp        2014-10-10 15:49:24 UTC (rev 174587)
</span><span class="lines">@@ -76,11 +76,11 @@
</span><span class="cx"> RenderBoxModelObject* RenderMathMLScripts::base() const
</span><span class="cx"> {
</span><span class="cx">     if (!m_baseWrapper)
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx">     RenderObject* base = m_baseWrapper-&gt;firstChild();
</span><del>-    if (!base || !base-&gt;isBoxModelObject())
-        return 0;
-    return toRenderBoxModelObject(base);
</del><ins>+    if (!is&lt;RenderBoxModelObject&gt;(base))
+        return nullptr;
+    return downcast&lt;RenderBoxModelObject&gt;(base);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void RenderMathMLScripts::fixAnonymousStyleForSubSupPair(RenderObject* subSupPair, bool isPostScript)
</span></span></pre></div>
<a id="trunkSourceWebKitmacChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/ChangeLog (174586 => 174587)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/ChangeLog        2014-10-10 15:34:50 UTC (rev 174586)
+++ trunk/Source/WebKit/mac/ChangeLog        2014-10-10 15:49:24 UTC (rev 174587)
</span><span class="lines">@@ -1,3 +1,18 @@
</span><ins>+2014-10-10  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        Use is&lt;&gt;() / downcast&lt;&gt;() for RenderBoxModelObject
+        https://bugs.webkit.org/show_bug.cgi?id=137587
+
+        Reviewed by Mihnea Ovidenie.
+
+        Use is&lt;&gt;() / downcast&lt;&gt;() for RenderBoxModelObject and clean up the
+        surrounding code.
+
+        * Plugins/WebBaseNetscapePluginView.mm:
+        (-[WebBaseNetscapePluginView invalidatePluginContentRect:]):
+        * WebView/WebRenderLayer.mm:
+        (-[WebRenderLayer initWithWebFrame:]):
+
</ins><span class="cx"> 2014-10-09  Dean Jackson  &lt;dino@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Remove ENABLE_CSS3_CONDITIONAL_RULES
</span></span></pre></div>
<a id="trunkSourceWebKitmacPluginsWebBaseNetscapePluginViewmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/Plugins/WebBaseNetscapePluginView.mm (174586 => 174587)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/Plugins/WebBaseNetscapePluginView.mm        2014-10-10 15:34:50 UTC (rev 174586)
+++ trunk/Source/WebKit/mac/Plugins/WebBaseNetscapePluginView.mm        2014-10-10 15:49:24 UTC (rev 174587)
</span><span class="lines">@@ -864,7 +864,7 @@
</span><span class="cx"> 
</span><span class="cx"> - (void)invalidatePluginContentRect:(NSRect)rect
</span><span class="cx"> {
</span><del>-    if (RenderBoxModelObject *renderer = toRenderBoxModelObject(_element-&gt;renderer())) {
</del><ins>+    if (RenderBoxModelObject* renderer = downcast&lt;RenderBoxModelObject&gt;(_element-&gt;renderer())) {
</ins><span class="cx">         IntRect contentRect(rect);
</span><span class="cx">         contentRect.move(renderer-&gt;borderLeft() + renderer-&gt;paddingLeft(), renderer-&gt;borderTop() + renderer-&gt;paddingTop());
</span><span class="cx">         
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebViewWebRenderLayermm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebView/WebRenderLayer.mm (174586 => 174587)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/WebView/WebRenderLayer.mm        2014-10-10 15:34:50 UTC (rev 174586)
+++ trunk/Source/WebKit/mac/WebView/WebRenderLayer.mm        2014-10-10 15:49:24 UTC (rev 174587)
</span><span class="lines">@@ -145,7 +145,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (renderer-&gt;hasLayer()) {
</span><del>-        RenderLayer* layer = toRenderBoxModelObject(renderer)-&gt;layer();
</del><ins>+        RenderLayer* layer = downcast&lt;RenderBoxModelObject&gt;(*renderer).layer();
</ins><span class="cx"> 
</span><span class="cx">         name = [[WebRenderLayer nameForLayer:layer] retain];
</span><span class="cx">         bounds = layer-&gt;absoluteBoundingBox();
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (174586 => 174587)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2014-10-10 15:34:50 UTC (rev 174586)
+++ trunk/Source/WebKit2/ChangeLog        2014-10-10 15:49:24 UTC (rev 174587)
</span><span class="lines">@@ -1,3 +1,17 @@
</span><ins>+2014-10-10  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        Use is&lt;&gt;() / downcast&lt;&gt;() for RenderBoxModelObject
+        https://bugs.webkit.org/show_bug.cgi?id=137587
+
+        Reviewed by Mihnea Ovidenie.
+
+        Use is&lt;&gt;() / downcast&lt;&gt;() for RenderBoxModelObject and clean up the
+        surrounding code.
+
+        * WebProcess/Plugins/PluginView.cpp:
+        (WebKit::PluginView::renderer):
+        (WebKit::PluginView::invalidateRect):
+
</ins><span class="cx"> 2014-10-10  Pascal Jacquemart  &lt;p.jacquemart@samsung.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [SOUP] Remove custom URI schemes implementation
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessPluginsPluginViewcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp (174586 => 174587)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp        2014-10-10 15:34:50 UTC (rev 174586)
+++ trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp        2014-10-10 15:49:24 UTC (rev 174587)
</span><span class="lines">@@ -464,7 +464,7 @@
</span><span class="cx"> 
</span><span class="cx"> RenderBoxModelObject* PluginView::renderer() const
</span><span class="cx"> {
</span><del>-    return toRenderBoxModelObject(m_pluginElement-&gt;renderer());
</del><ins>+    return downcast&lt;RenderBoxModelObject&gt;(m_pluginElement-&gt;renderer());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void PluginView::pageScaleFactorDidChange()
</span><span class="lines">@@ -1297,7 +1297,7 @@
</span><span class="cx">     if (m_pluginElement-&gt;displayState() &lt; HTMLPlugInElement::Restarting)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    RenderBoxModelObject* renderer = toRenderBoxModelObject(m_pluginElement-&gt;renderer());
</del><ins>+    RenderBoxModelObject* renderer = downcast&lt;RenderBoxModelObject&gt;(m_pluginElement-&gt;renderer());
</ins><span class="cx">     if (!renderer)
</span><span class="cx">         return;
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>