| Index: Source/core/editing/VisiblePosition.cpp
|
| diff --git a/Source/core/editing/VisiblePosition.cpp b/Source/core/editing/VisiblePosition.cpp
|
| index 7edfd878343974fd03a3fe1382a75d9ba50f2401..72e0574de5cb1dca22fd24c02a275013672a5561 100644
|
| --- a/Source/core/editing/VisiblePosition.cpp
|
| +++ b/Source/core/editing/VisiblePosition.cpp
|
| @@ -135,22 +135,22 @@ Position VisiblePosition::leftVisuallyDistinctCandidate() const
|
| if (!box)
|
| return primaryDirection == LTR ? previousVisuallyDistinctCandidate(m_deepPosition) : nextVisuallyDistinctCandidate(m_deepPosition);
|
|
|
| - LayoutObject* renderer = &box->layoutObject();
|
| + LayoutObject* layoutObject = &box->layoutObject();
|
|
|
| while (true) {
|
| - if ((renderer->isReplaced() || renderer->isBR()) && offset == box->caretRightmostOffset())
|
| + if ((layoutObject->isReplaced() || layoutObject->isBR()) && offset == box->caretRightmostOffset())
|
| return box->isLeftToRightDirection() ? previousVisuallyDistinctCandidate(m_deepPosition) : nextVisuallyDistinctCandidate(m_deepPosition);
|
|
|
| - if (!renderer->node()) {
|
| + if (!layoutObject->node()) {
|
| box = box->prevLeafChild();
|
| if (!box)
|
| return primaryDirection == LTR ? previousVisuallyDistinctCandidate(m_deepPosition) : nextVisuallyDistinctCandidate(m_deepPosition);
|
| - renderer = &box->layoutObject();
|
| + layoutObject = &box->layoutObject();
|
| offset = box->caretRightmostOffset();
|
| continue;
|
| }
|
|
|
| - offset = box->isLeftToRightDirection() ? renderer->previousOffset(offset) : renderer->nextOffset(offset);
|
| + offset = box->isLeftToRightDirection() ? layoutObject->previousOffset(offset) : layoutObject->nextOffset(offset);
|
|
|
| int caretMinOffset = box->caretMinOffset();
|
| int caretMaxOffset = box->caretMaxOffset();
|
| @@ -176,7 +176,7 @@ Position VisiblePosition::leftVisuallyDistinctCandidate() const
|
|
|
| // Reposition at the other logical position corresponding to our edge's visual position and go for another round.
|
| box = prevBox;
|
| - renderer = &box->layoutObject();
|
| + layoutObject = &box->layoutObject();
|
| offset = prevBox->caretRightmostOffset();
|
| continue;
|
| }
|
| @@ -191,7 +191,7 @@ Position VisiblePosition::leftVisuallyDistinctCandidate() const
|
| InlineBox* logicalStart = 0;
|
| if (primaryDirection == LTR ? box->root().getLogicalStartBoxWithNode(logicalStart) : box->root().getLogicalEndBoxWithNode(logicalStart)) {
|
| box = logicalStart;
|
| - renderer = &box->layoutObject();
|
| + layoutObject = &box->layoutObject();
|
| offset = primaryDirection == LTR ? box->caretMinOffset() : box->caretMaxOffset();
|
| }
|
| break;
|
| @@ -210,7 +210,7 @@ Position VisiblePosition::leftVisuallyDistinctCandidate() const
|
| break;
|
|
|
| box = prevBox;
|
| - renderer = &box->layoutObject();
|
| + layoutObject = &box->layoutObject();
|
| offset = box->caretRightmostOffset();
|
| if (box->direction() == primaryDirection)
|
| break;
|
| @@ -222,7 +222,7 @@ Position VisiblePosition::leftVisuallyDistinctCandidate() const
|
|
|
| if (prevBox) {
|
| box = prevBox;
|
| - renderer = &box->layoutObject();
|
| + layoutObject = &box->layoutObject();
|
| offset = box->caretRightmostOffset();
|
| if (box->bidiLevel() > level) {
|
| do {
|
| @@ -252,13 +252,13 @@ Position VisiblePosition::leftVisuallyDistinctCandidate() const
|
| break;
|
| level = box->bidiLevel();
|
| }
|
| - renderer = &box->layoutObject();
|
| + layoutObject = &box->layoutObject();
|
| offset = primaryDirection == LTR ? box->caretMinOffset() : box->caretMaxOffset();
|
| }
|
| break;
|
| }
|
|
|
| - p = createLegacyEditingPosition(renderer->node(), offset);
|
| + p = createLegacyEditingPosition(layoutObject->node(), offset);
|
|
|
| if ((p.isCandidate() && p.downstream() != downstreamStart) || p.atStartOfTree() || p.atEndOfTree())
|
| return p;
|
| @@ -299,22 +299,22 @@ Position VisiblePosition::rightVisuallyDistinctCandidate() const
|
| if (!box)
|
| return primaryDirection == LTR ? nextVisuallyDistinctCandidate(m_deepPosition) : previousVisuallyDistinctCandidate(m_deepPosition);
|
|
|
| - LayoutObject* renderer = &box->layoutObject();
|
| + LayoutObject* layoutObject = &box->layoutObject();
|
|
|
| while (true) {
|
| - if ((renderer->isReplaced() || renderer->isBR()) && offset == box->caretLeftmostOffset())
|
| + if ((layoutObject->isReplaced() || layoutObject->isBR()) && offset == box->caretLeftmostOffset())
|
| return box->isLeftToRightDirection() ? nextVisuallyDistinctCandidate(m_deepPosition) : previousVisuallyDistinctCandidate(m_deepPosition);
|
|
|
| - if (!renderer->node()) {
|
| + if (!layoutObject->node()) {
|
| box = box->nextLeafChild();
|
| if (!box)
|
| return primaryDirection == LTR ? nextVisuallyDistinctCandidate(m_deepPosition) : previousVisuallyDistinctCandidate(m_deepPosition);
|
| - renderer = &box->layoutObject();
|
| + layoutObject = &box->layoutObject();
|
| offset = box->caretLeftmostOffset();
|
| continue;
|
| }
|
|
|
| - offset = box->isLeftToRightDirection() ? renderer->nextOffset(offset) : renderer->previousOffset(offset);
|
| + offset = box->isLeftToRightDirection() ? layoutObject->nextOffset(offset) : layoutObject->previousOffset(offset);
|
|
|
| int caretMinOffset = box->caretMinOffset();
|
| int caretMaxOffset = box->caretMaxOffset();
|
| @@ -340,7 +340,7 @@ Position VisiblePosition::rightVisuallyDistinctCandidate() const
|
|
|
| // Reposition at the other logical position corresponding to our edge's visual position and go for another round.
|
| box = nextBox;
|
| - renderer = &box->layoutObject();
|
| + layoutObject = &box->layoutObject();
|
| offset = nextBox->caretLeftmostOffset();
|
| continue;
|
| }
|
| @@ -355,7 +355,7 @@ Position VisiblePosition::rightVisuallyDistinctCandidate() const
|
| InlineBox* logicalEnd = 0;
|
| if (primaryDirection == LTR ? box->root().getLogicalEndBoxWithNode(logicalEnd) : box->root().getLogicalStartBoxWithNode(logicalEnd)) {
|
| box = logicalEnd;
|
| - renderer = &box->layoutObject();
|
| + layoutObject = &box->layoutObject();
|
| offset = primaryDirection == LTR ? box->caretMaxOffset() : box->caretMinOffset();
|
| }
|
| break;
|
| @@ -376,7 +376,7 @@ Position VisiblePosition::rightVisuallyDistinctCandidate() const
|
|
|
| // For example, abc 123 ^ CBA or 123 ^ CBA abc
|
| box = nextBox;
|
| - renderer = &box->layoutObject();
|
| + layoutObject = &box->layoutObject();
|
| offset = box->caretLeftmostOffset();
|
| if (box->direction() == primaryDirection)
|
| break;
|
| @@ -388,7 +388,7 @@ Position VisiblePosition::rightVisuallyDistinctCandidate() const
|
|
|
| if (nextBox) {
|
| box = nextBox;
|
| - renderer = &box->layoutObject();
|
| + layoutObject = &box->layoutObject();
|
| offset = box->caretLeftmostOffset();
|
|
|
| if (box->bidiLevel() > level) {
|
| @@ -419,13 +419,13 @@ Position VisiblePosition::rightVisuallyDistinctCandidate() const
|
| break;
|
| level = box->bidiLevel();
|
| }
|
| - renderer = &box->layoutObject();
|
| + layoutObject = &box->layoutObject();
|
| offset = primaryDirection == LTR ? box->caretMaxOffset() : box->caretMinOffset();
|
| }
|
| break;
|
| }
|
|
|
| - p = createLegacyEditingPosition(renderer->node(), offset);
|
| + p = createLegacyEditingPosition(layoutObject->node(), offset);
|
|
|
| if ((p.isCandidate() && p.downstream() != downstreamStart) || p.atStartOfTree() || p.atEndOfTree())
|
| return p;
|
| @@ -566,9 +566,9 @@ Position VisiblePosition::canonicalPosition(const Position& passedPosition)
|
| Position position = passedPosition;
|
|
|
| // FIXME (9535): Canonicalizing to the leftmost candidate means that if we're at a line wrap, we will
|
| - // ask renderers to paint downstream carets for other renderers.
|
| + // ask layoutObjects to paint downstream carets for other layoutObjects.
|
| // To fix this, we need to either a) add code to all paintCarets to pass the responsibility off to
|
| - // the appropriate renderer for VisiblePosition's like these, or b) canonicalize to the rightmost candidate
|
| + // the appropriate layoutObject for VisiblePosition's like these, or b) canonicalize to the rightmost candidate
|
| // unless the affinity is upstream.
|
| if (position.isNull())
|
| return Position();
|
| @@ -650,36 +650,36 @@ UChar32 VisiblePosition::characterAfter() const
|
| return textNode->data().characterStartingAt(offset);
|
| }
|
|
|
| -LayoutRect VisiblePosition::localCaretRect(LayoutObject*& renderer) const
|
| +LayoutRect VisiblePosition::localCaretRect(LayoutObject*& layoutObject) const
|
| {
|
| PositionWithAffinity positionWithAffinity(m_deepPosition, m_affinity);
|
| - return localCaretRectOfPosition(positionWithAffinity, renderer);
|
| + return localCaretRectOfPosition(positionWithAffinity, layoutObject);
|
| }
|
|
|
| IntRect VisiblePosition::absoluteCaretBounds() const
|
| {
|
| - LayoutObject* renderer;
|
| - LayoutRect localRect = localCaretRect(renderer);
|
| - if (localRect.isEmpty() || !renderer)
|
| + LayoutObject* layoutObject;
|
| + LayoutRect localRect = localCaretRect(layoutObject);
|
| + if (localRect.isEmpty() || !layoutObject)
|
| return IntRect();
|
|
|
| - return renderer->localToAbsoluteQuad(FloatRect(localRect)).enclosingBoundingBox();
|
| + return layoutObject->localToAbsoluteQuad(FloatRect(localRect)).enclosingBoundingBox();
|
| }
|
|
|
| int VisiblePosition::lineDirectionPointForBlockDirectionNavigation() const
|
| {
|
| - LayoutObject* renderer;
|
| - LayoutRect localRect = localCaretRect(renderer);
|
| - if (localRect.isEmpty() || !renderer)
|
| + LayoutObject* layoutObject;
|
| + LayoutRect localRect = localCaretRect(layoutObject);
|
| + if (localRect.isEmpty() || !layoutObject)
|
| return 0;
|
|
|
| // This ignores transforms on purpose, for now. Vertical navigation is done
|
| // without consulting transforms, so that 'up' in transformed text is 'up'
|
| // relative to the text, not absolute 'up'.
|
| - FloatPoint caretPoint = renderer->localToAbsolute(FloatPoint(localRect.location()));
|
| - LayoutObject* containingBlock = renderer->containingBlock();
|
| + FloatPoint caretPoint = layoutObject->localToAbsolute(FloatPoint(localRect.location()));
|
| + LayoutObject* containingBlock = layoutObject->containingBlock();
|
| if (!containingBlock)
|
| - containingBlock = renderer; // Just use ourselves to determine the writing mode if we have no containing block.
|
| + containingBlock = layoutObject; // Just use ourselves to determine the writing mode if we have no containing block.
|
| return containingBlock->isHorizontalWritingMode() ? caretPoint.x() : caretPoint.y();
|
| }
|
|
|
|
|