Changeset 76438 in webkit


Ignore:
Timestamp:
Jan 22, 2011 2:51:42 AM (13 years ago)
Author:
rniwa@webkit.org
Message:

2011-01-22 Ryosuke Niwa <rniwa@webkit.org>

Reviewed by Eric Seidel.

Stop instantiating legacy editing positions in VisibleSelection, visible_units.cpp, Frame, and RenderBlock
https://bugs.webkit.org/show_bug.cgi?id=52759

Stopped instantiating legacy editing positions in the following files.

  • editing/VisibleSelection.cpp: (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
  • editing/visible_units.cpp: (WebCore::previousBoundary): (WebCore::previousLinePosition): (WebCore::nextLinePosition): (WebCore::startOfBlock):
  • page/Frame.cpp: (WebCore::Frame::visiblePositionForPoint):
  • rendering/RenderBlock.cpp: Removed RenderBlock::positionForRenderer because it was not called anywhere.
  • rendering/RenderBlock.h: Ditto.
Location:
trunk/Source/WebCore
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r76437 r76438  
     12011-01-22  Ryosuke Niwa  <rniwa@webkit.org>
     2
     3        Reviewed by Eric Seidel.
     4
     5        Stop instantiating legacy editing positions in VisibleSelection, visible_units.cpp, Frame, and RenderBlock
     6        https://bugs.webkit.org/show_bug.cgi?id=52759
     7
     8        Stopped instantiating legacy editing positions in the following files.
     9
     10        * editing/VisibleSelection.cpp:
     11        (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
     12        * editing/visible_units.cpp:
     13        (WebCore::previousBoundary):
     14        (WebCore::previousLinePosition):
     15        (WebCore::nextLinePosition):
     16        (WebCore::startOfBlock):
     17        * page/Frame.cpp:
     18        (WebCore::Frame::visiblePositionForPoint):
     19        * rendering/RenderBlock.cpp: Removed RenderBlock::positionForRenderer because it was not called anywhere.
     20        * rendering/RenderBlock.h: Ditto.
     21
    1222011-01-22  Adrienne Walker  <enne@google.com>
    223
  • trunk/Source/WebCore/editing/VisibleSelection.cpp

    r76107 r76438  
    527527            Node* shadowAncestor = startRoot ? startRoot->shadowAncestorNode() : 0;
    528528            if (p.isNull() && startRoot && (shadowAncestor != startRoot))
    529                 p = Position(shadowAncestor, 0);
     529                p = positionBeforeNode(shadowAncestor);
    530530            while (p.isNotNull() && !(lowestEditableAncestor(p.node()) == baseEditableAncestor && !isEditablePosition(p))) {
    531531                Node* root = editableRootForPosition(p);
     
    533533                p = isAtomicNode(p.node()) ? positionInParentAfterNode(p.node()) : nextVisuallyDistinctCandidate(p);
    534534                if (p.isNull() && (shadowAncestor != root))
    535                     p = Position(shadowAncestor, 0);
     535                    p = positionBeforeNode(shadowAncestor);
    536536            }
    537537            VisiblePosition next(p);
  • trunk/Source/WebCore/editing/visible_units.cpp

    r76107 r76438  
    537537            n = previousLeafWithSameEditability(n);
    538538        while (n) {
    539             if (highestEditableRoot(Position(n, 0)) != highestRoot)
     539            if (highestEditableRoot(firstPositionInOrBeforeNode(n)) != highestRoot)
    540540                break;
    541541            Position pos(n, caretMinOffset(n));
     
    568568        Node* node = renderer->node();
    569569        if (node && editingIgnoresContent(node))
    570             return Position(node->parentNode(), node->nodeIndex());
     570            return positionInParentBeforeNode(node);
    571571        return renderer->positionForPoint(IntPoint(x - absPos.x(), root->lineTop()));
    572572    }
     
    646646            n = nextLeafWithSameEditability(n);
    647647        while (n) {
    648             if (highestEditableRoot(Position(n, 0)) != highestRoot)
     648            if (highestEditableRoot(firstPositionInOrBeforeNode(n)) != highestRoot)
    649649                break;
    650650            Position pos(n, caretMinOffset(n));
     
    673673        Node* node = renderer->node();
    674674        if (node && editingIgnoresContent(node))
    675             return Position(node->parentNode(), node->nodeIndex());
     675            return positionInParentBeforeNode(node);
    676676        return renderer->positionForPoint(IntPoint(x - absPos.x(), root->lineTop()));
    677677    }   
     
    914914    if (!startNode)
    915915        return VisiblePosition();
    916     return VisiblePosition(Position(startNode->enclosingBlockFlowElement(), 0), DOWNSTREAM);
     916    return VisiblePosition(firstPositionInNode(startNode->enclosingBlockFlowElement()), DOWNSTREAM);
    917917}
    918918
  • trunk/Source/WebCore/page/Frame.cpp

    r75652 r76438  
    786786    VisiblePosition visiblePos = renderer->positionForPoint(result.localPoint());
    787787    if (visiblePos.isNull())
    788         visiblePos = VisiblePosition(Position(node, 0));
     788        visiblePos = firstPositionInOrBeforeNode(node);
    789789    return visiblePos;
    790790}
  • trunk/Source/WebCore/rendering/RenderBlock.cpp

    r76201 r76438  
    39333933}
    39343934
    3935 Position RenderBlock::positionForRenderer(RenderObject* renderer, bool start) const
    3936 {
    3937     if (!renderer)
    3938         return Position(node(), 0);
    3939 
    3940     Node* n = renderer->node() ? renderer->node() : node();
    3941     if (!n)
    3942         return Position();
    3943 
    3944     ASSERT(renderer == n->renderer());
    3945 
    3946     int offset = start ? renderer->caretMinOffset() : renderer->caretMaxOffset();
    3947 
    3948     // FIXME: This was a runtime check that seemingly couldn't fail; changed it to an assertion for now.
    3949     ASSERT(!n->isCharacterDataNode() || renderer->isText());
    3950 
    3951     return Position(n, offset);
    3952 }
    3953 
    39543935// FIXME: This function should go on RenderObject as an instance method. Then
    39553936// all cases in which positionForPoint recurs could call this instead to
  • trunk/Source/WebCore/rendering/RenderBlock.h

    r76248 r76438  
    569569
    570570    Position positionForBox(InlineBox*, bool start = true) const;
    571     Position positionForRenderer(RenderObject*, bool start = true) const;
    572571    VisiblePosition positionForPointWithInlineChildren(const IntPoint&);
    573572
Note: See TracChangeset for help on using the changeset viewer.