summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Source/WebKit/android/jni/WebViewCore.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/Source/WebKit/android/jni/WebViewCore.cpp b/Source/WebKit/android/jni/WebViewCore.cpp
index 497cc9a9c..6a2982320 100644
--- a/Source/WebKit/android/jni/WebViewCore.cpp
+++ b/Source/WebKit/android/jni/WebViewCore.cpp
@@ -4223,6 +4223,14 @@ Vector<VisibleSelection> WebViewCore::getTextRanges(
VisiblePosition endSelect = visiblePositionForContentPoint(endX, endY);
Position start = startSelect.deepEquivalent();
Position end = endSelect.deepEquivalent();
+ if (isLtr(end)) {
+ // The end caret could be just to the right of the text.
+ endSelect = visiblePositionForContentPoint(endX - 1, endY);
+ Position newEnd = endSelect.deepEquivalent();
+ if (!newEnd.isNull()) {
+ end = newEnd;
+ }
+ }
Vector<VisibleSelection> ranges;
if (!start.isNull() && !end.isNull()) {
if (comparePositions(start, end) > 0) {