2009-07-09 Roland Steiner <rolandsteiner@google.com>
authorbfulgham@webkit.org <bfulgham@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 10 Jul 2009 05:26:42 +0000 (05:26 +0000)
committerbfulgham@webkit.org <bfulgham@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 10 Jul 2009 05:26:42 +0000 (05:26 +0000)
commit0c47c08d775bac2f5c258c94f49cfe1d9d24987c
tree80476a769a603fb92f819cff7ad3c0f263837026
parent623eec1e45bacb296d97a7a8f9ff53b7c097b653
2009-07-09  Roland Steiner  <rolandsteiner@google.com>

        Reviewed by Maciej Stachowiak.

        added InlineBox::isLeaf()
        firstLeafChild()/lastLeafChild() not virtual and not callable on InlineBox anymore.
        firstLeafChild()/lastLeafChild() will no longer return a node outside of the given subtree.
        Removed firstLeafChildAfterBox()/lastLeafChildBeforeBox()
        Removed potentially quadratic behavior if all nodes before/after a given box are empty InlineFlowBoxes

        Currently, these methods are called on RootInlineBox objects only, so above changes should not have
        any observable effect (only the removal of the square performance behavior could apply,
        but the conditions for that are probably of a rather theoretical nature).

        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::nextLeafChild):
        (WebCore::InlineBox::prevLeafChild):
        * rendering/InlineBox.h:
        (WebCore::InlineBox::isLeaf):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::firstLeafChild):
        (WebCore::InlineFlowBox::lastLeafChild):
        * rendering/InlineFlowBox.h:
        (WebCore::InlineFlowBox::firstChild):
        (WebCore::InlineFlowBox::lastChild):
        (WebCore::InlineFlowBox::isLeaf):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::closestLeafChildForXPos):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@45702 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebCore/ChangeLog
WebCore/rendering/InlineBox.cpp
WebCore/rendering/InlineBox.h
WebCore/rendering/InlineFlowBox.cpp
WebCore/rendering/InlineFlowBox.h
WebCore/rendering/RootInlineBox.cpp