Chromium Code Reviews| Index: chrome/android/javatests/src/org/chromium/chrome/browser/TabBaseTabUtils.java |
| diff --git a/chrome/android/testshell/javatests/src/org/chromium/chrome/testshell/TabShellTabUtils.java b/chrome/android/javatests/src/org/chromium/chrome/browser/TabBaseTabUtils.java |
| similarity index 63% |
| rename from chrome/android/testshell/javatests/src/org/chromium/chrome/testshell/TabShellTabUtils.java |
| rename to chrome/android/javatests/src/org/chromium/chrome/browser/TabBaseTabUtils.java |
| index 35d5df0620e9893f7a837d73172a21c7f663283b..35addbe3b37dac9d77057d033a6b0b3168cb8002 100644 |
| --- a/chrome/android/testshell/javatests/src/org/chromium/chrome/testshell/TabShellTabUtils.java |
| +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/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.browser; |
| + |
| +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,57 @@ 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() { |
| + System.out.println("weak reference: " + mContextMenu.get()); |
|
Ted C
2013/11/26 01:50:09
remove print out
David Trainor- moved to gerrit
2013/11/26 23:51:07
Done.
|
| + 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); |
| } |
| } |