Index: Source/core/editing/VisibleUnits.cpp |
diff --git a/Source/core/editing/VisibleUnits.cpp b/Source/core/editing/VisibleUnits.cpp |
index e5377ca7909d7b20a9e5d09e05abecd5bf2f1a61..f60cc4682271ad2669b0e3edcb1fadb6a82e9108 100644 |
--- a/Source/core/editing/VisibleUnits.cpp |
+++ b/Source/core/editing/VisibleUnits.cpp |
@@ -434,7 +434,7 @@ static VisiblePosition visualWordPosition(const VisiblePosition& visiblePosition |
VisiblePosition leftWordPosition(const VisiblePosition& visiblePosition, bool skipsSpaceWhenMovingRight) |
{ |
VisiblePosition leftWordBreak = visualWordPosition(visiblePosition, MoveLeft, skipsSpaceWhenMovingRight); |
- leftWordBreak = visiblePosition.honorEditingBoundaryAtOrBefore(leftWordBreak); |
+ leftWordBreak = honorEditingBoundaryAtOrBefore(leftWordBreak, visiblePosition.deepEquivalent()); |
// FIXME: How should we handle a non-editable position? |
if (leftWordBreak.isNull() && isEditablePosition(visiblePosition.deepEquivalent())) { |
@@ -447,7 +447,7 @@ VisiblePosition leftWordPosition(const VisiblePosition& visiblePosition, bool sk |
VisiblePosition rightWordPosition(const VisiblePosition& visiblePosition, bool skipsSpaceWhenMovingRight) |
{ |
VisiblePosition rightWordBreak = visualWordPosition(visiblePosition, MoveRight, skipsSpaceWhenMovingRight); |
- rightWordBreak = visiblePosition.honorEditingBoundaryAtOrBefore(rightWordBreak); |
+ rightWordBreak = honorEditingBoundaryAtOrBefore(rightWordBreak, visiblePosition.deepEquivalent()); |
// FIXME: How should we handle a non-editable position? |
if (rightWordBreak.isNull() && isEditablePosition(visiblePosition.deepEquivalent())) { |
@@ -720,7 +720,7 @@ static unsigned previousWordPositionBoundary(const UChar* characters, unsigned l |
VisiblePosition previousWordPosition(const VisiblePosition& c) |
{ |
VisiblePosition prev = previousBoundary(c, previousWordPositionBoundary); |
- return c.honorEditingBoundaryAtOrBefore(prev); |
+ return honorEditingBoundaryAtOrBefore(prev, c.deepEquivalent()); |
} |
static unsigned nextWordPositionBoundary(const UChar* characters, unsigned length, unsigned offset, BoundarySearchContextAvailability mayHaveMoreContext, bool& needMoreContext) |
@@ -736,7 +736,7 @@ static unsigned nextWordPositionBoundary(const UChar* characters, unsigned lengt |
VisiblePosition nextWordPosition(const VisiblePosition& c) |
{ |
VisiblePosition next = nextBoundary(c, nextWordPositionBoundary); |
- return c.honorEditingBoundaryAtOrAfter(next); |
+ return honorEditingBoundaryAtOrAfter(next, c.deepEquivalent()); |
} |
// --------- |
@@ -900,7 +900,7 @@ static VisiblePosition endOfLine(const VisiblePosition& c, LineEndpointComputati |
return VisiblePosition(lastPositionInNode(editableRoot)); |
} |
- return c.honorEditingBoundaryAtOrAfter(visPos); |
+ return honorEditingBoundaryAtOrAfter(visPos, c.deepEquivalent()); |
} |
// Make sure the end of line is at the same line as the given input position. Else use the previous position to |
@@ -915,7 +915,7 @@ static VisiblePosition endOfLine(const VisiblePosition& c, LineEndpointComputati |
visPos = endPositionForLine(visPos, UseInlineBoxOrdering); |
} |
- return c.honorEditingBoundaryAtOrAfter(visPos); |
+ return honorEditingBoundaryAtOrAfter(visPos, c.deepEquivalent()); |
} |
// FIXME: Rename this function to reflect the fact it ignores bidi levels. |
@@ -1134,7 +1134,7 @@ static unsigned previousSentencePositionBoundary(const UChar* characters, unsign |
VisiblePosition previousSentencePosition(const VisiblePosition& c) |
{ |
VisiblePosition prev = previousBoundary(c, previousSentencePositionBoundary); |
- return c.honorEditingBoundaryAtOrBefore(prev); |
+ return honorEditingBoundaryAtOrBefore(prev, c.deepEquivalent()); |
} |
static unsigned nextSentencePositionBoundary(const UChar* characters, unsigned length, unsigned, BoundarySearchContextAvailability, bool&) |
@@ -1148,7 +1148,7 @@ static unsigned nextSentencePositionBoundary(const UChar* characters, unsigned l |
VisiblePosition nextSentencePosition(const VisiblePosition& c) |
{ |
VisiblePosition next = nextBoundary(c, nextSentencePositionBoundary); |
- return c.honorEditingBoundaryAtOrAfter(next); |
+ return honorEditingBoundaryAtOrAfter(next, c.deepEquivalent()); |
} |
VisiblePosition startOfParagraph(const VisiblePosition& c, EditingBoundaryCrossingRule boundaryCrossingRule) |