| Index: Source/core/editing/Position.cpp
|
| diff --git a/Source/core/editing/Position.cpp b/Source/core/editing/Position.cpp
|
| index 5c458e5eba619acdeee2e3329262443a45c3765e..f8f4f7bdea407d6b4afab27feab9176d4615bc6e 100644
|
| --- a/Source/core/editing/Position.cpp
|
| +++ b/Source/core/editing/Position.cpp
|
| @@ -32,6 +32,7 @@
|
| #include "core/dom/shadow/ElementShadow.h"
|
| #include "core/editing/EditingUtilities.h"
|
| #include "core/editing/PositionIterator.h"
|
| +#include "core/editing/TextAffinity.h"
|
| #include "core/editing/VisiblePosition.h"
|
| #include "core/editing/VisibleUnits.h"
|
| #include "core/editing/iterators/TextIterator.h"
|
| @@ -947,7 +948,7 @@ bool isRenderedCharacter(const Position& position)
|
| }
|
|
|
| template <typename Strategy>
|
| -InlineBoxPosition PositionAlgorithm<Strategy>::computeInlineBoxPosition(EAffinity affinity) const
|
| +InlineBoxPosition PositionAlgorithm<Strategy>::computeInlineBoxPosition(TextAffinity affinity) const
|
| {
|
| return computeInlineBoxPosition(affinity, primaryDirectionOf(*anchorNode()));
|
| }
|
| @@ -1011,7 +1012,7 @@ PositionAlgorithm<Strategy> upstreamIgnoringEditingBoundaries(PositionAlgorithm<
|
| }
|
|
|
| template <typename Strategy>
|
| -InlineBoxPosition PositionAlgorithm<Strategy>::computeInlineBoxPosition(EAffinity affinity, TextDirection primaryDirection) const
|
| +InlineBoxPosition PositionAlgorithm<Strategy>::computeInlineBoxPosition(TextAffinity affinity, TextDirection primaryDirection) const
|
| {
|
| InlineBox* inlineBox = nullptr;
|
| int caretOffset = computeEditingOffset();
|
| @@ -1032,7 +1033,7 @@ InlineBoxPosition PositionAlgorithm<Strategy>::computeInlineBoxPosition(EAffinit
|
| return InlineBoxPosition(inlineBox, caretOffset);
|
| }
|
|
|
| - return equivalent.computeInlineBoxPosition(UPSTREAM, primaryDirection);
|
| + return equivalent.computeInlineBoxPosition(TextAffinity::Upstream, primaryDirection);
|
| }
|
| if (layoutObject->isBox()) {
|
| inlineBox = toLayoutBox(layoutObject)->inlineBoxWrapper();
|
| @@ -1055,14 +1056,14 @@ InlineBoxPosition PositionAlgorithm<Strategy>::computeInlineBoxPosition(EAffinit
|
| if (caretOffset > caretMinOffset && caretOffset < caretMaxOffset)
|
| return InlineBoxPosition(box, caretOffset);
|
|
|
| - if (((caretOffset == caretMaxOffset) ^ (affinity == DOWNSTREAM))
|
| - || ((caretOffset == caretMinOffset) ^ (affinity == UPSTREAM))
|
| + if (((caretOffset == caretMaxOffset) ^ (affinity == TextAffinity::Downstream))
|
| + || ((caretOffset == caretMinOffset) ^ (affinity == TextAffinity::Upstream))
|
| || (caretOffset == caretMaxOffset && box->nextLeafChild() && box->nextLeafChild()->isLineBreak()))
|
| break;
|
|
|
| candidate = box;
|
| }
|
| - if (candidate && candidate == textLayoutObject->lastTextBox() && affinity == DOWNSTREAM) {
|
| + if (candidate && candidate == textLayoutObject->lastTextBox() && affinity == TextAffinity::Downstream) {
|
| box = searchAheadForBetterMatch(textLayoutObject);
|
| if (box)
|
| caretOffset = box->caretMinOffset();
|
|
|