| Index: content/public/android/javatests/src/org/chromium/content/browser/ContentViewScrollingTest.java
|
| diff --git a/content/public/android/javatests/src/org/chromium/content/browser/ContentViewScrollingTest.java b/content/public/android/javatests/src/org/chromium/content/browser/ContentViewScrollingTest.java
|
| deleted file mode 100644
|
| index 92d3a3db7ce9b1683d39e1bf32ec46355646b6b1..0000000000000000000000000000000000000000
|
| --- a/content/public/android/javatests/src/org/chromium/content/browser/ContentViewScrollingTest.java
|
| +++ /dev/null
|
| @@ -1,225 +0,0 @@
|
| -// Copyright 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -package org.chromium.content.browser;
|
| -
|
| -import android.content.res.Configuration;
|
| -import android.graphics.Canvas;
|
| -import android.os.SystemClock;
|
| -import android.test.suitebuilder.annotation.SmallTest;
|
| -import android.view.KeyEvent;
|
| -import android.view.MotionEvent;
|
| -import android.view.View;
|
| -
|
| -import org.chromium.base.test.util.Feature;
|
| -import org.chromium.base.test.util.UrlUtils;
|
| -import org.chromium.content.browser.ContentViewCore.InternalAccessDelegate;
|
| -import org.chromium.content.browser.test.util.Criteria;
|
| -import org.chromium.content.browser.test.util.CriteriaHelper;
|
| -import org.chromium.content_shell_apk.ContentShellTestBase;
|
| -
|
| -/*
|
| - * Tests that we can scroll and fling a ContentView running inside ContentShell.
|
| - */
|
| -public class ContentViewScrollingTest extends ContentShellTestBase {
|
| -
|
| - private static final String LARGE_PAGE = UrlUtils.encodeHtmlDataUri(
|
| - "<html><head>" +
|
| - "<meta name=\"viewport\" content=\"width=device-width, " +
|
| - "initial-scale=2.0, maximum-scale=2.0\" />" +
|
| - "<style>body { width: 5000px; height: 5000px; }</style></head>" +
|
| - "<body>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</body>" +
|
| - "</html>");
|
| -
|
| - /**
|
| - * InternalAccessDelegate to ensure AccessibilityEvent notifications (Eg:TYPE_VIEW_SCROLLED)
|
| - * are being sent properly on scrolling a page.
|
| - */
|
| - static class TestInternalAccessDelegate implements InternalAccessDelegate {
|
| -
|
| - private boolean mScrollChanged;
|
| - private final Object mLock = new Object();
|
| -
|
| -
|
| -
|
| - @Override
|
| - public boolean drawChild(Canvas canvas, View child, long drawingTime) {
|
| - return false;
|
| - }
|
| -
|
| - @Override
|
| - public boolean super_onKeyUp(int keyCode, KeyEvent event) {
|
| - return false;
|
| - }
|
| -
|
| - @Override
|
| - public boolean super_dispatchKeyEventPreIme(KeyEvent event) {
|
| - return false;
|
| - }
|
| -
|
| - @Override
|
| - public boolean super_dispatchKeyEvent(KeyEvent event) {
|
| - return false;
|
| - }
|
| -
|
| - @Override
|
| - public boolean super_onGenericMotionEvent(MotionEvent event) {
|
| - return false;
|
| - }
|
| -
|
| - @Override
|
| - public void super_onConfigurationChanged(Configuration newConfig) {
|
| - }
|
| -
|
| - @Override
|
| - public void onScrollChanged(int lPix, int tPix, int oldlPix, int oldtPix) {
|
| - synchronized (mLock) {
|
| - mScrollChanged = true;
|
| - }
|
| - }
|
| -
|
| - @Override
|
| - public boolean awakenScrollBars() {
|
| - return false;
|
| - }
|
| -
|
| - @Override
|
| - public boolean super_awakenScrollBars(int startDelay, boolean invalidate) {
|
| - return false;
|
| - }
|
| -
|
| - /**
|
| - * @return Whether OnScrollChanged() has been called.
|
| - */
|
| - public boolean isScrollChanged() {
|
| - synchronized (mLock) {
|
| - return mScrollChanged;
|
| - }
|
| - }
|
| - }
|
| -
|
| - private void assertWaitForScroll(final boolean hugLeft, final boolean hugTop)
|
| - throws InterruptedException {
|
| - assertTrue(CriteriaHelper.pollForCriteria(new Criteria() {
|
| - @Override
|
| - public boolean isSatisfied() {
|
| - // Scrolling and flinging don't result in exact coordinates.
|
| - final int MIN_THRESHOLD = 5;
|
| - final int MAX_THRESHOLD = 100;
|
| -
|
| - boolean xCorrect = hugLeft ?
|
| - getContentViewCore().getNativeScrollXForTest() < MIN_THRESHOLD :
|
| - getContentViewCore().getNativeScrollXForTest() > MAX_THRESHOLD;
|
| - boolean yCorrect = hugTop ?
|
| - getContentViewCore().getNativeScrollYForTest() < MIN_THRESHOLD :
|
| - getContentViewCore().getNativeScrollYForTest() > MAX_THRESHOLD;
|
| - return xCorrect && yCorrect;
|
| - }
|
| - }));
|
| - }
|
| -
|
| - private void fling(final int vx, final int vy) throws Throwable {
|
| - runTestOnUiThread(new Runnable() {
|
| - @Override
|
| - public void run() {
|
| - getContentView().fling(SystemClock.uptimeMillis(), 0, 0, vx, vy);
|
| - }
|
| - });
|
| - }
|
| -
|
| - private void scrollTo(final int x, final int y) throws Throwable {
|
| - runTestOnUiThread(new Runnable() {
|
| - @Override
|
| - public void run() {
|
| - getContentView().scrollTo(x, y);
|
| - }
|
| - });
|
| - }
|
| -
|
| - @Override
|
| - protected void setUp() throws Exception {
|
| - super.setUp();
|
| -
|
| - launchContentShellWithUrl(LARGE_PAGE);
|
| - assertTrue("Page failed to load", waitForActiveShellToBeDoneLoading());
|
| - assertWaitForPageScaleFactorMatch(2.0f);
|
| -
|
| - assertEquals(0, getContentViewCore().getNativeScrollXForTest());
|
| - assertEquals(0, getContentViewCore().getNativeScrollYForTest());
|
| - }
|
| -
|
| - @SmallTest
|
| - @Feature({"Main"})
|
| - public void testFling() throws Throwable {
|
| - // Vertical fling to lower-left.
|
| - fling(0, -1000);
|
| - assertWaitForScroll(true, false);
|
| -
|
| - // Horizontal fling to lower-right.
|
| - fling(-1000, 0);
|
| - assertWaitForScroll(false, false);
|
| -
|
| - // Vertical fling to upper-right.
|
| - fling(0, 1000);
|
| - assertWaitForScroll(false, true);
|
| -
|
| - // Horizontal fling to top-left.
|
| - fling(1000, 0);
|
| - assertWaitForScroll(true, true);
|
| -
|
| - // Diagonal fling to bottom-right.
|
| - fling(-1000, -1000);
|
| - assertWaitForScroll(false, false);
|
| - }
|
| -
|
| - @SmallTest
|
| - @Feature({"Main"})
|
| - public void testScroll() throws Throwable {
|
| - // Vertical scroll to lower-left.
|
| - scrollTo(0, 2500);
|
| - assertWaitForScroll(true, false);
|
| -
|
| - // Horizontal scroll to lower-right.
|
| - scrollTo(2500, 2500);
|
| - assertWaitForScroll(false, false);
|
| -
|
| - // Vertical scroll to upper-right.
|
| - scrollTo(2500, 0);
|
| - assertWaitForScroll(false, true);
|
| -
|
| - // Horizontal scroll to top-left.
|
| - scrollTo(0, 0);
|
| - assertWaitForScroll(true, true);
|
| -
|
| - // Diagonal scroll to bottom-right.
|
| - scrollTo(2500, 2500);
|
| - assertWaitForScroll(false, false);
|
| - }
|
| -
|
| - /**
|
| - * To ensure the AccessibilityEvent notifications (Eg:TYPE_VIEW_SCROLLED) are being sent
|
| - * properly on scrolling a page.
|
| - */
|
| - @SmallTest
|
| - @Feature({"Main"})
|
| - public void testOnScrollChanged() throws Throwable {
|
| - final int scrollToX = 2500;
|
| - final int scrollToY = 2500;
|
| - final TestInternalAccessDelegate containerViewInternals = new TestInternalAccessDelegate();
|
| - runTestOnUiThread(new Runnable() {
|
| - @Override
|
| - public void run() {
|
| - getContentViewCore().setContainerViewInternals(containerViewInternals);
|
| - }
|
| - });
|
| - scrollTo(scrollToX, scrollToY);
|
| - assertWaitForScroll(false, false);
|
| - assertTrue(CriteriaHelper.pollForCriteria(new Criteria() {
|
| - @Override
|
| - public boolean isSatisfied() {
|
| - return containerViewInternals.isScrollChanged();
|
| - }
|
| - }));
|
| - }
|
| -}
|
|
|