2009-01-23 David Hyatt <hyatt@apple.com>
authorhyatt@apple.com <hyatt@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 23 Jan 2009 21:25:32 +0000 (21:25 +0000)
committerhyatt@apple.com <hyatt@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 23 Jan 2009 21:25:32 +0000 (21:25 +0000)
commita05fd46e8b95d018a4913e8574bd0e6ff44250be
tree52fef6327906c78f62295cd0e26edf0464d6ee5b
parentf543b556351ab43668ea257172a472e23f376635
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: https://svn.webkit.org/repository/webkit/trunk@40180 268f45cc-cd09-0410-ab3c-d52691b4dbfc
47 files changed:
WebCore/ChangeLog
WebCore/dom/Document.cpp
WebCore/dom/Document.h
WebCore/dom/Element.cpp
WebCore/editing/SelectionController.cpp
WebCore/html/HTMLMarqueeElement.cpp
WebCore/page/AccessibilityRenderObject.cpp
WebCore/page/AccessibilityRenderObject.h
WebCore/page/EventHandler.cpp
WebCore/page/Frame.cpp
WebCore/rendering/RenderBlock.cpp
WebCore/rendering/RenderBlock.h
WebCore/rendering/RenderBox.cpp
WebCore/rendering/RenderBox.h
WebCore/rendering/RenderForeignObject.cpp
WebCore/rendering/RenderForeignObject.h
WebCore/rendering/RenderInline.cpp
WebCore/rendering/RenderInline.h
WebCore/rendering/RenderLayer.cpp
WebCore/rendering/RenderListBox.cpp
WebCore/rendering/RenderListBox.h
WebCore/rendering/RenderObject.cpp
WebCore/rendering/RenderObject.h
WebCore/rendering/RenderPath.cpp
WebCore/rendering/RenderPath.h
WebCore/rendering/RenderReplica.h
WebCore/rendering/RenderSVGContainer.cpp
WebCore/rendering/RenderSVGContainer.h
WebCore/rendering/RenderSVGHiddenContainer.cpp
WebCore/rendering/RenderSVGHiddenContainer.h
WebCore/rendering/RenderSVGImage.cpp
WebCore/rendering/RenderSVGImage.h
WebCore/rendering/RenderSVGInline.h
WebCore/rendering/RenderSVGInlineText.h
WebCore/rendering/RenderSVGText.cpp
WebCore/rendering/RenderSVGText.h
WebCore/rendering/RenderScrollbarPart.h
WebCore/rendering/RenderSlider.cpp
WebCore/rendering/RenderTableCell.cpp
WebCore/rendering/RenderTableCell.h
WebCore/rendering/RenderTableCol.h
WebCore/rendering/RenderTableRow.h
WebCore/rendering/RenderTableSection.cpp
WebCore/rendering/RenderText.h
WebCore/rendering/RenderTextControl.cpp
WebCore/rendering/RenderTextControl.h
WebCore/rendering/RenderTreeAsText.cpp