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