Index: content/public/android/java/src/org/chromium/content/browser/ImeAdapter.java |
diff --git a/content/public/android/java/src/org/chromium/content/browser/ImeAdapter.java b/content/public/android/java/src/org/chromium/content/browser/ImeAdapter.java |
index 1f73502d70a17ff4705137121f602660c23553eb..96f70be81ed207bbc996db25ddafe4f58ac82fe5 100644 |
--- a/content/public/android/java/src/org/chromium/content/browser/ImeAdapter.java |
+++ b/content/public/android/java/src/org/chromium/content/browser/ImeAdapter.java |
@@ -549,7 +549,12 @@ class ImeAdapter { |
} |
Selection.setSelection(editable, selectionStart, selectionEnd); |
- super.setComposingRegion(compositionStart, compositionEnd); |
+ |
+ if (compositionStart == compositionEnd) { |
+ removeComposingSpans(getEditable()); |
nilesh
2013/04/10 16:19:05
Is there a reason to not use the local var 'editab
Fredrik Öhrn
2013/04/10 16:23:08
Copy and paste laziness on my part, will fix.
|
+ } else { |
+ super.setComposingRegion(compositionStart, compositionEnd); |
+ } |
if (mIgnoreTextInputStateUpdates) return; |
updateSelection(selectionStart, selectionEnd, compositionStart, compositionEnd); |
@@ -742,7 +747,11 @@ class ImeAdapter { |
if (DEBUG) Log.w(TAG, "setComposingRegion [" + start + " " + end + "]"); |
int a = Math.min(start, end); |
int b = Math.max(start, end); |
- super.setComposingRegion(a, b); |
+ if (a == b) { |
+ removeComposingSpans(getEditable()); |
+ } else { |
+ super.setComposingRegion(a, b); |
+ } |
return mImeAdapter.setComposingRegion(a, b); |
} |