| Index: chrome/android/javatests/src/org/chromium/chrome/browser/fullscreen/FullscreenManagerTest.java
|
| diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/fullscreen/FullscreenManagerTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/fullscreen/FullscreenManagerTest.java
|
| index de712f35744a0cf043a0036543ee1a7f0da79e9f..369cfbb0eb622518c52da82356eef42c8b1f6b58 100644
|
| --- a/chrome/android/javatests/src/org/chromium/chrome/browser/fullscreen/FullscreenManagerTest.java
|
| +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/fullscreen/FullscreenManagerTest.java
|
| @@ -42,6 +42,14 @@ import java.util.concurrent.atomic.AtomicInteger;
|
| * Test suite for verifying the behavior of various fullscreen actions.
|
| */
|
| public class FullscreenManagerTest extends ChromeTabbedActivityTestBase {
|
| + private static final String LONG_HTML_WITH_AUTO_FOCUS_INPUT_TEST_PAGE =
|
| + UrlUtils.encodeHtmlDataUri("<html>"
|
| + + "<body style='height:10000px;'>"
|
| + + "<p>The text input is focused automatically on load."
|
| + + " The top controls should not hide when page is scrolled.</p><br/>"
|
| + + "<input id=\"input_text\" type=\"text\" autofocus/>"
|
| + + "</body>"
|
| + + "</html>");
|
|
|
| private static final String LONG_HTML_TEST_PAGE = UrlUtils.encodeHtmlDataUri(
|
| "<html><body style='height:10000px;'></body></html>");
|
| @@ -320,6 +328,32 @@ public class FullscreenManagerTest extends ChromeTabbedActivityTestBase {
|
| scrollTopControls(false);
|
| }
|
|
|
| + @LargeTest
|
| + @Feature({"Fullscreen"})
|
| + public void testTopControlsShownWhenInputIsFocused()
|
| + throws InterruptedException, ExecutionException {
|
| + startMainActivityWithURL(LONG_HTML_WITH_AUTO_FOCUS_INPUT_TEST_PAGE);
|
| + Tab tab = getActivity().getActivityTab();
|
| + waitForPageToBeScrollable(tab);
|
| + assertEquals(0f, waitForTopControlsPosition(0f));
|
| + ChromeFullscreenManager fullscreenManager = getActivity().getFullscreenManager();
|
| + int topControlsHeight = fullscreenManager.getTopControlsHeight();
|
| + float dragX = 50f;
|
| + float dragStartY = topControlsHeight * 3;
|
| + float dragEndY = dragStartY - topControlsHeight * 2;
|
| + long downTime = SystemClock.uptimeMillis();
|
| +
|
| + dragStart(dragX, dragStartY, downTime);
|
| + dragTo(dragX, dragX, dragStartY, dragEndY, 100, downTime);
|
| + dragEnd(dragX, dragEndY, downTime);
|
| + assertEquals(0f, waitForTopControlsPosition(0f));
|
| +
|
| + singleClickView(tab.getView());
|
| +
|
| + scrollTopControls(false);
|
| + scrollTopControls(true);
|
| + }
|
| +
|
| private void scrollTopControls(boolean show) throws InterruptedException, ExecutionException {
|
| ChromeFullscreenManager fullscreenManager = getActivity().getFullscreenManager();
|
| int topControlsHeight = fullscreenManager.getTopControlsHeight();
|
|
|