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

Unified Diff: content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnection.java

Issue 2476883003: Revert of Allow selection change update before beginBatchEdit (Closed)
Patch Set: fixed build Created 4 years, 1 month 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/android/java/src/org/chromium/content/browser/input/ThreadedInputConnection.java
diff --git a/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnection.java b/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnection.java
index f7fb2f01ea37b58cdbca61ce507367a1c9900246..5a882b061aa8819c0153f8efffea180034e70341 100644
--- a/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnection.java
+++ b/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnection.java
@@ -43,7 +43,7 @@ public class ThreadedInputConnection extends BaseInputConnection
private static final boolean DEBUG_LOGS = false;
private static final TextInputState UNBLOCKER = new TextInputState(
- "", new Range(0, 0), new Range(-1, -1), false, false /* notFromIme */, false) {
+ "", new Range(0, 0), new Range(-1, -1), false, false /* notFromIme */) {
@Override
public boolean shouldUnblock() {
@@ -76,22 +76,6 @@ public class ThreadedInputConnection extends BaseInputConnection
}
};
- private final Runnable mBeginBatchEdit = new Runnable() {
- @Override
- public void run() {
- boolean result = mImeAdapter.beginBatchEdit();
- if (!result) unblockOnUiThread();
- }
- };
-
- private final Runnable mEndBatchEdit = new Runnable() {
- @Override
- public void run() {
- boolean result = mImeAdapter.endBatchEdit();
- if (!result) unblockOnUiThread();
- }
- };
-
private final Runnable mNotifyUserActionRunnable = new Runnable() {
@Override
public void run() {
@@ -115,7 +99,6 @@ public class ThreadedInputConnection extends BaseInputConnection
private final BlockingQueue<TextInputState> mQueue = new LinkedBlockingQueue<>();
private int mPendingAccent;
private TextInputState mCachedTextInputState;
- private boolean mLastInBatchEditMode;
ThreadedInputConnection(View view, ImeAdapter imeAdapter, Handler handler) {
super(view, true);
@@ -123,34 +106,28 @@ public class ThreadedInputConnection extends BaseInputConnection
ImeUtils.checkOnUiThread();
mImeAdapter = imeAdapter;
mHandler = handler;
- mImeAdapter.endBatchEdit();
}
void resetOnUiThread() {
ImeUtils.checkOnUiThread();
mNumNestedBatchEdits = 0;
mPendingAccent = 0;
- mImeAdapter.endBatchEdit();
}
@Override
- public void updateStateOnUiThread(String text, int selectionStart,
- int selectionEnd, int compositionStart, int compositionEnd,
- boolean singleLine, boolean isNonImeChange, boolean inBatchEditMode) {
+ public void updateStateOnUiThread(final String text, final int selectionStart,
+ final int selectionEnd, final int compositionStart, final int compositionEnd,
+ boolean singleLine, final boolean isNonImeChange) {
ImeUtils.checkOnUiThread();
mCachedTextInputState =
new TextInputState(text, new Range(selectionStart, selectionEnd),
- new Range(compositionStart, compositionEnd), singleLine, !isNonImeChange,
- inBatchEditMode);
+ new Range(compositionStart, compositionEnd), singleLine, !isNonImeChange);
if (DEBUG_LOGS) Log.w(TAG, "updateState: %s", mCachedTextInputState);
addToQueueOnUiThread(mCachedTextInputState);
- // If state update is caused by explicitly requesting the state update,
- // or batch edit just finished, then we may need to update state to IMM.
- if (isNonImeChange || (mLastInBatchEditMode && !inBatchEditMode)) {
+ if (isNonImeChange) {
mHandler.post(mProcessPendingInputStatesRunnable);
- mLastInBatchEditMode = inBatchEditMode;
}
}
@@ -223,7 +200,7 @@ public class ThreadedInputConnection extends BaseInputConnection
private void updateSelection(TextInputState textInputState) {
if (textInputState == null) return;
assertOnImeThread();
- if (textInputState.inBatchEditMode()) return;
+ if (mNumNestedBatchEdits != 0) return;
Range selection = textInputState.selection();
Range composition = textInputState.composition();
mImeAdapter.updateSelection(
@@ -411,10 +388,8 @@ public class ThreadedInputConnection extends BaseInputConnection
public boolean beginBatchEdit() {
assertOnImeThread();
if (DEBUG_LOGS) Log.w(TAG, "beginBatchEdit [%b]", (mNumNestedBatchEdits == 0));
+ assertOnImeThread();
mNumNestedBatchEdits++;
- if (mNumNestedBatchEdits == 1) {
- ThreadUtils.postOnUiThread(mBeginBatchEdit);
- }
return true;
}
@@ -428,7 +403,7 @@ public class ThreadedInputConnection extends BaseInputConnection
--mNumNestedBatchEdits;
if (DEBUG_LOGS) Log.w(TAG, "endBatchEdit [%b]", (mNumNestedBatchEdits == 0));
if (mNumNestedBatchEdits == 0) {
- ThreadUtils.postOnUiThread(mEndBatchEdit);
+ updateSelection(requestAndWaitForTextInputState());
}
return mNumNestedBatchEdits != 0;
}

Powered by Google App Engine
This is Rietveld 408576698