Index: Source/core/editing/Editor.cpp |
diff --git a/Source/core/editing/Editor.cpp b/Source/core/editing/Editor.cpp |
index cbfebe7732840b7a0a9d26fbbef22a278e246483..2414b6525e8db3143cbade4554f5c20f031421a3 100644 |
--- a/Source/core/editing/Editor.cpp |
+++ b/Source/core/editing/Editor.cpp |
@@ -1202,10 +1202,15 @@ static PassRefPtrWillBeRawPtr<Range> findStringBetweenPositions(const String& ta |
// return such section as a Range, we skip this match and seek for the |
// next occurrence. |
// TODO(yosin) Handle this case. |
- if (forward) |
- searchRange = EphemeralRangeTemplate<Strategy>(resultRange.startPosition().next(), searchRange.endPosition()); |
- else |
- searchRange = EphemeralRangeTemplate<Strategy>(searchRange.startPosition(), resultRange.endPosition().previous()); |
+ if (forward) { |
+ // TODO(yosin) We should use |PositionMoveType::Character| |
+ // for |nextPositionOf()|. |
+ searchRange = EphemeralRangeTemplate<Strategy>(nextPositionOf(resultRange.startPosition(), PositionMoveType::CodePoint), searchRange.endPosition()); |
+ } else { |
+ // TODO(yosin) We should use |PositionMoveType::Character| |
+ // for |previousPositionOf()|. |
+ searchRange = EphemeralRangeTemplate<Strategy>(searchRange.startPosition(), previousPositionOf(resultRange.endPosition(), PositionMoveType::CodePoint)); |
+ } |
} |
ASSERT_NOT_REACHED(); |