2011-05-17  Eric Seidel  <eric@webkit.org>

        Reviewed by Ryosuke Niwa.

        Add a LineLayoutState object to hold global state during line layout
        https://bugs.webkit.org/show_bug.cgi?id=60113

        Like LayoutState for layout(), LineLayoutState keeps track of global information
        during an entire linebox tree layout pass (aka layoutInlineChildren).

        For now it just holds isFullLayout and the logicalRepaintTop/Bottom.
        It's possible we should hold the useRepaintBounds bool as well as
        the startLine and endLine RootInlineBox pointers.

        No change in behavior, thus no tests.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock):
        * rendering/RenderBlock.h:
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::LineLayoutState::LineLayoutState):
        (WebCore::LineLayoutState::markForFullLayout):
        (WebCore::LineLayoutState::isFullLayout):
        (WebCore::LineLayoutState::setRepaintRange):
        (WebCore::LineLayoutState::updateRepaintRangeFromBox):
        (WebCore::LineLayoutState::startLine):
        (WebCore::LineLayoutState::endLine):
        (WebCore::deleteLineRange):
        (WebCore::RenderBlock::layoutRunsAndFloats):
        (WebCore::RenderBlock::layoutInlineChildren):
        (WebCore::RenderBlock::checkFloatsInCleanLine):
        (WebCore::RenderBlock::determineStartPosition):
        (WebCore::RenderBlock::determineEndPosition):
        (WebCore::RenderBlock::matchedEndLine):

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