Commit 6def4fee authored by Sam Maier's avatar Sam Maier Committed by Commit Bot

Android tests: ensure UI thread is not overridden after scheduler tests

This ensures that after the overridden UI thread tests run, the overridden UI thread
is cleaned up so tests that follow have a normal UI thread.

TBR: yfriedman
Bug: 908174
Change-Id: Ia433e98534823646065e296556b4ac09a836022e
Reviewed-on: https://chromium-review.googlesource.com/c/1489474
Commit-Queue: Sam Maier <smaier@chromium.org>
Reviewed-by: default avatarChangwan Ryu <changwan@chromium.org>
Reviewed-by: default avatarAndrew Grieve <agrieve@chromium.org>
Auto-Submit: Sam Maier <smaier@chromium.org>
Cr-Commit-Position: refs/heads/master@{#635724}
parent f93f9f66
......@@ -289,7 +289,7 @@ public class WebViewChromiumFactoryProvider implements WebViewFactoryProvider {
cl.appendSwitch("webview-sandboxed-renderer");
}
ThreadUtils.setWillOverrideUiThread();
ThreadUtils.setWillOverrideUiThread(true);
BuildInfo.setBrowserPackageInfo(packageInfo);
try (StrictModeContext smc = StrictModeContext.allowDiskWrites()) {
......
......@@ -10,6 +10,7 @@ import android.support.test.InstrumentationRegistry;
import android.support.test.filters.MediumTest;
import android.support.test.filters.SmallTest;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
......@@ -27,7 +28,6 @@ import org.chromium.base.ThreadUtils;
import org.chromium.base.test.util.Feature;
import org.chromium.net.test.util.TestWebServer;
/**
* Tests for CookieManager/Chromium startup ordering weirdness.
*/
......@@ -52,7 +52,7 @@ public class CookieManagerStartupTest {
@Before
public void setUp() throws Exception {
ThreadUtils.setUiThread(null);
ThreadUtils.setWillOverrideUiThread();
ThreadUtils.setWillOverrideUiThread(true);
// CookieManager assumes that native is loaded, but webview browser should not be loaded for
// these tests as webview is not necessarily loaded when CookieManager is called.
......@@ -63,6 +63,11 @@ public class CookieManagerStartupTest {
AwBrowserProcess.loadLibrary(null);
}
@After
public void tearDown() throws Exception {
ThreadUtils.setWillOverrideUiThread(false);
}
private void startChromium() throws Exception {
ThreadUtils.setUiThread(Looper.getMainLooper());
startChromiumWithClient(new TestAwContentsClient());
......
......@@ -27,9 +27,9 @@ public class ThreadUtils {
private static boolean sThreadAssertsDisabled;
public static void setWillOverrideUiThread() {
public static void setWillOverrideUiThread(boolean willOverrideUiThread) {
synchronized (sLock) {
sWillOverride = true;
sWillOverride = willOverrideUiThread;
}
}
......
......@@ -45,7 +45,7 @@ public class UiThreadSchedulerTest {
public void setUp() {
mNativeLibraryTestRule.loadNativeLibraryNoBrowserProcess();
ThreadUtils.setUiThread(null);
ThreadUtils.setWillOverrideUiThread();
ThreadUtils.setWillOverrideUiThread(true);
mUiThread = new HandlerThread("UiThreadForTest");
mUiThread.start();
ThreadUtils.setUiThread(mUiThread.getLooper());
......@@ -57,6 +57,7 @@ public class UiThreadSchedulerTest {
public void tearDown() {
mUiThread.quitSafely();
ThreadUtils.setUiThread(null);
ThreadUtils.setWillOverrideUiThread(false);
}
@Test
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment