summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/java/android/webkit/WebTextView.java1
-rw-r--r--core/java/android/webkit/WebView.java4
-rw-r--r--core/java/android/widget/TextView.java9
3 files changed, 13 insertions, 1 deletions
diff --git a/core/java/android/webkit/WebTextView.java b/core/java/android/webkit/WebTextView.java
index 3bcd483..14dc61d 100644
--- a/core/java/android/webkit/WebTextView.java
+++ b/core/java/android/webkit/WebTextView.java
@@ -370,6 +370,7 @@ import java.util.ArrayList;
int candEnd = EditableInputConnection.getComposingSpanEnd(sp);
imm.updateSelection(this, selStart, selEnd, candStart, candEnd);
}
+ updateCursorControllerPositions();
}
@Override
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index 72b4e36..f5affe5 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -3477,7 +3477,9 @@ public class WebView extends AbsoluteLayout
if (AUTO_REDRAW_HACK && mAutoRedraw) {
invalidate();
}
- if (inEditingMode()) mWebTextView.onDrawSubstitute();
+ if (inEditingMode()) {
+ mWebTextView.onDrawSubstitute();
+ }
mWebViewCore.signalRepaintDone();
// paint the highlight in the end
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index 9855d6e..2fcae1c 100644
--- a/core/java/android/widget/TextView.java
+++ b/core/java/android/widget/TextView.java
@@ -4277,6 +4277,15 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
canvas.restore();
+ updateCursorControllerPositions();
+ }
+
+ /**
+ * Update the positions of the CursorControllers. Needed by WebTextView,
+ * which does not draw.
+ * @hide
+ */
+ protected void updateCursorControllerPositions() {
if (mInsertionPointCursorController != null &&
mInsertionPointCursorController.isShowing()) {
mInsertionPointCursorController.updatePosition();