| Index: Source/core/editing/VisiblePosition.cpp
|
| diff --git a/Source/core/editing/VisiblePosition.cpp b/Source/core/editing/VisiblePosition.cpp
|
| index 6c12510824762048ab9ccf263980a62bd449f90c..59df76fceb60cea334cb9cd79c5024bc8390199d 100644
|
| --- a/Source/core/editing/VisiblePosition.cpp
|
| +++ b/Source/core/editing/VisiblePosition.cpp
|
| @@ -64,20 +64,21 @@ VisiblePosition::VisiblePosition(const PositionWithAffinity& positionWithAffinit
|
| init(positionWithAffinity.position(), positionWithAffinity.affinity());
|
| }
|
|
|
| -VisiblePosition VisiblePosition::next(EditingBoundaryCrossingRule rule) const
|
| +// TODO(yosin) We should move |nextPositionOf()| to "VisibleUnits.cpp".
|
| +VisiblePosition nextPositionOf(const VisiblePosition& visiblePosition, EditingBoundaryCrossingRule rule)
|
| {
|
| - VisiblePosition next(nextVisuallyDistinctCandidate(m_deepPosition), m_affinity);
|
| + VisiblePosition next(nextVisuallyDistinctCandidate(visiblePosition.deepEquivalent()), visiblePosition.affinity());
|
|
|
| switch (rule) {
|
| case CanCrossEditingBoundary:
|
| return next;
|
| case CannotCrossEditingBoundary:
|
| - return honorEditingBoundaryAtOrAfter(next);
|
| + return visiblePosition.honorEditingBoundaryAtOrAfter(next);
|
| case CanSkipOverEditingBoundary:
|
| - return skipToEndOfEditingBoundary(next);
|
| + return visiblePosition.skipToEndOfEditingBoundary(next);
|
| }
|
| ASSERT_NOT_REACHED();
|
| - return honorEditingBoundaryAtOrAfter(next);
|
| + return visiblePosition.honorEditingBoundaryAtOrAfter(next);
|
| }
|
|
|
| VisiblePosition previousPositionOf(const VisiblePosition& visiblePosition, EditingBoundaryCrossingRule rule)
|
|
|