Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(954)

Unified Diff: content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestInputMethodManagerWrapper.java

Issue 1278593004: Introduce ThreadedInputConnection behind a switch (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestInputMethodManagerWrapper.java
diff --git a/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestInputMethodManagerWrapper.java b/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestInputMethodManagerWrapper.java
index 48f84f9f7c67a52ebbfa91974be450c92544242e..f40a583f5769f09f5fe5bae0a6c358c55196bf5b 100644
--- a/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestInputMethodManagerWrapper.java
+++ b/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestInputMethodManagerWrapper.java
@@ -8,8 +8,8 @@ import android.os.IBinder;
import android.os.ResultReceiver;
import android.view.View;
import android.view.inputmethod.EditorInfo;
-import android.view.inputmethod.InputConnection;
+import org.chromium.base.ThreadUtils;
import org.chromium.content.browser.ContentViewCore;
import org.chromium.content.browser.input.InputMethodManagerWrapper;
@@ -63,7 +63,7 @@ public class TestInputMethodManagerWrapper extends InputMethodManagerWrapper {
}
private final ContentViewCore mContentViewCore;
- private InputConnection mInputConnection;
+ private boolean mShownOrWillBeShown;
private int mShowSoftInputCounter;
private int mHideSoftInputCounter;
private int mUpdateSelectionCounter;
@@ -79,29 +79,39 @@ public class TestInputMethodManagerWrapper extends InputMethodManagerWrapper {
@Override
public void restartInput(View view) {
mEditorInfo = new EditorInfo();
- mInputConnection = mContentViewCore.onCreateInputConnection(mEditorInfo);
+ mShownOrWillBeShown = true;
+ ThreadUtils.runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ mContentViewCore.onCreateInputConnection(mEditorInfo);
+ }
+ });
}
@Override
public void showSoftInput(View view, int flags, ResultReceiver resultReceiver) {
mShowSoftInputCounter++;
- if (mInputConnection != null) return;
+ if (mShownOrWillBeShown) return;
mEditorInfo = new EditorInfo();
- mInputConnection = mContentViewCore.onCreateInputConnection(mEditorInfo);
+ ThreadUtils.runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ mContentViewCore.onCreateInputConnection(mEditorInfo);
+ }
+ });
}
@Override
public boolean isActive(View view) {
- if (mInputConnection == null) return false;
- return true;
+ return mShownOrWillBeShown;
}
@Override
public boolean hideSoftInputFromWindow(IBinder windowToken, int flags,
ResultReceiver resultReceiver) {
mHideSoftInputCounter++;
- boolean retVal = mInputConnection == null;
- mInputConnection = null;
+ boolean retVal = !mShownOrWillBeShown;
+ mShownOrWillBeShown = false;
return retVal;
}

Powered by Google App Engine
This is Rietveld 408576698