| Index: chrome/test/android/javatests/src/org/chromium/chrome/test/util/TabBaseTabUtils.java
|
| diff --git a/chrome/android/testshell/javatests/src/org/chromium/chrome/testshell/TabShellTabUtils.java b/chrome/test/android/javatests/src/org/chromium/chrome/test/util/TabBaseTabUtils.java
|
| similarity index 64%
|
| rename from chrome/android/testshell/javatests/src/org/chromium/chrome/testshell/TabShellTabUtils.java
|
| rename to chrome/test/android/javatests/src/org/chromium/chrome/test/util/TabBaseTabUtils.java
|
| index 35d5df0620e9893f7a837d73172a21c7f663283b..98ef500c58c6a6172784190b6f5cd55ed5fb3c14 100644
|
| --- a/chrome/android/testshell/javatests/src/org/chromium/chrome/testshell/TabShellTabUtils.java
|
| +++ b/chrome/test/android/javatests/src/org/chromium/chrome/test/util/TabBaseTabUtils.java
|
| @@ -2,7 +2,9 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -package org.chromium.chrome.testshell;
|
| +package org.chromium.chrome.test.util;
|
| +
|
| +import android.view.ContextMenu;
|
|
|
| import org.chromium.chrome.browser.EmptyTabObserver;
|
| import org.chromium.chrome.browser.TabBase;
|
| @@ -13,11 +15,13 @@ import org.chromium.content.browser.test.util.TestContentViewClient;
|
| import org.chromium.content.browser.test.util.TestContentViewClientWrapper;
|
| import org.chromium.content.browser.test.util.TestWebContentsObserver;
|
|
|
| +import java.lang.ref.WeakReference;
|
| +
|
| /**
|
| * A utility class that contains methods generic to all Tabs tests.
|
| */
|
| -public class TabShellTabUtils {
|
| - private static TestContentViewClient createTestContentViewClientForTab(TestShellTab tab) {
|
| +public class TabBaseTabUtils {
|
| + private static TestContentViewClient createTestContentViewClientForTab(TabBase tab) {
|
| ContentViewClient client = tab.getContentView().getContentViewClient();
|
| if (client instanceof TestContentViewClient) return (TestContentViewClient) client;
|
|
|
| @@ -28,31 +32,56 @@ public class TabShellTabUtils {
|
|
|
| public static class TestCallbackHelperContainerForTab extends TestCallbackHelperContainer {
|
| private final OnCloseTabHelper mOnCloseTabHelper;
|
| - public TestCallbackHelperContainerForTab(TestShellTab tab) {
|
| + private final OnContextMenuShownHelper mOnContextMenuShownHelper;
|
| +
|
| + public TestCallbackHelperContainerForTab(TabBase tab) {
|
| super(createTestContentViewClientForTab(tab),
|
| new TestWebContentsObserver(tab.getContentView().getContentViewCore()));
|
| mOnCloseTabHelper = new OnCloseTabHelper();
|
| + mOnContextMenuShownHelper = new OnContextMenuShownHelper();
|
| tab.addObserver(new EmptyTabObserver() {
|
| @Override
|
| public void onDestroyed(TabBase tab) {
|
| mOnCloseTabHelper.notifyCalled();
|
| }
|
| +
|
| + @Override
|
| + public void onContextMenuShown(TabBase tab, ContextMenu menu) {
|
| + mOnContextMenuShownHelper.notifyCalled(menu);
|
| + }
|
| });
|
| }
|
|
|
| public static class OnCloseTabHelper extends CallbackHelper {
|
| }
|
|
|
| + public static class OnContextMenuShownHelper extends CallbackHelper {
|
| + private WeakReference<ContextMenu> mContextMenu;
|
| +
|
| + public void notifyCalled(ContextMenu menu) {
|
| + mContextMenu = new WeakReference<ContextMenu>(menu);
|
| + notifyCalled();
|
| + }
|
| +
|
| + public ContextMenu getContextMenu() {
|
| + assert getCallCount() > 0;
|
| + return mContextMenu.get();
|
| + }
|
| + }
|
| +
|
| public OnCloseTabHelper getOnCloseTabHelper() {
|
| return mOnCloseTabHelper;
|
| }
|
| +
|
| + public OnContextMenuShownHelper getOnContextMenuShownHelper() {
|
| + return mOnContextMenuShownHelper;
|
| + }
|
| }
|
|
|
| /**
|
| * Creates, binds and returns a TestCallbackHelperContainer for a given Tab.
|
| */
|
| - public static TestCallbackHelperContainerForTab getTestCallbackHelperContainer(
|
| - final TestShellTab tab) {
|
| + public static TestCallbackHelperContainerForTab getTestCallbackHelperContainer(TabBase tab) {
|
| return tab == null ? null : new TestCallbackHelperContainerForTab(tab);
|
| }
|
| }
|
|
|