| Index: chrome/android/javatests/src/org/chromium/chrome/browser/TabUmaTest.java
|
| diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/TabUmaTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/TabUmaTest.java
|
| deleted file mode 100644
|
| index 4fc5973b3bfcb56c1a0b0a5692e3fa7e601fdcef..0000000000000000000000000000000000000000
|
| --- a/chrome/android/javatests/src/org/chromium/chrome/browser/TabUmaTest.java
|
| +++ /dev/null
|
| @@ -1,184 +0,0 @@
|
| -// Copyright 2015 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.chrome.browser;
|
| -
|
| -import android.test.suitebuilder.annotation.MediumTest;
|
| -
|
| -import org.chromium.base.ThreadUtils;
|
| -import org.chromium.base.test.util.Feature;
|
| -import org.chromium.base.test.util.MetricsUtils.HistogramDelta;
|
| -import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType;
|
| -import org.chromium.chrome.browser.tabmodel.TabModel.TabSelectionType;
|
| -import org.chromium.chrome.shell.ChromeShellActivity;
|
| -import org.chromium.chrome.shell.ChromeShellTestBase;
|
| -import org.chromium.chrome.test.util.TestHttpServerClient;
|
| -import org.chromium.content_public.browser.LoadUrlParams;
|
| -
|
| -import java.util.concurrent.Callable;
|
| -import java.util.concurrent.ExecutionException;
|
| -
|
| -/**
|
| - * Tests for Tab-related histogram collection.
|
| - */
|
| -public class TabUmaTest extends ChromeShellTestBase {
|
| - private static final String TEST_URL =
|
| - TestHttpServerClient.getUrl("chrome/test/data/android/about.html");
|
| -
|
| - private ChromeShellActivity mActivity;
|
| -
|
| - @Override
|
| - protected void setUp() throws Exception {
|
| - super.setUp();
|
| - mActivity = launchChromeShellWithUrl(TEST_URL);
|
| - assertTrue(waitForActiveShellToBeDoneLoading());
|
| -
|
| - // This is to fake a "tab show" event that should be happening
|
| - // on browser startup, but isn't currently. This code should
|
| - // eventually be taken out when this issue is fixed.
|
| - final Tab tab = ThreadUtils.runOnUiThreadBlocking(new Callable<Tab>() {
|
| - @Override
|
| - public Tab call() {
|
| - Tab bgTab = Tab.createTabForLazyLoad(mActivity, false, mActivity.getWindowAndroid(),
|
| - TabLaunchType.FROM_LONGPRESS_BACKGROUND, Tab.INVALID_TAB_ID,
|
| - new LoadUrlParams(TEST_URL), mActivity.getTabModelSelector());
|
| - bgTab.initialize(null, null, true);
|
| - return bgTab;
|
| - }
|
| - });
|
| -
|
| - ThreadUtils.runOnUiThreadBlocking(new Runnable() {
|
| - @Override
|
| - public void run() {
|
| - tab.show(TabSelectionType.FROM_NEW);
|
| - }
|
| - });
|
| - }
|
| -
|
| - /**
|
| - * Verify that Tab.StatusWhenSwitchedBackToForeground is correctly recording lazy loads.
|
| - */
|
| - @MediumTest
|
| - @Feature({"Uma"})
|
| - public void testTabStatusWhenSwitchedToLazyLoads()
|
| - throws ExecutionException, InterruptedException {
|
| - final Tab tab = ThreadUtils.runOnUiThreadBlocking(new Callable<Tab>() {
|
| - @Override
|
| - public Tab call() {
|
| - Tab bgTab = Tab.createTabForLazyLoad(mActivity, false, mActivity.getWindowAndroid(),
|
| - TabLaunchType.FROM_LONGPRESS_BACKGROUND, Tab.INVALID_TAB_ID,
|
| - new LoadUrlParams(TEST_URL), mActivity.getTabModelSelector());
|
| - bgTab.initialize(null, null, true);
|
| - return bgTab;
|
| - }
|
| - });
|
| -
|
| - String histogram = "Tab.StatusWhenSwitchedBackToForeground";
|
| - HistogramDelta lazyLoadCount =
|
| - new HistogramDelta(histogram, TabUma.TAB_STATUS_LAZY_LOAD_FOR_BG_TAB);
|
| - assertEquals(0, lazyLoadCount.getDelta()); // Sanity check.
|
| -
|
| - // Show the tab and verify that one sample was recorded in the lazy load bucket.
|
| - ThreadUtils.runOnUiThreadBlocking(new Runnable() {
|
| - @Override
|
| - public void run() {
|
| - tab.show(TabSelectionType.FROM_USER);
|
| - }
|
| - });
|
| - assertEquals(1, lazyLoadCount.getDelta());
|
| -
|
| - // Show the tab again and verify that we didn't record another sample.
|
| - ThreadUtils.runOnUiThreadBlocking(new Runnable() {
|
| - @Override
|
| - public void run() {
|
| - tab.show(TabSelectionType.FROM_USER);
|
| - }
|
| - });
|
| - assertEquals(1, lazyLoadCount.getDelta());
|
| - }
|
| -
|
| - /**
|
| - * Verify that Tab.BackgroundLoadStatus is correctly recorded.
|
| - */
|
| - @MediumTest
|
| - @Feature({"Uma"})
|
| - public void testTabBackgroundLoadStatus() throws ExecutionException {
|
| - String histogram = "Tab.BackgroundLoadStatus";
|
| - HistogramDelta shownLoadCount =
|
| - new HistogramDelta(histogram, TabUma.TAB_BACKGROUND_LOAD_SHOWN);
|
| - HistogramDelta lostLoadCount =
|
| - new HistogramDelta(histogram, TabUma.TAB_BACKGROUND_LOAD_LOST);
|
| - HistogramDelta skippedLoadCount =
|
| - new HistogramDelta(histogram, TabUma.TAB_BACKGROUND_LOAD_SKIPPED);
|
| - assertEquals(0, shownLoadCount.getDelta());
|
| - assertEquals(0, lostLoadCount.getDelta());
|
| - assertEquals(0, skippedLoadCount.getDelta());
|
| -
|
| - // Test a live tab created in background and shown.
|
| - final Tab liveBgTab = ThreadUtils.runOnUiThreadBlocking(new Callable<Tab>() {
|
| - @Override
|
| - public Tab call() {
|
| - Tab bgTab = Tab.createLiveTab(Tab.INVALID_TAB_ID, mActivity, false,
|
| - mActivity.getWindowAndroid(), TabLaunchType.FROM_LONGPRESS_BACKGROUND,
|
| - Tab.INVALID_TAB_ID, true, mActivity.getTabModelSelector());
|
| - bgTab.initialize(null, null, true);
|
| - bgTab.loadUrl(new LoadUrlParams(TEST_URL));
|
| - bgTab.show(TabSelectionType.FROM_USER);
|
| - return bgTab;
|
| - }
|
| - });
|
| - assertEquals(1, shownLoadCount.getDelta());
|
| - assertEquals(0, lostLoadCount.getDelta());
|
| - assertEquals(0, skippedLoadCount.getDelta());
|
| -
|
| - // Test a live tab killed in background before shown.
|
| - final Tab killedBgTab = ThreadUtils.runOnUiThreadBlocking(new Callable<Tab>() {
|
| - @Override
|
| - public Tab call() {
|
| - Tab bgTab = Tab.createLiveTab(Tab.INVALID_TAB_ID, mActivity, false,
|
| - mActivity.getWindowAndroid(), TabLaunchType.FROM_LONGPRESS_BACKGROUND,
|
| - Tab.INVALID_TAB_ID, true, mActivity.getTabModelSelector());
|
| - bgTab.initialize(null, null, true);
|
| - bgTab.loadUrl(new LoadUrlParams(TEST_URL));
|
| - // Simulate the renderer being killed by the OS.
|
| - bgTab.simulateRendererKilledForTesting(false);
|
| - bgTab.show(TabSelectionType.FROM_USER);
|
| - return bgTab;
|
| - }
|
| - });
|
| - assertEquals(1, shownLoadCount.getDelta());
|
| - assertEquals(1, lostLoadCount.getDelta());
|
| - assertEquals(0, skippedLoadCount.getDelta());
|
| -
|
| - // Test a tab created in background but not loaded eagerly.
|
| - final Tab frozenBgTab = ThreadUtils.runOnUiThreadBlocking(new Callable<Tab>() {
|
| - @Override
|
| - public Tab call() {
|
| - Tab bgTab = Tab.createTabForLazyLoad(mActivity, false, mActivity.getWindowAndroid(),
|
| - TabLaunchType.FROM_LONGPRESS_BACKGROUND, Tab.INVALID_TAB_ID,
|
| - new LoadUrlParams(TEST_URL), mActivity.getTabModelSelector());
|
| - bgTab.initialize(null, null, true);
|
| - bgTab.show(TabSelectionType.FROM_USER);
|
| - return bgTab;
|
| - }
|
| - });
|
| - assertEquals(1, shownLoadCount.getDelta());
|
| - assertEquals(1, lostLoadCount.getDelta());
|
| - assertEquals(1, skippedLoadCount.getDelta());
|
| -
|
| - // Show every tab again and make sure we didn't record more samples - this metric should be
|
| - // recorded only on first display.
|
| - ThreadUtils.runOnUiThreadBlocking(new Runnable() {
|
| - @Override
|
| - public void run() {
|
| - liveBgTab.show(TabSelectionType.FROM_USER);
|
| - killedBgTab.show(TabSelectionType.FROM_USER);
|
| - frozenBgTab.show(TabSelectionType.FROM_USER);
|
| - }
|
| - });
|
| - assertEquals(1, shownLoadCount.getDelta());
|
| - assertEquals(1, lostLoadCount.getDelta());
|
| - assertEquals(1, skippedLoadCount.getDelta());
|
| - }
|
| -}
|
|
|