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

        Move the line box list member out of RenderFlow and down into RenderBlock and RenderInline.  Eliminate RenderFlow from the tree.

        Reviewed by Sam Weinig

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * html/HTMLAnchorElement.cpp:
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::rendererLineBoxes):
        (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
        * rendering/InlineFlowBox.h:
        * rendering/LayoutState.cpp:
        (WebCore::LayoutState::LayoutState):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::RenderBlock):
        (WebCore::RenderBlock::destroy):
        (WebCore::RenderBlock::styleWillChange):
        (WebCore::RenderBlock::styleDidChange):
        (WebCore::RenderBlock::dirtyLineBoxes):
        (WebCore::RenderBlock::removeChild):
        (WebCore::RenderBlock::setSelectionState):
        (WebCore::RenderBlock::avoidsFloats):
        (WebCore::RenderBlock::positionForCoordinates):
        (WebCore::RenderBlock::calcInlinePrefWidths):
        (WebCore::RenderBlock::baselinePosition):
        (WebCore::RenderBlock::getBaselineOfFirstLineBox):
        (WebCore::RenderBlock::getBaselineOfLastLineBox):
        (WebCore::RenderBlock::rectWithOutlineForRepaint):
        (WebCore::RenderBlock::hoverAncestor):
        (WebCore::RenderBlock::updateDragState):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::lineBoxes):
        (WebCore::RenderBlock::firstLineBox):
        (WebCore::RenderBlock::lastLineBox):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::offsetFromContainer):
        (WebCore::RenderBox::computeRectForRepaint):
        (WebCore::RenderBox::containingBlockWidthForPositioned):
        (WebCore::RenderBox::calcAbsoluteHorizontalValues):
        (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
        * rendering/RenderBox.h:
        * rendering/RenderFlow.cpp: Removed.
        * rendering/RenderFlow.h: Removed.
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::RenderInline):
        (WebCore::RenderInline::destroy):
        (WebCore::RenderInline::styleDidChange):
        (WebCore::RenderInline::addChildIgnoringContinuation):
        (WebCore::RenderInline::cloneInline):
        (WebCore::RenderInline::splitInlines):
        (WebCore::RenderInline::offsetLeft):
        (WebCore::RenderInline::offsetTop):
        (WebCore::RenderInline::positionForCoordinates):
        (WebCore::RenderInline::rectWithOutlineForRepaint):
        (WebCore::RenderInline::updateDragState):
        (WebCore::RenderInline::relativePositionedInlineOffset):
        * rendering/RenderInline.h:
        (WebCore::RenderInline::lineBoxes):
        (WebCore::RenderInline::firstLineBox):
        (WebCore::RenderInline::lastLineBox):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateLayerPosition):
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::rendererLineBoxes):
        * rendering/RootInlineBox.h:
        * rendering/bidi.cpp:
        (WebCore::RenderBlock::createLineBoxes):
        * wml/WMLAElement.cpp:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40378 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/rendering/bidi.cpp b/WebCore/rendering/bidi.cpp
index c57eb7c..e0c364b 100644
--- a/WebCore/rendering/bidi.cpp
+++ b/WebCore/rendering/bidi.cpp
@@ -466,10 +466,9 @@
     InlineFlowBox* result = 0;
     do {
         ASSERT(obj->isRenderInline() || obj == this);
-        RenderFlow* flow = static_cast<RenderFlow*>(obj);
-
+        
         // Get the last box we made for this render object.
-        parentBox = flow->lastLineBox();
+        parentBox = obj->isRenderInline() ? static_cast<RenderInline*>(obj)->lastLineBox() : static_cast<RenderBlock*>(obj)->lastLineBox();
 
         // If this box is constructed then it is from a previous line, and we need
         // to make a new box for our line.  If this box is unconstructed but it has