From f9a6c91f75a4f08543b045435fd795f475e7e879 Mon Sep 17 00:00:00 2001 From: John Reck Date: Wed, 16 Nov 2011 16:58:56 -0800 Subject: [PATCH] Fix add single character check Bug: 5618801 Change-Id: I42a19855b188c9175b8f7a293faa96027685052c --- core/java/android/webkit/WebTextView.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/java/android/webkit/WebTextView.java b/core/java/android/webkit/WebTextView.java index 8aafc3d078fe8..8c7a49c494478 100644 --- a/core/java/android/webkit/WebTextView.java +++ b/core/java/android/webkit/WebTextView.java @@ -567,7 +567,6 @@ import java.util.ArrayList; mPreChange.substring(0, mMaxLength).equals(postChange))) { return; } - mPreChange = postChange; if (0 == count) { if (before > 0) { // For this and all changes to the text, update our cache @@ -605,9 +604,9 @@ import java.util.ArrayList; // Prefer sending javascript events, so when adding one character, // don't replace the unchanged text. if (count > 1 && before == count - 1) { - String replaceButOne = s.subSequence(start, + String replaceButOne = mPreChange.subSequence(start, start + before).toString(); - String replacedString = getText().subSequence(start, + String replacedString = s.subSequence(start, start + before).toString(); if (replaceButOne.equals(replacedString)) { // we're just adding one character @@ -616,6 +615,7 @@ import java.util.ArrayList; count = 1; } } + mPreChange = postChange; // Find the last character being replaced. If it can be represented by // events, we will pass them to native so we can see javascript events. // Otherwise, replace the text being changed in the textfield.