Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(61)

Unified Diff: chrome/test/android/javatests/src/org/chromium/chrome/test/util/TabUtils.java

Issue 335293002: Dismiss WebsiteSettings when a new page is committed. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: also fix chrome-layer tests Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/test/android/javatests/src/org/chromium/chrome/test/util/TabUtils.java
diff --git a/chrome/test/android/javatests/src/org/chromium/chrome/test/util/TabUtils.java b/chrome/test/android/javatests/src/org/chromium/chrome/test/util/TabUtils.java
index 7c395107178c7706d00c8538bf15d320281427d8..861180890af52c51c3954ef5f32e4b911479d553 100644
--- a/chrome/test/android/javatests/src/org/chromium/chrome/test/util/TabUtils.java
+++ b/chrome/test/android/javatests/src/org/chromium/chrome/test/util/TabUtils.java
@@ -6,6 +6,7 @@ package org.chromium.chrome.test.util;
import android.view.ContextMenu;
+import org.chromium.base.ThreadUtils;
import org.chromium.chrome.browser.EmptyTabObserver;
import org.chromium.chrome.browser.Tab;
import org.chromium.content.browser.ContentViewClient;
@@ -16,6 +17,7 @@ import org.chromium.content.browser.test.util.TestContentViewClientWrapper;
import org.chromium.content.browser.test.util.TestWebContentsObserver;
import java.lang.ref.WeakReference;
+import java.util.concurrent.atomic.AtomicReference;
/**
* A utility class that contains methods generic to all Tabs tests.
@@ -37,7 +39,7 @@ public class TabUtils {
private final CallbackHelper mOnCloseTabHelper;
private final OnContextMenuShownHelper mOnContextMenuShownHelper;
- public TestCallbackHelperContainerForTab(Tab tab) {
+ private TestCallbackHelperContainerForTab(Tab tab) {
super(createTestContentViewClientForTab(tab),
new TestWebContentsObserver(tab.getContentViewCore()));
mOnCloseTabHelper = new CallbackHelper();
@@ -84,7 +86,21 @@ public class TabUtils {
/**
* Creates, binds and returns a TestCallbackHelperContainer for a given Tab.
*/
- public static TestCallbackHelperContainerForTab getTestCallbackHelperContainer(Tab tab) {
- return tab == null ? null : new TestCallbackHelperContainerForTab(tab);
+ public static TestCallbackHelperContainerForTab getTestCallbackHelperContainer(final Tab tab) {
+ if (tab == null) {
+ return null;
+ }
+ final AtomicReference<TestCallbackHelperContainerForTab> result =
+ new AtomicReference<TestCallbackHelperContainerForTab>();
+ // TODO(yfriedman): Change callers to be executed on the UI thread. Unfortunately this is
+ // super convenient as the caller is nearly always on the test thread which is fine to block
+ // and it's cumbersome to keep bouncing to the UI thread.
+ ThreadUtils.runOnUiThreadBlocking(new Runnable() {
+ @Override
+ public void run() {
+ result.set(new TestCallbackHelperContainerForTab(tab));
+ }
+ });
+ return result.get();
}
}

Powered by Google App Engine
This is Rietveld 408576698