<!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<>() / downcast<>() 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 <cdumez@apple.com>
</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<>() / downcast<>() 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 <cdumez@apple.com>
+
</ins><span class="cx"> Use is<>() / downcast<>() 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->isFileUploadControl())
- return toRenderFileUploadControl(m_renderer)->buttonValue();
</del><ins>+ if (is<RenderFileUploadControl>(*m_renderer))
+ return downcast<RenderFileUploadControl>(*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->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->isText())
</del><ins>+ if (is<RenderText>(*m_renderer))
</ins><span class="cx"> return textUnderElement();
</span><span class="cx">
</span><del>- if (cssBox && cssBox->isMenuList()) {
</del><ins>+ if (is<RenderMenuList>(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& selectElement = downcast<HTMLSelectElement>(*m_renderer->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)->text();
</del><ins>+ return downcast<RenderMenuList>(*m_renderer).text();
</ins><span class="cx"> }
</span><span class="cx">
</span><del>- if (m_renderer->isListMarker())
- return toRenderListMarker(*m_renderer).text();
</del><ins>+ if (is<RenderListMarker>(*m_renderer))
+ return downcast<RenderListMarker>(*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->isFileUploadControl())
- return toRenderFileUploadControl(m_renderer)->fileTextValue();
</del><ins>+ if (is<RenderFileUploadControl>(*m_renderer))
+ return downcast<RenderFileUploadControl>(*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()->getOrCreate(toRenderFieldset(m_renderer)->findLegend(RenderFieldset::IncludeFloatingOrOutOfFlow));
</del><ins>+ return axObjectCache()->getOrCreate(downcast<RenderFieldset>(*m_renderer).findLegend(RenderFieldset::IncludeFloatingOrOutOfFlow));
</ins><span class="cx">
</span><span class="cx"> Node* node = m_renderer->node();
</span><span class="cx"> if (!is<Element>(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->isChildAllowed(*child, style)) {
</span><span class="cx"> auto* childPtr = child.get();
</span><span class="cx"> renderer->addChild(child.leakPtr());
</span><del>- if (childPtr->isQuote())
- toRenderQuote(childPtr)->attachQuote();
</del><ins>+ if (is<RenderQuote>(*childPtr))
+ downcast<RenderQuote>(*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->renderer()) {
</span><span class="cx"> if (m_rendererIsCanvas) {
</span><span class="cx"> if (oldSize != size()) {
</span><del>- toRenderHTMLCanvas(renderer)->canvasSizeChanged();
</del><ins>+ downcast<RenderHTMLCanvas>(*renderer).canvasSizeChanged();
</ins><span class="cx"> if (renderBox() && renderBox()->hasAcceleratedCompositing())
</span><span class="cx"> renderBox()->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->renderer();
</span><del>- if (!renderer || !renderer->isWidget())
</del><ins>+ if (!is<RenderWidget>(renderer))
</ins><span class="cx"> return;
</span><span class="cx">
</span><del>- if (renderer->isEmbeddedObject()) {
- if (toRenderEmbeddedObject(renderer)->isPluginUnavailable()) {
- toRenderEmbeddedObject(renderer)->handleUnavailablePluginIndicatorEvent(event);
</del><ins>+ if (is<RenderEmbeddedObject>(*renderer)) {
+ if (downcast<RenderEmbeddedObject>(*renderer).isPluginUnavailable()) {
+ downcast<RenderEmbeddedObject>(*renderer).handleUnavailablePluginIndicatorEvent(event);
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (toRenderEmbeddedObject(renderer)->isSnapshottedPlugIn() && displayState() < Restarting) {
- toRenderSnapshottedPlugIn(renderer)->handleEvent(event);
</del><ins>+ if (is<RenderSnapshottedPlugIn>(*renderer) && displayState() < Restarting) {
+ downcast<RenderSnapshottedPlugIn>(*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<Widget> widget = toRenderWidget(renderer)->widget();
</del><ins>+ RefPtr<Widget> widget = downcast<RenderWidget>(*renderer).widget();
</ins><span class="cx"> if (!widget)
</span><span class="cx"> return;
</span><span class="cx"> widget->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()->isSnapshottedPlugIn()) {
- toRenderSnapshottedPlugIn(renderer())->updateSnapshot(image);
</del><ins>+ if (is<RenderSnapshottedPlugIn>(*renderer())) {
+ downcast<RenderSnapshottedPlugIn>(*renderer()).updateSnapshot(image);
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (renderer()->isEmbeddedObject())
</del><ins>+ if (is<RenderEmbeddedObject>(*renderer()))
</ins><span class="cx"> renderer()->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()->isSnapshottedPlugIn()) {
</del><ins>+ if (!is<RenderSnapshottedPlugIn>(*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()->settings().snapshotAllPlugIns() && displayState() <= DisplayingSnapshot && !m_plugInDimensionsSpecified) {
</span><del>- RenderSnapshottedPlugIn& renderer = toRenderSnapshottedPlugIn(*this->renderer());
</del><ins>+ RenderSnapshottedPlugIn& renderer = downcast<RenderSnapshottedPlugIn>(*this->renderer());
</ins><span class="cx"> if (!renderer.style().logicalWidth().isSpecified() && !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)->addSearchResult();
</del><ins>+ if (auto* renderer = element().renderer())
+ downcast<RenderSearchField>(*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())->updateCancelButtonVisibility();
</del><ins>+ downcast<RenderSearchField>(*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<RenderTextControlInnerBlock>(HTMLDivElement::renderer());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> PassRefPtr<RenderStyle> TextControlInnerTextElement::customStyleForRenderer(RenderStyle&)
</span><span class="cx"> {
</span><del>- RenderTextControl* parentRenderer = toRenderTextControl(shadowHost()->renderer());
- return parentRenderer->createInnerTextStyle(&parentRenderer->style());
</del><ins>+ RenderTextControl& parentRenderer = downcast<RenderTextControl>(*shadowHost()->renderer());
+ return parentRenderer.createInnerTextStyle(&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->focus();
</span><span class="cx"> input->select();
</span><span class="cx"> #if !PLATFORM(IOS)
</span><del>- RenderSearchField* renderer = toRenderSearchField(input->renderer());
- if (renderer->popupIsVisible())
- renderer->hidePopup();
</del><ins>+ RenderSearchField& renderer = downcast<RenderSearchField>(*input->renderer());
+ if (renderer.popupIsVisible())
+ renderer.hidePopup();
</ins><span class="cx"> else if (input->maxResults() > 0)
</span><del>- renderer->showPopup();
</del><ins>+ renderer.showPopup();
</ins><span class="cx"> #endif
</span><span class="cx"> event->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()->hasTagName(iframeTag)) {
- RenderIFrame* iframeRenderer = toRenderIFrame(frame().ownerElement()->renderWidget());
- if (iframeRenderer->flattenFrame())
</del><ins>+ if (is<HTMLIFrameElement>(*frame().ownerElement())) {
+ RenderIFrame& iframeRenderer = downcast<RenderIFrame>(*frame().ownerElement()->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()->hasTagName(frameTag))
</del><ins>+ if (is<HTMLFrameElement>(*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& 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&, const LayoutPoint&) 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->renderer()))
</del><ins>+ if (RenderButton* buttonRenderer = downcast<RenderButton>(button->renderer()))
</ins><span class="cx"> textY = paintOffset.y() + borderTop() + paddingTop() + buttonRenderer->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->renderer())) {
</del><ins>+ if (RenderButton* buttonRenderer = downcast<RenderButton>(button->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()->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<RenderBox>(renderer()))
</ins><span class="cx"> return LayoutRect();
</span><span class="cx">
</span><del>- RenderBox& renderBox = toRenderBox(renderer());
</del><ins>+ RenderBox& renderBox = downcast<RenderBox>(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<RenderVideo>(renderBox))
+ contentsRect = downcast<RenderVideo>(renderBox).videoBox();
</ins><span class="cx"> else
</span><span class="cx"> #endif
</span><del>- if (renderBox.isRenderReplaced()) {
- RenderReplaced& renderReplaced = *toRenderReplaced(&renderBox);
</del><ins>+ if (is<RenderReplaced>(renderBox)) {
+ RenderReplaced& renderReplaced = downcast<RenderReplaced>(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->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->isQuote() || !toRenderQuote(predecessor)->m_isAttached)
</del><ins>+ if (!is<RenderQuote>(*predecessor) || !downcast<RenderQuote>(*predecessor).m_isAttached)
</ins><span class="cx"> continue;
</span><del>- m_previous = toRenderQuote(predecessor);
</del><ins>+ m_previous = downcast<RenderQuote>(predecessor);
</ins><span class="cx"> m_next = m_previous->m_next;
</span><span class="cx"> m_previous->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<String> 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& plugInElement = downcast<HTMLPlugInElement>(*parent);
</span><del>- if (!plugInElement.isPlugInImageElement())
</del><ins>+ if (!is<HTMLPlugInImageElement>(plugInElement))
</ins><span class="cx"> return true;
</span><span class="cx">
</span><span class="cx"> HTMLPlugInImageElement& plugInImageElement = downcast<HTMLPlugInImageElement>(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->localToAbsolute();
- snapshotAbsPos.move(plugInRenderer->borderLeft() + plugInRenderer->paddingLeft(), plugInRenderer->borderTop() + plugInRenderer->paddingTop());
</del><ins>+ RenderSnapshottedPlugIn& plugInRenderer = downcast<RenderSnapshottedPlugIn>(*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 = &downcast<RenderBox>(renderer); renderBox != plugInRenderer; renderBox = renderBox->parentBox()) {
</del><ins>+ for (auto* renderBox = &downcast<RenderBox>(renderer); renderBox != &plugInRenderer; renderBox = renderBox->parentBox()) {
</ins><span class="cx"> if (renderBox->hasLayer() && renderBox->layer() && renderBox->layer()->isComposited()) {
</span><span class="cx"> snapshotAbsPos = -renderBox->location();
</span><span class="cx"> break;
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>- LayoutSize pluginSize(plugInRenderer->contentWidth(), plugInRenderer->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() <= 0 || alignedPluginRect.height() <= 0)
</span><span class="cx"> return true;
</span><span class="cx">
</span><del>- context->drawImage(snapshot, plugInRenderer->style().colorSpace(), alignedPluginRect, CompositeSourceOver);
</del><ins>+ context->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())->intrinsicPaddingBefore());
</del><ins>+ r.move(0, -downcast<RenderTableCell>(*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 << " " << enclosingIntRect(r);
</span><span class="cx">
</span><del>- if (!o.isText()) {
- if (o.isFileUploadControl())
- ts << " " << quoteAndEscapeNonPrintables(toRenderFileUploadControl(&o)->fileTextValue());
</del><ins>+ if (!is<RenderText>(o)) {
+ if (is<RenderFileUploadControl>(o))
+ ts << " " << quoteAndEscapeNonPrintables(downcast<RenderFileUploadControl>(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->parent();
</span><del>- if (!parent)
- return 0;
-
- RenderFullScreen* fullScreen = parent->isRenderFullScreen() ? toRenderFullScreen(parent) : 0;
- if (!fullScreen)
- return 0;
-
- return fullScreen->placeholder();
</del><ins>+ return is<RenderFullScreen>(parent) ? downcast<RenderFullScreen>(*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& renderText)
</span><span class="cx"> {
</span><del>- if (!renderText.preferredLogicalWidthsDirty() || !renderText.isCounter())
</del><ins>+ if (!renderText.preferredLogicalWidthsDirty() || !is<RenderCounter>(renderText))
</ins><span class="cx"> return;
</span><del>- toRenderCounter(renderText).updateCounter();
</del><ins>+ downcast<RenderCounter>(renderText).updateCounter();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> inline float measureHyphenWidth(RenderText* renderer, const Font& font, HashSet<const SimpleFontData*>* 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<FloatPoint> 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<RenderObject*, std::unique_ptr<FilterData>> 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 "config.h"
</span><span class="cx"> #include "RenderSVGResourceFilterPrimitive.h"
</span><span class="cx">
</span><ins>+#include "SVGFEDiffuseLightingElement.h"
+#include "SVGFEFloodElement.h"
</ins><span class="cx"> #include "SVGFEImage.h"
</span><ins>+#include "SVGFESpecularLightingElement.h"
</ins><span class="cx"> #include "SVGFilterPrimitiveStandardAttributes.h"
</span><span class="cx"> #include "SVGNames.h"
</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->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& newStyle = style().svgStyle();
</span><del>- if (filterPrimitiveElement().hasTagName(SVGNames::feFloodTag)) {
</del><ins>+ if (is<SVGFEFloodElement>(filterPrimitiveElement())) {
</ins><span class="cx"> if (newStyle.floodColor() != oldStyle->svgStyle().floodColor())
</span><del>- toRenderSVGResourceFilter(filter)->primitiveAttributeChanged(this, SVGNames::flood_colorAttr);
</del><ins>+ downcast<RenderSVGResourceFilter>(*filter).primitiveAttributeChanged(this, SVGNames::flood_colorAttr);
</ins><span class="cx"> if (newStyle.floodOpacity() != oldStyle->svgStyle().floodOpacity())
</span><del>- toRenderSVGResourceFilter(filter)->primitiveAttributeChanged(this, SVGNames::flood_opacityAttr);
- } else if (filterPrimitiveElement().hasTagName(SVGNames::feDiffuseLightingTag) || filterPrimitiveElement().hasTagName(SVGNames::feSpecularLightingTag)) {
</del><ins>+ downcast<RenderSVGResourceFilter>(*filter).primitiveAttributeChanged(this, SVGNames::flood_opacityAttr);
+ } else if (is<SVGFEDiffuseLightingElement>(filterPrimitiveElement()) || is<SVGFESpecularLightingElement>(filterPrimitiveElement())) {
</ins><span class="cx"> if (newStyle.lightingColor() != oldStyle->svgStyle().lightingColor())
</span><del>- toRenderSVGResourceFilter(filter)->primitiveAttributeChanged(this, SVGNames::lighting_colorAttr);
</del><ins>+ downcast<RenderSVGResourceFilter>(*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 "RenderGeometryMap.h"
</span><span class="cx"> #include "RenderIterator.h"
</span><span class="cx"> #include "RenderLayer.h"
</span><ins>+#include "RenderSVGImage.h"
</ins><span class="cx"> #include "RenderSVGResourceClipper.h"
</span><span class="cx"> #include "RenderSVGResourceFilter.h"
</span><span class="cx"> #include "RenderSVGResourceMarker.h"
</span><span class="cx"> #include "RenderSVGResourceMasker.h"
</span><span class="cx"> #include "RenderSVGRoot.h"
</span><span class="cx"> #include "RenderSVGText.h"
</span><ins>+#include "RenderSVGTransformableContainer.h"
</ins><span class="cx"> #include "RenderSVGViewportContainer.h"
</span><span class="cx"> #include "SVGResources.h"
</span><span class="cx"> #include "SVGResourcesCache.h"
</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<RenderSVGModelObject>(renderer))
+ return downcast<RenderSVGModelObject>(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 && parent->isSVGContainer() && toRenderSVGContainer(parent)->didTransformToRootUpdate());
</del><ins>+ return !(is<RenderSVGContainer>(parent) && downcast<RenderSVGContainer>(*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& objectBoundingBox, bool& objectBoundingBoxValid, RenderObject* other, FloatRect otherBoundingBox)
</span><span class="cx"> {
</span><del>- bool otherValid = other->isSVGContainer() ? toRenderSVGContainer(other)->isObjectBoundingBoxValid() : true;
</del><ins>+ bool otherValid = is<RenderSVGContainer>(*other) ? downcast<RenderSVGContainer>(*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& renderer)
</span><span class="cx"> {
</span><span class="cx"> const RenderElement* start = &renderer;
</span><del>- while (start && !start->isSVGRoot() && !start->isSVGViewportContainer())
</del><ins>+ while (start && !is<RenderSVGRoot>(*start) && !is<RenderSVGViewportContainer>(*start))
</ins><span class="cx"> start = start->parent();
</span><span class="cx">
</span><span class="cx"> ASSERT(start);
</span><del>- ASSERT(start->isSVGRoot() || start->isSVGViewportContainer());
- if (start->isSVGViewportContainer())
- return toRenderSVGViewportContainer(start)->isLayoutSizeChanged();
</del><ins>+ if (is<RenderSVGViewportContainer>(*start))
+ return downcast<RenderSVGViewportContainer>(*start).isLayoutSizeChanged();
</ins><span class="cx">
</span><del>- return toRenderSVGRoot(start)->isLayoutSizeChanged();
</del><ins>+ return downcast<RenderSVGRoot>(*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 && !ancestor->isSVGRoot()) {
- if (ancestor->isSVGTransformableContainer())
- return toRenderSVGContainer(ancestor)->didTransformToRootUpdate();
- if (ancestor->isSVGViewportContainer())
- return toRenderSVGViewportContainer(ancestor)->didTransformToRootUpdate();
</del><ins>+ while (ancestor && !is<RenderSVGRoot>(*ancestor)) {
+ if (is<RenderSVGTransformableContainer>(*ancestor))
+ return downcast<RenderSVGTransformableContainer>(*ancestor).didTransformToRootUpdate();
+ if (is<RenderSVGViewportContainer>(*ancestor))
+ return downcast<RenderSVGViewportContainer>(*ancestor).didTransformToRootUpdate();
</ins><span class="cx"> ancestor = ancestor->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<RenderSVGModelObject>(renderer))
+ return downcast<RenderSVGModelObject>(renderer).hasSVGShadow();
</ins><span class="cx">
</span><del>- if (renderer.isSVGRoot())
- return toRenderSVGRoot(renderer).hasSVGShadow();
</del><ins>+ if (is<RenderSVGRoot>(renderer))
+ return downcast<RenderSVGRoot>(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<RenderSVGModelObject>(renderer)) {
+ downcast<RenderSVGModelObject>(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<RenderSVGRoot>(renderer))
+ downcast<RenderSVGRoot>(renderer).setHasSVGShadow(hasShadow);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void SVGRenderSupport::intersectRepaintRectWithShadows(const RenderElement& renderer, FloatRect& 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& textPath = downcast<RenderSVGTextPath>(*object);
</ins><span class="cx">
</span><del>- m_textPath = textPath->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->startOffset();
</del><ins>+ m_textPathStartOffset = textPath.startOffset();
</ins><span class="cx"> m_textPathLength = m_textPath.length();
</span><span class="cx"> if (m_textPathStartOffset > 0 && m_textPathStartOffset <= 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(&textPath)) {
</ins><span class="cx"> SVGLengthContext lengthContext(textContentElement);
</span><span class="cx"> lengthAdjust = textContentElement->lengthAdjust();
</span><span class="cx"> desiredTextLength = textContentElement->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->renderer());
</del><ins>+ RenderSVGPath* renderer = downcast<RenderSVGPath>(this->renderer());
</ins><span class="cx">
</span><span class="cx"> if (attrName == SVGNames::dAttr) {
</span><span class="cx"> if (m_pathSegList.shouldSynchronize && !SVGAnimatedProperty::lookupWrapper<SVGPathElement, SVGAnimatedPathSegListPropertyTearOff>(this, dPropertyInfo())->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->renderer());
</del><ins>+ RenderSVGPath* renderer = downcast<RenderSVGPath>(this->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->renderer());
</del><ins>+ RenderSVGPath* renderer = downcast<RenderSVGPath>(this->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()->isSVGRoot()) {
- LayoutRect contentBoxRect = toRenderSVGRoot(renderer())->contentBoxRect();
</del><ins>+ if (is<RenderSVGRoot>(*renderer())) {
+ LayoutRect contentBoxRect = downcast<RenderSVGRoot>(*renderer()).contentBoxRect();
</ins><span class="cx"> return FloatSize(contentBoxRect.width() / renderer()->style().effectiveZoom(), contentBoxRect.height() / renderer()->style().effectiveZoom());
</span><span class="cx"> }
</span><span class="cx">
</span><del>- FloatRect viewportRect = toRenderSVGViewportContainer(renderer())->viewport();
</del><ins>+ FloatRect viewportRect = downcast<RenderSVGViewportContainer>(*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>