| Index: Source/core/editing/VisiblePosition.cpp
|
| diff --git a/Source/core/editing/VisiblePosition.cpp b/Source/core/editing/VisiblePosition.cpp
|
| index 046f5b6883f9c9c47e687b62db901d27e73890bd..f840785e4270b900d5906d5e53abfae6b201c7ef 100644
|
| --- a/Source/core/editing/VisiblePosition.cpp
|
| +++ b/Source/core/editing/VisiblePosition.cpp
|
| @@ -450,12 +450,12 @@ VisiblePosition VisiblePosition::right(bool stayInEditableContent) const
|
| return directionOfEnclosingBlock(right.deepEquivalent()) == LTR ? honorEditingBoundaryAtOrAfter(right) : honorEditingBoundaryAtOrBefore(right);
|
| }
|
|
|
| -VisiblePosition VisiblePosition::honorEditingBoundaryAtOrBefore(const VisiblePosition &pos) const
|
| +static VisiblePosition honorEditingBoundaryAtOrBeforeOf(const VisiblePosition& pos, const Position& anchor)
|
| {
|
| if (pos.isNull())
|
| return pos;
|
|
|
| - ContainerNode* highestRoot = highestEditableRoot(deepEquivalent());
|
| + ContainerNode* highestRoot = highestEditableRoot(anchor);
|
|
|
| // Return empty position if pos is not somewhere inside the editable region containing this position
|
| if (highestRoot && !pos.deepEquivalent().deprecatedNode()->isDescendantOf(highestRoot))
|
| @@ -476,6 +476,11 @@ VisiblePosition VisiblePosition::honorEditingBoundaryAtOrBefore(const VisiblePos
|
| return lastEditableVisiblePositionBeforePositionInRoot(pos.deepEquivalent(), highestRoot);
|
| }
|
|
|
| +VisiblePosition VisiblePosition::honorEditingBoundaryAtOrBefore(const VisiblePosition &pos) const
|
| +{
|
| + return honorEditingBoundaryAtOrBeforeOf(pos, deepEquivalent());
|
| +}
|
| +
|
| VisiblePosition VisiblePosition::honorEditingBoundaryAtOrAfter(const VisiblePosition &pos) const
|
| {
|
| if (pos.isNull())
|
|
|