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 8b309724c797639cfa6ff1c80a0ffc9a882b32af..a7daa1fb50229fe198effd53ba0eecfedc7ec82a 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 |
@@ -27,6 +27,7 @@ import org.chromium.base.test.util.CommandLineFlags; |
import org.chromium.base.test.util.DisabledTest; |
import org.chromium.base.test.util.Feature; |
import org.chromium.base.test.util.RetryOnFailure; |
+import org.chromium.base.test.util.UrlUtils; |
import org.chromium.base.test.util.parameter.Parameter; |
import org.chromium.base.test.util.parameter.ParameterizedTest; |
import org.chromium.content.browser.ContentViewCore; |
@@ -117,6 +118,36 @@ public class ImeTest extends ContentShellTestBase { |
resetAllStates(); |
} |
+ private void fullyLoadNewUrl(final String url) throws Throwable { |
+ ThreadUtils.runOnUiThreadBlocking(new Runnable() { |
+ @Override |
+ public void run() { |
+ getActivity().getActiveShell().loadUrl(url); |
+ } |
+ }); |
+ waitForActiveShellToBeDoneLoading(); |
+ } |
+ |
+ @MediumTest |
+ @Feature({"TextInput", "Main"}) |
+ @RetryOnFailure |
+ public void testKeyboardDismissedWhenNavigating() throws Throwable { |
+ assertWaitForKeyboardStatus(true); |
+ |
+ // Should hide keyboard when loading a new Url. |
+ fullyLoadNewUrl(UrlUtils.getIsolatedTestFileUrl(INPUT_FORM_HTML)); |
Changwan Ryu
2016/10/19 05:10:21
Isn't reloadPage() enough? If not, could you fix r
yabinh
2016/10/24 01:40:57
Done.
|
+ assertWaitForKeyboardStatus(false); |
+ |
+ DOMUtils.clickNode(this, mContentViewCore, "input_text"); |
+ assertWaitForKeyboardStatus(true); |
+ |
+ // Should hide keyboard when navigating. |
+ final String code = "document.getElementById(\"link\").click()"; |
+ JavaScriptUtils.executeJavaScriptAndWaitForResult( |
+ getContentViewCore().getWebContents(), code); |
+ assertWaitForKeyboardStatus(false); |
+ } |
+ |
@MediumTest |
@Feature({"TextInput", "Main"}) |
public void testKeyboardDismissedAfterClickingGo() throws Throwable { |