Chromium Code Reviews| Index: Source/core/editing/VisiblePosition.cpp |
| diff --git a/Source/core/editing/VisiblePosition.cpp b/Source/core/editing/VisiblePosition.cpp |
| index 046f5b6883f9c9c47e687b62db901d27e73890bd..e16a6c8390860652455358402433bc47181321a2 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 |
| +VisiblePosition honorEditingBoundaryAtOrBeforeOf(const VisiblePosition& pos, const Position& anchor) |
|
tkent
2015/06/19 02:15:57
Is this |static|?
yosin_UTC9
2015/06/19 03:38:12
No. This function will be called from |startOfLine
tkent
2015/06/19 03:41:38
So, the function should be declared in a header fi
yosin_UTC9
2015/06/19 04:25:36
You're right.
At this time, all call sites, actua
|
| { |
| 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()) |