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 80faa598a74dbc6fd42a60e772edc2964916ba1f..dd0d795c1eebf5a3d8e6f135a3a2c92976aa3267 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 |
@@ -29,6 +29,7 @@ import org.chromium.base.test.util.Feature; |
import org.chromium.base.test.util.RetryOnFailure; |
import org.chromium.base.test.util.parameter.Parameter; |
import org.chromium.base.test.util.parameter.ParameterizedTest; |
+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; |
@@ -118,6 +119,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); |