2009-01-23  David Hyatt  <hyatt@apple.com>

        Move layer() into RenderBox and make it non-virtual.  Move all of the scrolling functions from RenderObject
        to RenderBox and devirtualize as many as possible.  Clean up styleWillChange to factor code specific to
        RenderBox and RenderBlock into their appropriate subclasses.  Stubbed out an empty styleWillChange on
        RenderText, since none of the work done in styleWillChange was relevant to text nodes.

        Reviewed by Sam Weinig

        * dom/Document.cpp:
        (WebCore::Document::elementFromPoint):
        (WebCore::Document::renderView):
        (WebCore::Document::prepareMouseEvent):
        * dom/Document.h:
        * dom/Element.cpp:
        (WebCore::Element::scrollByUnits):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::contains):
        * html/HTMLMarqueeElement.cpp:
        (WebCore::HTMLMarqueeElement::start):
        (WebCore::HTMLMarqueeElement::stop):
        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::topRenderer):
        (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
        (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
        * page/AccessibilityRenderObject.h:
        * page/EventHandler.cpp:
        (WebCore::scrollAndAcceptEvent):
        (WebCore::EventHandler::handleMousePressEvent):
        (WebCore::EventHandler::handleMouseDraggedEvent):
        (WebCore::EventHandler::updateSelectionForMouseDrag):
        (WebCore::EventHandler::autoscrollTimerFired):
        (WebCore::EventHandler::updateAutoscrollRenderer):
        (WebCore::EventHandler::stopAutoscrollTimer):
        (WebCore::EventHandler::scrollOverflow):
        (WebCore::EventHandler::handleWheelEvent):
        (WebCore::EventHandler::hoverTimerFired):
        * page/Frame.cpp:
        (WebCore::Frame::clearTimers):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::styleWillChange):
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::styleWillChange):
        (WebCore::RenderBox::verticalScrollbarWidth):
        (WebCore::RenderBox::horizontalScrollbarHeight):
        (WebCore::RenderBox::scroll):
        (WebCore::RenderBox::canBeProgramaticallyScrolled):
        (WebCore::RenderBox::autoscroll):
        (WebCore::RenderBox::panScroll):
        (WebCore::RenderBox::offsetFromContainer):
        (WebCore::RenderBox::computeAbsoluteRepaintRect):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::layer):
        (WebCore::RenderBox::requiresLayer):
        (WebCore::RenderBox::stopAutoscroll):
        (WebCore::RenderBox::hasAutoVerticalScrollbar):
        (WebCore::RenderBox::hasAutoHorizontalScrollbar):
        (WebCore::RenderBox::scrollsOverflow):
        (WebCore::RenderBox::scrollsOverflowX):
        (WebCore::RenderBox::scrollsOverflowY):
        (WebCore::RenderBox::includeVerticalScrollbarSize):
        (WebCore::RenderBox::includeHorizontalScrollbarSize):
        * rendering/RenderFlow.cpp:
        (WebCore::RenderFlow::absoluteClippedOverflowRect):
        (WebCore::RenderFlow::addFocusRingRects):
        * rendering/RenderForeignObject.cpp:
        * rendering/RenderForeignObject.h:
        (WebCore::RenderForeignObject::requiresLayer):
        * rendering/RenderInline.cpp:
        * rendering/RenderInline.h:
        (WebCore::RenderInline::requiresLayer):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::childrenClipRect):
        (WebCore::RenderLayer::selfClipRect):
        * rendering/RenderListBox.cpp:
        * rendering/RenderListBox.h:
        * rendering/RenderObject.cpp:
        (WebCore::addLayers):
        (WebCore::RenderObject::removeLayers):
        (WebCore::RenderObject::moveLayers):
        (WebCore::RenderObject::findNextLayer):
        (WebCore::RenderObject::enclosingLayer):
        (WebCore::RenderObject::setNeedsLayout):
        (WebCore::RenderObject::setNeedsPositionedMovementLayout):
        (WebCore::RenderObject::computeAbsoluteRepaintRect):
        (WebCore::RenderObject::styleWillChange):
        (WebCore::RenderObject::localToAbsolute):
        (WebCore::RenderObject::absoluteToLocal):
        (WebCore::RenderObject::localToAbsoluteQuad):
        (WebCore::RenderObject::offsetFromContainer):
        (WebCore::RenderObject::destroy):
        * rendering/RenderObject.h:
        * rendering/RenderPath.cpp:
        * rendering/RenderPath.h:
        (WebCore::RenderPath::requiresLayer):
        * rendering/RenderReplica.h:
        (WebCore::RenderReplica::requiresLayer):
        * rendering/RenderSVGContainer.cpp:
        * rendering/RenderSVGContainer.h:
        (WebCore::RenderSVGContainer::requiresLayer):
        * rendering/RenderSVGHiddenContainer.cpp:
        * rendering/RenderSVGHiddenContainer.h:
        (WebCore::RenderSVGHiddenContainer::requiresLayer):
        * rendering/RenderSVGImage.cpp:
        * rendering/RenderSVGImage.h:
        (WebCore::RenderSVGImage::requiresLayer):
        * rendering/RenderSVGInline.h:
        (WebCore::RenderSVGInline::requiresLayer):
        * rendering/RenderSVGInlineText.h:
        (WebCore::RenderSVGInlineText::requiresLayer):
        * rendering/RenderSVGText.cpp:
        * rendering/RenderSVGText.h:
        (WebCore::RenderSVGText::requiresLayer):
        * rendering/RenderScrollbarPart.h:
        (WebCore::RenderScrollbarPart::requiresLayer):
        * rendering/RenderSlider.cpp:
        (WebCore::RenderSlider::setCurrentPosition):
        * rendering/RenderTableCell.cpp:
        * rendering/RenderTableCell.h:
        (WebCore::RenderTableCell::requiresLayer):
        * rendering/RenderTableCol.h:
        (WebCore::RenderTableCol::requiresLayer):
        * rendering/RenderTableRow.h:
        (WebCore::RenderTableRow::requiresLayer):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::layoutRows):
        * rendering/RenderText.h:
        (WebCore::RenderText::styleWillChange):
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::autoscroll):
        (WebCore::RenderTextControl::scroll):
        * rendering/RenderTextControl.h:
        * rendering/RenderTreeAsText.cpp:
        (WebCore::write):
        (WebCore::externalRepresentation):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40180 268f45cc-cd09-0410-ab3c-d52691b4dbfc
47 files changed