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

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/widget/findinpage/FindTest.java

Issue 1947603002: Avoid clearing of Find In Page during BACK key press (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Refined tests and fixed review comments. Created 4 years, 6 months 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
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/widget/findinpage/FindToolbar.java ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/javatests/src/org/chromium/chrome/browser/widget/findinpage/FindTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/widget/findinpage/FindTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/widget/findinpage/FindTest.java
index f071c99725c2e933a86e0d1f76ca5b476e4ce9e7..6c435550e5a58f0fe35fef2d3084663d56a081f5 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/widget/findinpage/FindTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/widget/findinpage/FindTest.java
@@ -338,6 +338,57 @@ public class FindTest extends ChromeTabbedActivityTestBase {
assertEquals(0, spans.length);
}
+ /**
+ * Verify Find in page toolbar is not dismissed when device back key is pressed with the
+ * presence of IME. First back key should dismiss IME and second back key should dismiss
+ * Find in page toolbar.
+ */
+ @MediumTest
+ @Feature({"FindInPage"})
+ public void testBackKeyDoesNotDismissFindWhenImeIsPresent() throws InterruptedException {
+ loadUrl(mTestServer.getURL(FILEPATH));
+ findInPageFromMenu();
+ final TextView findQueryText = getFindQueryText();
+ KeyUtils.singleKeyEventView(getInstrumentation(), findQueryText, KeyEvent.KEYCODE_A);
+ waitForIME(true);
+ // IME is present at this moment, so IME will consume BACK key.
+ sendKeys(KeyEvent.KEYCODE_BACK);
+ waitForIME(false);
+ waitForFindInPageVisibility(true);
+ sendKeys(KeyEvent.KEYCODE_BACK);
+ waitForFindInPageVisibility(false);
+ }
+
+ /**
+ * Verify Find in page toolbar is dismissed when device back key is pressed when IME
+ * is not present. First back key press itself will dismiss Find in page toolbar.
+ */
+ @MediumTest
+ @Feature({"FindInPage"})
+ public void testBackKeyDismissesFind() throws InterruptedException {
+ loadUrl(mTestServer.getURL(FILEPATH));
+ findInPageFromMenu();
+ final TextView findQueryText = getFindQueryText();
+ KeyUtils.singleKeyEventView(getInstrumentation(), findQueryText, KeyEvent.KEYCODE_A);
+ waitForIME(true);
+ // Hide IME by clicking next button from find tool bar.
+ singleClickView(getActivity().findViewById(R.id.find_next_button));
+ waitForIME(false);
+ sendKeys(KeyEvent.KEYCODE_BACK);
+ waitForFindInPageVisibility(false);
+ }
+
+ private void waitForIME(final boolean imePresent) throws InterruptedException {
+ // Wait for IME to appear.
+ CriteriaHelper.pollUiThread(new Criteria("IME is not getting shown!") {
+ @Override
+ public boolean isSatisfied() {
+ return org.chromium.ui.UiUtils.isKeyboardShowing(getActivity(), getFindQueryText())
+ == imePresent;
+ }
+ });
+ }
+
@Override
public void startMainActivity() throws InterruptedException {
startMainActivityOnBlankPage();
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/widget/findinpage/FindToolbar.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698