Index: content/public/android/javatests/src/org/chromium/content/browser/ContentViewReadbackTest.java |
diff --git a/content/public/android/javatests/src/org/chromium/content/browser/ContentViewReadbackTest.java b/content/public/android/javatests/src/org/chromium/content/browser/ContentViewReadbackTest.java |
deleted file mode 100644 |
index 79049bff9af696f1ae5d8ad18c8a4d03ddd13ac7..0000000000000000000000000000000000000000 |
--- a/content/public/android/javatests/src/org/chromium/content/browser/ContentViewReadbackTest.java |
+++ /dev/null |
@@ -1,124 +0,0 @@ |
-// Copyright 2014 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 static org.chromium.base.test.util.ScalableTimeout.scaleTimeout; |
- |
-import android.graphics.Bitmap; |
-import android.graphics.Color; |
-import android.graphics.Rect; |
-import android.os.SystemClock; |
-import android.test.suitebuilder.annotation.SmallTest; |
- |
-import junit.framework.AssertionFailedError; |
- |
-import org.chromium.base.ThreadUtils; |
-import org.chromium.base.test.util.Feature; |
-import org.chromium.base.test.util.UrlUtils; |
-import org.chromium.content.browser.ContentReadbackHandler.GetBitmapCallback; |
-import org.chromium.content.browser.test.util.Criteria; |
-import org.chromium.content.browser.test.util.CriteriaHelper; |
-import org.chromium.content_shell_apk.ContentShellTestBase; |
- |
-import java.util.concurrent.atomic.AtomicBoolean; |
-import java.util.concurrent.atomic.AtomicInteger; |
- |
-/** |
- * Tests that we can readback the contents of a ContentView. |
- */ |
-public class ContentViewReadbackTest extends ContentShellTestBase { |
- |
- private static final int COLOR_THRESHOLD = 8; |
- private static final long WAIT_FOR_READBACK_TIMEOUT = scaleTimeout(10000); |
- |
- @Override |
- protected void setUp() throws Exception { |
- super.setUp(); |
- launchContentShellWithUrl(UrlUtils.encodeHtmlDataUri( |
- "<html style=\"background: #00f;\"><head><style>body { height: 5000px; }</style>" + |
- "</head></html>")); |
- assertTrue("Page failed to load", waitForActiveShellToBeDoneLoading()); |
- } |
- |
- private static void assertEqualColor(int actual, int expected, int threshold) { |
- int deltaR = Math.abs(Color.red(actual) - Color.red(expected)); |
- int deltaG = Math.abs(Color.green(actual) - Color.green(expected)); |
- int deltaB = Math.abs(Color.blue(actual) - Color.blue(expected)); |
- if (deltaR > threshold || deltaG > threshold || deltaB > threshold) { |
- throw new AssertionFailedError( |
- "Color does not match; expected " + expected + ", got " + actual); |
- } |
- } |
- |
- private void assertWaitForYScroll(final int previousYScroll) throws InterruptedException { |
- assertTrue(CriteriaHelper.pollForCriteria(new Criteria() { |
- @Override |
- public boolean isSatisfied() { |
- return getContentViewCore().getNativeScrollYForTest() > previousYScroll; |
- } |
- })); |
- } |
- |
- private void assertWaitForReadback(final AtomicBoolean readbackDone) |
- throws InterruptedException { |
- assertTrue(CriteriaHelper.pollForCriteria(new Criteria() { |
- @Override |
- public boolean isSatisfied() { |
- return readbackDone.get(); |
- } |
- }, WAIT_FOR_READBACK_TIMEOUT, CriteriaHelper.DEFAULT_POLLING_INTERVAL)); |
- } |
- |
- /** |
- * Test to make sure the screenshots captured of the ContentView are not blank. |
- * |
- * @throws InterruptedException |
- */ |
- @SmallTest |
- @Feature({"Main"}) |
- public void testScreenshotIsNotBlank() throws Throwable { |
- final AtomicBoolean readbackDone = new AtomicBoolean(false); |
- final AtomicInteger color = new AtomicInteger(); |
- |
- // We wait on the fling to make sure that the compositor side has a layer available by the |
- // time we reach readback. |
- int previousYScroll = getContentViewCore().getNativeScrollYForTest(); |
- ThreadUtils.runOnUiThreadBlocking(new Runnable() { |
- @Override |
- public void run() { |
- getContentViewCore().flingForTest(SystemClock.uptimeMillis(), 0, 0, 0, -100); |
- } |
- }); |
- assertWaitForYScroll(previousYScroll); |
- |
- runTestOnUiThread(new Runnable() { |
- @Override |
- public void run() { |
- ContentReadbackHandler contentReadbackHandler = new ContentReadbackHandler() { |
- @Override |
- protected boolean readyForReadback() { |
- return true; |
- } |
- }; |
- |
- GetBitmapCallback callback = new GetBitmapCallback() { |
- @Override |
- public void onFinishGetBitmap(boolean success, Bitmap bitmap) { |
- // Verify a pixel in the center of the screenshot. |
- color.set(bitmap.getPixel(bitmap.getWidth() / 2, bitmap.getHeight() / 2)); |
- readbackDone.set(success); |
- } |
- }; |
- |
- contentReadbackHandler.initNativeContentReadbackHandler(); |
- contentReadbackHandler.getContentBitmapAsync(1.0f, new Rect(), getContentViewCore(), |
- callback); |
- } |
- }); |
- assertWaitForReadback(readbackDone); |
- |
- assertEqualColor(color.get(), Color.BLUE, COLOR_THRESHOLD); |
- } |
-} |