Index: content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java |
diff --git a/content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java b/content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java |
index c931600cd206190a7f6b75ae2c69beb930b47502..760699d9cd23093043267437e20de5b388cdd23e 100644 |
--- a/content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java |
+++ b/content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java |
@@ -24,6 +24,7 @@ import android.view.inputmethod.InputConnection; |
import org.chromium.base.ThreadUtils; |
import org.chromium.base.test.util.CommandLineFlags; |
import org.chromium.base.test.util.Feature; |
+import org.chromium.base.test.util.UrlUtils; |
import org.chromium.content.browser.ContentViewCore; |
import org.chromium.content.browser.test.util.Criteria; |
import org.chromium.content.browser.test.util.CriteriaHelper; |
@@ -96,6 +97,32 @@ public class ImeTest extends ContentShellTestBase { |
@MediumTest |
@Feature({"TextInput", "Main"}) |
+ public void testKeyboardDismissedWhenNavigating() throws Throwable { |
+ assertWaitForKeyboardStatus(true); |
+ |
+ // Should hide keyboard when loading a new Url. |
+ ThreadUtils.runOnUiThreadBlocking(new Runnable() { |
+ @Override |
+ public void run() { |
+ final String dataUrl = UrlUtils.encodeHtmlDataUri( |
+ "<html><body><input id=\"input_text\" type=\"text\"></body></html>"); |
+ getActivity().getActiveShell().loadUrl(dataUrl); |
+ } |
+ }); |
+ assertWaitForKeyboardStatus(false); |
+ |
+ DOMUtils.clickNode(this, mContentViewCore, "input_text"); |
+ assertWaitForKeyboardStatus(true); |
+ |
+ // Should hide keyboard when going back. |
+ final String code = "history.go(-1)"; |
+ JavaScriptUtils.executeJavaScriptAndWaitForResult( |
+ getContentViewCore().getWebContents(), code); |
+ assertWaitForKeyboardStatus(false); |
+ } |
+ |
+ @MediumTest |
+ @Feature({"TextInput", "Main"}) |
public void testKeyboardDismissedAfterClickingGo() throws Throwable { |
setComposingText("hello", 1); |
waitAndVerifyUpdateSelection(0, 5, 5, 0, 5); |