Commit 530675e9 authored by Karolina Soltys's avatar Karolina Soltys Committed by Commit Bot

[scheduler] Non-test runOnUiThreadBlocking to runSynchronously migration.

I am migrating (heavily discouraged) non-test usages of
ThreadUtils.runOnUiThreadBlocking in browser/ to PostTask.runSynchronously
(this method is deprecated, to discourage further usage).

This is a purely mechanical migration.

Bug: 863341
Change-Id: Idc77228e2bee0b9f990c5ea524f6c980b4e3f2f3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1541101Reviewed-by: default avatarAndrew Grieve <agrieve@chromium.org>
Reviewed-by: default avatarKarolina Soltys <ksolt@chromium.org>
Commit-Queue: Karolina Soltys <ksolt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#644819}
parent c8d60a66
......@@ -1247,7 +1247,7 @@ public class VrShell extends GvrLayout
}
public void performKeyboardInputForTesting(int inputType, String inputString) {
ThreadUtils.runOnUiThreadBlocking(() -> {
PostTask.runSynchronously(UiThreadTaskTraits.DEFAULT, () -> {
nativePerformKeyboardInputForTesting(mNativeVrShell, inputType, inputString);
});
}
......
......@@ -21,6 +21,7 @@ import org.chromium.base.ThreadUtils;
import org.chromium.base.VisibleForTesting;
import org.chromium.base.library_loader.ProcessInitException;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.task.PostTask;
import org.chromium.chrome.browser.firstrun.FirstRunSignInProcessor;
import org.chromium.chrome.browser.firstrun.FirstRunStatus;
import org.chromium.chrome.browser.firstrun.FirstRunUtils;
......@@ -30,6 +31,7 @@ import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings;
import org.chromium.chrome.browser.preferences.privacy.PrivacyPreferencesManager;
import org.chromium.components.signin.AccountManagerFacade;
import org.chromium.components.signin.ChromeSigninController;
import org.chromium.content_public.browser.UiThreadTaskTraits;
import org.chromium.content_public.common.ContentProcessInfo;
import java.io.FileInputStream;
......@@ -317,7 +319,7 @@ public class ChromeBackupAgent extends BackupAgent {
// if it were called from the UI thread the broadcast would not be received until after it
// exited.
final CountDownLatch latch = new CountDownLatch(1);
ThreadUtils.runOnUiThreadBlocking(() -> {
PostTask.runSynchronously(UiThreadTaskTraits.DEFAULT, () -> {
// Chrome library loading depends on PathUtils.
PathUtils.setPrivateDataDirectorySuffix(
ChromeBrowserInitializer.PRIVATE_DATA_DIRECTORY_SUFFIX);
......@@ -356,7 +358,7 @@ public class ChromeBackupAgent extends BackupAgent {
}
// Restore the native preferences on the UI thread
ThreadUtils.runOnUiThreadBlocking(() -> {
PostTask.runSynchronously(UiThreadTaskTraits.DEFAULT, () -> {
ArrayList<String> nativeBackupNames = new ArrayList<>();
boolean[] nativeBackupValues = new boolean[backupNames.size()];
int count = 0;
......
......@@ -12,9 +12,10 @@ import android.os.Build;
import android.os.Bundle;
import org.chromium.base.ContextUtils;
import org.chromium.base.ThreadUtils;
import org.chromium.base.task.PostTask;
import org.chromium.chrome.browser.init.ProcessInitializationHandler;
import org.chromium.components.signin.AccountManagerFacade;
import org.chromium.content_public.browser.UiThreadTaskTraits;
import java.util.HashSet;
import java.util.List;
......@@ -57,12 +58,8 @@ public class ToSAckedReceiver extends BroadcastReceiver {
ContextUtils.getAppSharedPreferences().getStringSet(
TOS_ACKED_ACCOUNTS, null);
if (toSAckedAccounts == null || toSAckedAccounts.isEmpty()) return false;
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
ProcessInitializationHandler.getInstance().initializePreNative();
}
});
PostTask.runSynchronously(UiThreadTaskTraits.DEFAULT,
() -> { ProcessInitializationHandler.getInstance().initializePreNative(); });
AccountManagerFacade accountHelper = AccountManagerFacade.get();
List<String> accountNames = accountHelper.tryGetGoogleAccountNames();
if (accountNames.isEmpty()) return false;
......
......@@ -7,10 +7,11 @@ package org.chromium.chrome.browser.historyreport;
import static org.chromium.base.ThreadUtils.assertOnBackgroundThread;
import org.chromium.base.Log;
import org.chromium.base.ThreadUtils;
import org.chromium.base.VisibleForTesting;
import org.chromium.base.annotations.CalledByNative;
import org.chromium.base.annotations.JNINamespace;
import org.chromium.base.task.PostTask;
import org.chromium.content_public.browser.UiThreadTaskTraits;
import java.io.PrintWriter;
import java.util.concurrent.atomic.AtomicBoolean;
......@@ -33,12 +34,8 @@ public class HistoryReportJniBridge implements SearchJniBridge {
if (observer == null) return false;
if (mNativeHistoryReportJniBridge != 0) return true;
mDataChangeObserver = observer;
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
mNativeHistoryReportJniBridge = nativeInit();
}
});
PostTask.runSynchronously(UiThreadTaskTraits.DEFAULT,
() -> { mNativeHistoryReportJniBridge = nativeInit(); });
if (mNativeHistoryReportJniBridge == 0) {
Log.w(TAG, "JNI bridge initialization unsuccessful.");
return false;
......
......@@ -20,15 +20,16 @@ import android.text.TextUtils;
import org.chromium.base.ActivityState;
import org.chromium.base.ApplicationStatus;
import org.chromium.base.ContextUtils;
import org.chromium.base.ThreadUtils;
import org.chromium.base.VisibleForTesting;
import org.chromium.base.library_loader.LibraryProcessType;
import org.chromium.base.task.PostTask;
import org.chromium.chrome.browser.ChromeTabbedActivity;
import org.chromium.chrome.browser.document.ChromeLauncherActivity;
import org.chromium.chrome.browser.document.DocumentUtils;
import org.chromium.chrome.browser.notifications.PendingIntentProvider;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.content_public.browser.BrowserStartupController;
import org.chromium.content_public.browser.UiThreadTaskTraits;
import java.util.HashSet;
import java.util.Set;
......@@ -58,14 +59,15 @@ public class IncognitoNotificationService extends IntentService {
@Override
protected void onHandleIntent(Intent intent) {
ThreadUtils.runOnUiThreadBlocking(IncognitoUtils::closeAllIncognitoTabs);
PostTask.runSynchronously(
UiThreadTaskTraits.DEFAULT, IncognitoUtils::closeAllIncognitoTabs);
boolean clearedIncognito = IncognitoUtils.deleteIncognitoStateFiles();
// If we failed clearing all of the incognito tabs, then do not dismiss the notification.
if (!clearedIncognito) return;
ThreadUtils.runOnUiThreadBlocking(() -> {
PostTask.runSynchronously(UiThreadTaskTraits.DEFAULT, () -> {
if (IncognitoUtils.doIncognitoTabsExist()) {
assert false : "Not all incognito tabs closed as expected";
return;
......@@ -80,7 +82,7 @@ public class IncognitoNotificationService extends IntentService {
}
});
ThreadUtils.runOnUiThreadBlocking(() -> {
PostTask.runSynchronously(UiThreadTaskTraits.DEFAULT, () -> {
// Now ensure that the snapshots in recents are all cleared for Tabbed activities
// to remove any trace of incognito mode.
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
......
......@@ -13,15 +13,16 @@ import android.content.SyncResult;
import android.os.Bundle;
import org.chromium.base.Log;
import org.chromium.base.ThreadUtils;
import org.chromium.base.VisibleForTesting;
import org.chromium.base.library_loader.ProcessInitException;
import org.chromium.base.task.PostTask;
import org.chromium.chrome.browser.init.BrowserParts;
import org.chromium.chrome.browser.init.ChromeBrowserInitializer;
import org.chromium.chrome.browser.init.EmptyBrowserParts;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.components.invalidation.PendingInvalidation;
import org.chromium.components.signin.ChromeSigninController;
import org.chromium.content_public.browser.UiThreadTaskTraits;
import java.util.concurrent.Semaphore;
import java.util.concurrent.TimeUnit;
......@@ -81,18 +82,14 @@ public class ChromeBrowserSyncAdapter extends AbstractThreadedSyncAdapter {
private void startBrowserProcess(final BrowserParts parts, final SyncResult syncResult,
Semaphore semaphore) {
try {
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
ChromeBrowserInitializer.getInstance(getContext()).handlePreNativeStartup(
parts);
try {
ChromeBrowserInitializer.getInstance(getContext())
.handlePostNativeStartup(false, parts);
} catch (ProcessInitException e) {
Log.e(TAG, "Unable to load native library.", e);
System.exit(-1);
}
PostTask.runSynchronously(UiThreadTaskTraits.DEFAULT, () -> {
ChromeBrowserInitializer.getInstance(getContext()).handlePreNativeStartup(parts);
try {
ChromeBrowserInitializer.getInstance(getContext())
.handlePostNativeStartup(false, parts);
} catch (ProcessInitException e) {
Log.e(TAG, "Unable to load native library.", e);
System.exit(-1);
}
});
} catch (RuntimeException e) {
......
......@@ -15,13 +15,14 @@ import org.xmlpull.v1.XmlSerializer;
import org.chromium.base.BuildInfo;
import org.chromium.base.Log;
import org.chromium.base.ThreadUtils;
import org.chromium.base.VisibleForTesting;
import org.chromium.base.task.PostTask;
import org.chromium.chrome.browser.identity.SettingsSecureBasedIdentificationGenerator;
import org.chromium.chrome.browser.identity.UniqueIdentificationGeneratorFactory;
import org.chromium.chrome.browser.init.ProcessInitializationHandler;
import org.chromium.components.signin.AccountManagerFacade;
import org.chromium.components.signin.ChromeSigninController;
import org.chromium.content_public.browser.UiThreadTaskTraits;
import org.chromium.ui.base.DeviceFormFactor;
import java.io.IOException;
......@@ -197,7 +198,7 @@ public abstract class RequestGenerator {
public int getNumGoogleAccountsOnDevice() {
// RequestGenerator may be invoked from JobService or AlarmManager (through OmahaService),
// so have to make sure AccountManagerFacade instance is initialized.
ThreadUtils.runOnUiThreadBlocking(
PostTask.runSynchronously(UiThreadTaskTraits.DEFAULT,
() -> ProcessInitializationHandler.getInstance().initializePreNative());
int numAccounts = 0;
try {
......
......@@ -16,12 +16,13 @@ import android.os.SystemClock;
import org.chromium.base.CommandLine;
import org.chromium.base.Log;
import org.chromium.base.PathUtils;
import org.chromium.base.ThreadUtils;
import org.chromium.base.annotations.MainDex;
import org.chromium.base.library_loader.LibraryLoader;
import org.chromium.base.library_loader.LibraryProcessType;
import org.chromium.base.library_loader.ProcessInitException;
import org.chromium.base.task.PostTask;
import org.chromium.chrome.browser.init.ChromeBrowserInitializer;
import org.chromium.content_public.browser.UiThreadTaskTraits;
import java.io.FileDescriptor;
import java.io.IOException;
......@@ -55,7 +56,7 @@ public class DecoderService extends Service {
}
try {
// The decoder service relies on PathUtils.
ThreadUtils.runOnUiThreadBlocking(() -> {
PostTask.runSynchronously(UiThreadTaskTraits.DEFAULT, () -> {
PathUtils.setPrivateDataDirectorySuffix(
ChromeBrowserInitializer.PRIVATE_DATA_DIRECTORY_SUFFIX);
});
......
......@@ -252,22 +252,17 @@ public class ChromeBrowserProvider extends ContentProvider {
public boolean onCreate() {
// Work around for broken Android versions that break the Android contract and initialize
// ContentProviders on non-UI threads. crbug.com/705442
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
BrowserStartupController.get(LibraryProcessType.PROCESS_BROWSER)
.addStartupCompletedObserver(
new BrowserStartupController.StartupCallback() {
@Override
public void onSuccess() {
ensureNativeSideInitialized();
}
@Override
public void onFailure() {
}
});
}
PostTask.runSynchronously(UiThreadTaskTraits.DEFAULT, () -> {
BrowserStartupController.get(LibraryProcessType.PROCESS_BROWSER)
.addStartupCompletedObserver(new BrowserStartupController.StartupCallback() {
@Override
public void onSuccess() {
ensureNativeSideInitialized();
}
@Override
public void onFailure() {}
});
});
return true;
......@@ -638,20 +633,16 @@ public class ChromeBrowserProvider extends ContentProvider {
ensureUriMatcherInitialized();
if (mNativeChromeBrowserProvider != 0) return true;
synchronized (mLoadNativeLock) {
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
if (mNativeChromeBrowserProvider != 0) return;
try {
ChromeBrowserInitializer.getInstance(getContext())
.handleSynchronousStartup();
} catch (ProcessInitException e) {
// Chrome browser runs in the background, so exit silently; but do exit,
// since otherwise the next attempt to use Chrome will find a broken JNI.
System.exit(-1);
}
ensureNativeSideInitialized();
PostTask.runSynchronously(UiThreadTaskTraits.DEFAULT, () -> {
if (mNativeChromeBrowserProvider != 0) return;
try {
ChromeBrowserInitializer.getInstance(getContext()).handleSynchronousStartup();
} catch (ProcessInitException e) {
// Chrome browser runs in the background, so exit silently; but do exit,
// since otherwise the next attempt to use Chrome will find a broken JNI.
System.exit(-1);
}
ensureNativeSideInitialized();
});
}
return true;
......
......@@ -9,7 +9,8 @@ import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import org.chromium.base.ThreadUtils;
import org.chromium.base.task.PostTask;
import org.chromium.content_public.browser.UiThreadTaskTraits;
/**
* Service that handles the actions on tracing notifications.
......@@ -71,7 +72,7 @@ public class TracingNotificationService extends IntentService {
@Override
protected void onHandleIntent(Intent intent) {
ThreadUtils.runOnUiThreadBlocking(() -> {
PostTask.runSynchronously(UiThreadTaskTraits.DEFAULT, () -> {
// Clear the notification but don't do anything else if the TracingController went away.
if (!TracingController.isInitialized()) {
TracingNotificationManager.dismissNotification();
......
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