| Index: content/public/android/java/src/org/chromium/content/browser/input/ReplicaInputConnection.java
|
| diff --git a/content/public/android/java/src/org/chromium/content/browser/input/ReplicaInputConnection.java b/content/public/android/java/src/org/chromium/content/browser/input/ReplicaInputConnection.java
|
| index d62ccc62e0ebcfb0021f44b1f6ef7ad8ad16c9ce..d5eba41c4de58883bfbdd25df638635f0441f5a1 100644
|
| --- a/content/public/android/java/src/org/chromium/content/browser/input/ReplicaInputConnection.java
|
| +++ b/content/public/android/java/src/org/chromium/content/browser/input/ReplicaInputConnection.java
|
| @@ -173,10 +173,19 @@ public class ReplicaInputConnection
|
| @Override
|
| public boolean setComposingText(CharSequence text, int newCursorPosition) {
|
| if (DEBUG_LOGS) Log.w(TAG, "setComposingText [%s] [%d]", text, newCursorPosition);
|
| + return updateComposingText(text, newCursorPosition, false);
|
| + }
|
| +
|
| + /**
|
| + * Sends composing update to the InputMethodManager.
|
| + */
|
| + private boolean updateComposingText(
|
| + final CharSequence text, final int newCursorPosition, final boolean isPendingAccent) {
|
| + final int accentToSend = isPendingAccent ? mPendingAccent : 0;
|
| mPendingAccent = 0;
|
| super.setComposingText(text, newCursorPosition);
|
| updateSelectionIfRequired();
|
| - return mImeAdapter.sendCompositionToNative(text, newCursorPosition, false);
|
| + return mImeAdapter.sendCompositionToNative(text, newCursorPosition, false, accentToSend);
|
| }
|
|
|
| /**
|
| @@ -188,7 +197,7 @@ public class ReplicaInputConnection
|
| mPendingAccent = 0;
|
| super.commitText(text, newCursorPosition);
|
| updateSelectionIfRequired();
|
| - return mImeAdapter.sendCompositionToNative(text, newCursorPosition, text.length() > 0);
|
| + return mImeAdapter.sendCompositionToNative(text, newCursorPosition, text.length() > 0, 0);
|
| }
|
|
|
| /**
|
| @@ -353,7 +362,7 @@ public class ReplicaInputConnection
|
| int pendingAccent = unicodeChar & KeyCharacterMap.COMBINING_ACCENT_MASK;
|
| StringBuilder builder = new StringBuilder();
|
| builder.appendCodePoint(pendingAccent);
|
| - setComposingText(builder.toString(), 1);
|
| + updateComposingText(builder.toString(), 1, true);
|
| mPendingAccent = pendingAccent;
|
| return true;
|
| } else if (mPendingAccent != 0 && unicodeChar != 0) {
|
|
|