diff options
Diffstat (limited to 'content')
4 files changed, 14 insertions, 15 deletions
diff --git a/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java b/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java index dbbbc4e..89faa7e 100644 --- a/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java +++ b/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java @@ -539,6 +539,7 @@ import java.util.Map; public void onImeEvent(boolean isFinish) { getContentViewClient().onImeEvent(); if (!isFinish) { + hideHandles(); undoScrollFocusedEditableNodeIntoViewIfNeeded(false); } } @@ -582,12 +583,6 @@ import java.util.Map; } }; } - - @Override - public void hideSelectionAndInsertionHandles() { - getInsertionHandleController().hideAndDisallowAutomaticShowing(); - getSelectionHandleController().hideAndDisallowAutomaticShowing(); - } } ); } 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 876b52b4..ab8a1fc 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 @@ -311,7 +311,6 @@ public class AdapterInputConnection extends BaseInputConnection { @Override public boolean sendKeyEvent(KeyEvent event) { if (DEBUG) Log.w(TAG, "sendKeyEvent [" + event.getAction() + "]"); - mImeAdapter.hideSelectionAndInsertionHandleControllers(); // If this is a key-up, and backspace/del or if the key has a character representation, // need to update the underlying Editable (i.e. the local representation of the text diff --git a/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java b/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java index 33d819c..5ad2acb 100644 --- a/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java +++ b/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java @@ -48,7 +48,6 @@ public class ImeAdapter { void onDismissInput(); View getAttachedView(); ResultReceiver getNewShowKeyboardReceiver(); - void hideSelectionAndInsertionHandles(); } private class DelayedDismissInput implements Runnable { @@ -198,10 +197,6 @@ public class ImeAdapter { return modifiers; } - void hideSelectionAndInsertionHandleControllers() { - mViewEmbedder.hideSelectionAndInsertionHandles(); - } - public boolean isActive() { return mInputConnection != null && mInputConnection.isActive(); } @@ -342,9 +337,6 @@ public class ImeAdapter { // Committing an empty string finishes the current composition. boolean isFinish = text.isEmpty(); - if (!isFinish) { - mViewEmbedder.hideSelectionAndInsertionHandles(); - } mViewEmbedder.onImeEvent(isFinish); int keyCode = shouldSendKeyEventWithKeyCode(text); long timeStampMs = System.currentTimeMillis(); diff --git a/content/public/android/javatests/src/org/chromium/content/browser/input/InsertionHandleTest.java b/content/public/android/javatests/src/org/chromium/content/browser/input/InsertionHandleTest.java index ec35132..cdb2056 100644 --- a/content/public/android/javatests/src/org/chromium/content/browser/input/InsertionHandleTest.java +++ b/content/public/android/javatests/src/org/chromium/content/browser/input/InsertionHandleTest.java @@ -11,6 +11,7 @@ import android.graphics.Rect; import android.test.suitebuilder.annotation.MediumTest; import android.text.Editable; import android.text.Selection; +import android.view.KeyEvent; import org.chromium.base.test.util.DisabledTest; import org.chromium.base.test.util.Feature; @@ -96,6 +97,18 @@ public class InsertionHandleTest extends ContentShellTestBase { assertTrue(waitForHandleShowingEquals(false)); } + + @MediumTest + @Feature({"TextSelection", "TextInput", "Main"}) + public void testKeyEventHidesHandle() throws Throwable { + launchWithUrl(TEXTAREA_DATA_URL); + clickNodeToShowInsertionHandle(TEXTAREA_ID); + + getInstrumentation().sendKeySync(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_X)); + getInstrumentation().sendKeySync(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_X)); + assertTrue(waitForHandleShowingEquals(false)); + } + /** * @MediumTest * @Feature({"TextSelection", "TextInput", "Main"}) |