From a51063c059d1e445c4a05829c8c93ac7dd64c1b1 Mon Sep 17 00:00:00 2001 From: Leon Scroggins Date: Fri, 21 Jan 2011 17:14:36 -0500 Subject: [PATCH] Restart input when the webpage changes the text. Bug:3375518 Change-Id: I0a18d0ca764ce428d86bd5f6d13f8764668acea6 --- core/java/android/webkit/WebTextView.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/core/java/android/webkit/WebTextView.java b/core/java/android/webkit/WebTextView.java index 59a239ab9563c..6e1a6fcba4bbc 100644 --- a/core/java/android/webkit/WebTextView.java +++ b/core/java/android/webkit/WebTextView.java @@ -1087,7 +1087,7 @@ import junit.framework.Assert; */ /* package */ void setTextAndKeepSelection(String text) { mPreChange = text.toString(); - Editable edit = (Editable) getText(); + Editable edit = getText(); int selStart = Selection.getSelectionStart(edit); int selEnd = Selection.getSelectionEnd(edit); mInSetTextAndKeepSelection = true; @@ -1097,6 +1097,12 @@ import junit.framework.Assert; if (selEnd > newLength) selEnd = newLength; Selection.setSelection(edit, selStart, selEnd); mInSetTextAndKeepSelection = false; + InputMethodManager imm = InputMethodManager.peekInstance(); + if (imm != null && imm.isActive(this)) { + // Since the text has changed, do not allow the IME to replace the + // existing text as though it were a completion. + imm.restartInput(this); + } updateCachedTextfield(); }