2009-08-05 Darin Adler <darin@apple.com>
Reviewed by David Levin.
Use checked casts for render tree
https://bugs.webkit.org/show_bug.cgi?id=23522
Last patch. Makes all the casts of RenderObject use checked
casts instead of using static_cast directly.
* accessibility/AccessibilityListBox.cpp:
(WebCore::AccessibilityListBox::visibleChildren):
(WebCore::AccessibilityListBox::doAccessibilityHitTest):
* accessibility/AccessibilityListBoxOption.cpp:
(WebCore::AccessibilityListBoxOption::elementRect):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::textUnderElement):
(WebCore::AccessibilityRenderObject::stringValue):
(WebCore::AccessibilityRenderObject::titleUIElement):
(WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
* accessibility/AccessibilitySlider.cpp:
(WebCore::AccessibilitySliderThumb::elementRect):
* dom/InputElement.cpp:
(WebCore::InputElement::updatePlaceholderVisibility):
* dom/SelectElement.cpp:
(WebCore::SelectElement::scrollToSelection):
(WebCore::SelectElement::recalcStyle):
(WebCore::SelectElement::setRecalcListItems):
(WebCore::SelectElement::menuListDefaultEventHandler):
(WebCore::SelectElement::listBoxDefaultEventHandler):
* editing/BreakBlockquoteCommand.cpp:
(WebCore::BreakBlockquoteCommand::doApply):
* html/HTMLAppletElement.cpp:
(WebCore::HTMLAppletElement::renderWidgetForJSBindings):
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::reset):
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::updateWidget):
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::attach):
* html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::defaultEventHandler):
* html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::attach):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::defaultEventHandler):
(WebCore::HTMLInputElement::addSearchResult):
(WebCore::HTMLInputElement::onSearch):
* html/HTMLLIElement.cpp:
(WebCore::HTMLLIElement::parseMappedAttribute):
(WebCore::HTMLLIElement::attach):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setReadyState):
(WebCore::HTMLMediaElement::mediaPlayerDurationChanged):
(WebCore::HTMLMediaElement::mediaPlayerSizeChanged):
(WebCore::HTMLMediaElement::mediaPlayerRenderingCanBeAccelerated):
(WebCore::HTMLMediaElement::mediaPlayerGraphicsLayer):
(WebCore::HTMLMediaElement::defaultEventHandler):
(WebCore::HTMLMediaElement::finishParsingChildren):
* html/HTMLOListElement.cpp:
(WebCore::HTMLOListElement::parseMappedAttribute):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::updateWidget):
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::defaultEventHandler):
* page/DragController.cpp:
(WebCore::DragController::concludeEditDrag):
* page/EventHandler.cpp:
(WebCore::EventHandler::selectCursor):
(WebCore::EventHandler::capsLockStateMayHaveChanged):
* page/Frame.cpp:
(WebCore::Frame::ownerRenderer):
* page/FrameView.cpp:
(WebCore::FrameView::detachCustomScrollbars):
* page/wince/FrameWince.cpp:
(WebCore::computePageRectsForFrame):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::placeBoxesHorizontally):
* rendering/MediaControlElements.cpp:
(WebCore::MediaControlTimelineElement::defaultEventHandler):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::findNextLineBreak):
* rendering/RenderCounter.cpp:
(WebCore::planCounter):
* rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::computeEdgeInfo):
(WebCore::RenderFrameSet::setIsResizing):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::contentsBox):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateBacking):
(WebCore::RenderLayerCompositor::requiresCompositingForVideo):
* rendering/RenderListItem.cpp:
(WebCore::previousListItem):
(WebCore::RenderListItem::explicitValueChanged):
* rendering/RenderObject.cpp:
(WebCore::updateListMarkerNumbers):
* rendering/RenderObjectChildList.cpp:
(WebCore::updateListMarkerNumbers):
(WebCore::invalidateCountersInContainer):
* rendering/RenderScrollbarTheme.cpp:
(WebCore::RenderScrollbarTheme::minimumThumbLength):
(WebCore::RenderScrollbarTheme::backButtonRect):
(WebCore::RenderScrollbarTheme::forwardButtonRect):
(WebCore::RenderScrollbarTheme::trackRect):
(WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
(WebCore::RenderScrollbarTheme::paintScrollbarBackground):
(WebCore::RenderScrollbarTheme::paintTrackBackground):
(WebCore::RenderScrollbarTheme::paintTrackPiece):
(WebCore::RenderScrollbarTheme::paintButton):
(WebCore::RenderScrollbarTheme::paintThumb):
* rendering/RenderSlider.cpp:
(WebCore::SliderThumbElement::defaultEventHandler):
* rendering/RenderThemeChromiumMac.mm:
(WebCore::RenderThemeChromiumMac::paintSliderThumb):
(WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
* rendering/RenderThemeChromiumWin.cpp:
(WebCore::RenderThemeChromiumWin::determineSliderThumbState):
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintSliderThumb):
* rendering/RenderThemeSafari.cpp:
(WebCore::RenderThemeSafari::paintSliderThumb):
* rendering/RenderThemeWin.cpp:
(WebCore::RenderThemeWin::determineSliderThumbState):
* rendering/SVGCharacterLayoutInfo.cpp:
(WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
* rendering/SVGRootInlineBox.cpp:
(WebCore::findSVGRootObject):
* rendering/TextControlInnerElements.cpp:
(WebCore::RenderTextControlInnerBlock::nodeAtPoint):
(WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
* svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::attach):
* svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::canvasResource):
* svg/SVGTextContentElement.cpp:
(WebCore::rootInlineBoxForTextContentElement):
* wml/WMLInputElement.cpp:
(WebCore::WMLInputElement::defaultEventHandler):
Use checked casts.
* rendering/RenderApplet.h:
* rendering/RenderCounter.h:
* rendering/RenderFieldset.h:
* rendering/RenderFileUploadControl.h:
* rendering/RenderFrame.h:
* rendering/RenderFrameSet.h:
* rendering/RenderHTMLCanvas.h:
* rendering/RenderListBox.h:
* rendering/RenderListItem.h:
* rendering/RenderListMarker.h:
* rendering/RenderMedia.h:
* rendering/RenderMenuList.h:
* rendering/RenderPart.h:
* rendering/RenderPartObject.h:
* rendering/RenderPath.h:
* rendering/RenderSVGContainer.h:
* rendering/RenderSVGRoot.h:
* rendering/RenderSVGTextPath.h:
* rendering/RenderSVGViewportContainer.h:
* rendering/RenderScrollbar.h:
* rendering/RenderSlider.h:
* rendering/RenderTextControlMultiLine.h:
* rendering/RenderTextControlSingleLine.h:
* rendering/RenderVideo.h:
Added a checked cast. Also made most members protected or private.
* rendering/RenderBlock.h:
* rendering/RenderInline.h:
* rendering/RenderReplaced.h:
* rendering/RenderSVGBlock.h:
* rendering/RenderSVGImage.h:
* rendering/RenderSVGInlineText.h:
* rendering/RenderSVGText.h:
* rendering/RenderTextControl.h:
Made most members protected or private.
* rendering/RenderInline.cpp:
* rendering/RenderSVGContainer.cpp:
* rendering/RenderSVGHiddenContainer.cpp:
* rendering/RenderSVGImage.cpp:
* rendering/RenderSVGRoot.cpp:
Removed unneeded destructor.
* rendering/RenderSVGHiddenContainer.h:
Removed unneeded virtual function overrides that did the same as
the default and base class.
* rendering/RenderSVGViewportContainer.cpp:
(WebCore::RenderSVGViewportContainer::paint): Updated to use m_viewport
directly instead of using a function call.
(WebCore::RenderSVGViewportContainer::applyViewportClip): Ditto.
(WebCore::RenderSVGViewportContainer::viewportTransform): Ditto.
(WebCore::RenderSVGViewportContainer::localToParentTransform): Ditto.
(WebCore::RenderSVGViewportContainer::pointIsInsideViewportClip): Ditto.
* rendering/RenderScrollbar.cpp:
(WebCore::pseudoForScrollbarPart): Changed switch statement to use cases for
all values instead of using a default case.
* rendering/RenderTreeAsText.cpp:
(WebCore::operator<<): Removed dependency on casting to types that don't
have any public members we need to get at. Instead, use function names to
identify the type rather than doing so much overloading. Changed to use
checked casts.
(WebCore::write): Ditto.
* rendering/SVGRenderSupport.cpp:
(WebCore::renderSubtreeToImage): Changed to use a checked cast and also
added a comment about the fact that the code does not do sufficient type
checking before doing the cast.
* rendering/SVGRenderTreeAsText.cpp:
(WebCore::writeRenderSVGTextBox): Renamed this from operator<<.
(WebCore::writeSVGInlineTextBoxes): Renamed this from writeSVGInlineText.
(WebCore::writeSVGText): Renamed this from write.
(WebCore::writeSVGInlineText): Ditto.
(WebCore::writeSVGImage): Ditto.
* rendering/SVGRenderTreeAsText.h: Updated for name changes. Removed
unneeded default arguments.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@46815 268f45cc-cd09-0410-ab3c-d52691b4dbfc
96 files changed