Commit f1639d13 authored by Ted Choc's avatar Ted Choc Committed by Commit Bot

Do not enqueue tasks in ChromeBrowserInitializer that are no-ops.

BUG=

Change-Id: Iea874dae231c2c81b753f605af831f0564ae1ac9
Reviewed-on: https://chromium-review.googlesource.com/1188441Reviewed-by: default avatarPaul Jensen <pauljensen@chromium.org>
Reviewed-by: default avatarBenoit L <lizeb@chromium.org>
Commit-Queue: Ted Choc <tedchoc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#586432}
parent 24bf833a
......@@ -423,8 +423,7 @@ public class CustomTabsConnection {
tasks.add(() -> {
try (TraceEvent e = TraceEvent.scoped("CustomTabsConnection.initializeBrowser()")) {
initializeBrowser(ContextUtils.getApplicationContext());
ChromeBrowserInitializer.initNetworkChangeNotifier(
ContextUtils.getApplicationContext());
ChromeBrowserInitializer.getInstance().initNetworkChangeNotifier();
mWarmupHasBeenFinished.set(true);
}
});
......
......@@ -7,8 +7,6 @@ package org.chromium.chrome.browser.init;
import android.app.Activity;
import android.content.Context;
import android.os.Build;
import android.os.Handler;
import android.os.Looper;
import android.os.Process;
import android.os.StrictMode;
......@@ -62,13 +60,13 @@ public class ChromeBrowserInitializer {
private static final String TAG = "BrowserInitializer";
private static ChromeBrowserInitializer sChromeBrowserInitializer;
private static BrowserStartupController sBrowserStartupController;
private final Handler mHandler;
private final ChromeApplication mApplication;
private final Locale mInitialLocale = Locale.getDefault();
private boolean mPreInflationStartupComplete;
private boolean mPostInflationStartupComplete;
private boolean mNativeInitializationComplete;
private boolean mNetworkChangeNotifierInitializationComplete;
// Public to allow use in ChromeBackupAgent
public static final String PRIVATE_DATA_DIRECTORY_SUFFIX = "chrome";
......@@ -107,7 +105,6 @@ public class ChromeBrowserInitializer {
private ChromeBrowserInitializer() {
mApplication = (ChromeApplication) ContextUtils.getApplicationContext();
mHandler = new Handler(Looper.getMainLooper());
initLeakCanary();
}
......@@ -274,7 +271,8 @@ public class ChromeBrowserInitializer {
final ChainedTasks tasks = new ChainedTasks();
// If full browser process is not going to be launched, it is up to individual service to
// launch its required components.
if (!delegate.startServiceManagerOnly()) {
if (!delegate.startServiceManagerOnly()
&& !ProcessInitializationHandler.getInstance().postNativeInitializationComplete()) {
tasks.add(new Runnable() {
@Override
public void run() {
......@@ -283,12 +281,14 @@ public class ChromeBrowserInitializer {
});
}
tasks.add(new Runnable() {
@Override
public void run() {
initNetworkChangeNotifier(mApplication.getApplicationContext());
}
});
if (!mNetworkChangeNotifierInitializationComplete) {
tasks.add(new Runnable() {
@Override
public void run() {
initNetworkChangeNotifier();
}
});
}
tasks.add(new Runnable() {
@Override
......@@ -322,12 +322,14 @@ public class ChromeBrowserInitializer {
}
});
tasks.add(new Runnable() {
@Override
public void run() {
onFinishNativeInitialization();
}
});
if (!mNativeInitializationComplete) {
tasks.add(new Runnable() {
@Override
public void run() {
onFinishNativeInitialization();
}
});
}
tasks.add(new Runnable() {
@Override
......@@ -395,7 +397,10 @@ public class ChromeBrowserInitializer {
return sBrowserStartupController;
}
public static void initNetworkChangeNotifier(Context context) {
public void initNetworkChangeNotifier() {
if (mNetworkChangeNotifierInitializationComplete) return;
mNetworkChangeNotifierInitializationComplete = true;
ThreadUtils.assertOnUiThread();
TraceEvent.begin("NetworkChangeNotifier.init");
// Enable auto-detection of network connectivity state changes.
......
......@@ -197,6 +197,13 @@ public class ProcessInitializationHandler {
mInitializedPostNative = true;
}
/**
* @return Whether post native initialization has been completed.
*/
public final boolean postNativeInitializationComplete() {
return mInitializedPostNative;
}
/**
* Performs the post native initialization.
*/
......
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