Index: content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java |
diff --git a/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java b/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java |
index f6ab5b0c31bd5cd9a3312fbe540f979dff6b3eb6..468c14c12aa26e5907c3d467f97b4bf1b9a84017 100644 |
--- a/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java |
+++ b/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java |
@@ -29,7 +29,8 @@ import org.chromium.ui.base.ime.TextInputType; |
* It then adapts android's IME to chrome's RenderWidgetHostView using the |
* native ImeAdapterAndroid via the class ImeAdapter. |
*/ |
-public class AdapterInputConnection extends BaseInputConnection { |
+public class AdapterInputConnection |
+ extends BaseInputConnection implements ChromiumBaseInputConnection { |
private static final String TAG = "cr.Ime"; |
/** |
* Selection value should be -1 if not known. See EditorInfo.java for details. |
@@ -155,24 +156,7 @@ public class AdapterInputConnection extends BaseInputConnection { |
return builder.toString(); |
} |
- /** |
- * Updates the AdapterInputConnection's internal representation of the text being edited and |
- * its selection and composition properties. The resulting Editable is accessible through the |
- * getEditable() method. If the text has not changed, this also calls updateSelection on the |
- * InputMethodManager. |
- * |
- * @param text The String contents of the field being edited. |
- * @param selectionStart The character offset of the selection start, or the caret position if |
- * there is no selection. |
- * @param selectionEnd The character offset of the selection end, or the caret position if there |
- * is no selection. |
- * @param compositionStart The character offset of the composition start, or -1 if there is no |
- * composition. |
- * @param compositionEnd The character offset of the composition end, or -1 if there is no |
- * selection. |
- * @param isNonImeChange True when the update was caused by non-IME (e.g. Javascript). |
- */ |
- @VisibleForTesting |
+ @Override |
public void updateState(String text, int selectionStart, int selectionEnd, int compositionStart, |
int compositionEnd, boolean isNonImeChange) { |
Log.d(TAG, "updateState [%s] [%s %s] [%s %s] [%b]", text, selectionStart, |
@@ -277,7 +261,7 @@ public class AdapterInputConnection extends BaseInputConnection { |
public boolean performEditorAction(int actionCode) { |
Log.d(TAG, "performEditorAction [%d]", actionCode); |
if (actionCode == EditorInfo.IME_ACTION_NEXT) { |
- restartInput(); |
+ getInputMethodManagerWrapper().restartInput(mInternalView); |
// Send TAB key event |
long timeStampMs = SystemClock.uptimeMillis(); |
mImeAdapter.sendSyntheticKeyEvent( |
@@ -417,6 +401,14 @@ public class AdapterInputConnection extends BaseInputConnection { |
} |
/** |
+ * @see ChromiumBaseInputConnection#dispatchKeyEvent(KeyEvent) |
+ */ |
+ @Override |
+ public boolean dispatchKeyEvent(KeyEvent event) { |
+ return sendKeyEvent(event); |
+ } |
+ |
+ /** |
* @see BaseInputConnection#sendKeyEvent(android.view.KeyEvent) |
*/ |
@Override |
@@ -527,7 +519,8 @@ public class AdapterInputConnection extends BaseInputConnection { |
* Informs the InputMethodManager and InputMethodSession (i.e. the IME) that the text |
* state is no longer what the IME has and that it needs to be updated. |
*/ |
- void restartInput() { |
+ @Override |
+ public void restartInput() { |
Log.d(TAG, "restartInput"); |
getInputMethodManagerWrapper().restartInput(mInternalView); |
mNumNestedBatchEdits = 0; |