Commit 172ca56f authored by bsazonov's avatar bsazonov Committed by Commit bot

Move part of initialization tasks to ProcessInitializationHandler

This CL moves part of deferred initialization tasks from DeferredStartupHandler
to ProcessInitializationHandler to split responsibilities.

BUG=716454

Review-Url: https://codereview.chromium.org/2853513002
Cr-Commit-Position: refs/heads/master@{#468605}
parent 6b5d2e20
......@@ -416,7 +416,7 @@ public class ChromeBackupAgent extends BackupAgent {
/**
* Record the restore histogram. To be called from Chrome itself once it is running.
*/
static void recordRestoreHistogram() {
public static void recordRestoreHistogram() {
int restoreStatus = getRestoreStatus();
// Ensure restore status is only recorded once
if (restoreStatus != RESTORE_STATUS_RECORDED) {
......
......@@ -29,7 +29,6 @@ import org.chromium.chrome.browser.bookmarkswidget.BookmarkWidgetProvider;
import org.chromium.chrome.browser.crash.LogcatExtractionRunnable;
import org.chromium.chrome.browser.crash.MinidumpUploadService;
import org.chromium.chrome.browser.init.ProcessInitializationHandler;
import org.chromium.chrome.browser.locale.LocaleManager;
import org.chromium.chrome.browser.media.MediaCaptureNotificationService;
import org.chromium.chrome.browser.metrics.LaunchMetrics;
import org.chromium.chrome.browser.metrics.UmaUtils;
......@@ -39,7 +38,6 @@ import org.chromium.chrome.browser.offlinepages.OfflinePageUtils;
import org.chromium.chrome.browser.partnerbookmarks.PartnerBookmarksShim;
import org.chromium.chrome.browser.partnercustomizations.HomepageManager;
import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations;
import org.chromium.chrome.browser.physicalweb.PhysicalWeb;
import org.chromium.chrome.browser.precache.PrecacheLauncher;
import org.chromium.chrome.browser.preferences.ChromePreferenceManager;
import org.chromium.chrome.browser.share.ShareHelper;
......@@ -223,37 +221,6 @@ public class DeferredStartupHandler {
}
});
mDeferredTasks.add(new Runnable() {
@Override
public void run() {
// Start or stop Physical Web
PhysicalWeb.onChromeStart();
}
});
mDeferredTasks.add(new Runnable() {
@Override
public void run() {
LocaleManager.getInstance().recordStartupMetrics();
}
});
mDeferredTasks.add(new Runnable() {
@Override
public void run() {
// Starts syncing with GSA.
AppHooks.get().createGsaHelper().startSync();
}
});
mDeferredTasks.add(new Runnable() {
@Override
public void run() {
// Record the saved restore state in a histogram
ChromeBackupAgent.recordRestoreHistogram();
}
});
ProcessInitializationHandler.getInstance().initializeDeferredStartupTasks();
}
......
......@@ -19,6 +19,7 @@ import org.chromium.chrome.R;
import org.chromium.chrome.browser.AppHooks;
import org.chromium.chrome.browser.ChromeActivitySessionTracker;
import org.chromium.chrome.browser.ChromeApplication;
import org.chromium.chrome.browser.ChromeBackupAgent;
import org.chromium.chrome.browser.ChromeFeatureList;
import org.chromium.chrome.browser.DeferredStartupHandler;
import org.chromium.chrome.browser.DevToolsServer;
......@@ -29,9 +30,11 @@ import org.chromium.chrome.browser.firstrun.ForcedSigninProcessor;
import org.chromium.chrome.browser.identity.UniqueIdentificationGeneratorFactory;
import org.chromium.chrome.browser.identity.UuidBasedUniqueIdentificationGenerator;
import org.chromium.chrome.browser.invalidation.UniqueIdInvalidationClientNameGenerator;
import org.chromium.chrome.browser.locale.LocaleManager;
import org.chromium.chrome.browser.multiwindow.MultiWindowUtils;
import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings;
import org.chromium.chrome.browser.photo_picker.PhotoPickerDialog;
import org.chromium.chrome.browser.physicalweb.PhysicalWeb;
import org.chromium.chrome.browser.preferences.PrefServiceBridge;
import org.chromium.chrome.browser.rlz.RevenueStats;
import org.chromium.chrome.browser.searchwidget.SearchWidgetProvider;
......@@ -201,8 +204,40 @@ public class ProcessInitializationHandler {
protected void handleDeferredStartupTasksInitialization() {
final ChromeApplication application =
(ChromeApplication) ContextUtils.getApplicationContext();
DeferredStartupHandler deferredStartupHandler = DeferredStartupHandler.getInstance();
DeferredStartupHandler.getInstance().addDeferredTask(new Runnable() {
deferredStartupHandler.addDeferredTask(new Runnable() {
@Override
public void run() {
// Start or stop Physical Web
PhysicalWeb.onChromeStart();
}
});
deferredStartupHandler.addDeferredTask(new Runnable() {
@Override
public void run() {
LocaleManager.getInstance().recordStartupMetrics();
}
});
deferredStartupHandler.addDeferredTask(new Runnable() {
@Override
public void run() {
// Starts syncing with GSA.
AppHooks.get().createGsaHelper().startSync();
}
});
deferredStartupHandler.addDeferredTask(new Runnable() {
@Override
public void run() {
// Record the saved restore state in a histogram
ChromeBackupAgent.recordRestoreHistogram();
}
});
deferredStartupHandler.addDeferredTask(new Runnable() {
@Override
public void run() {
ForcedSigninProcessor.start(application, null);
......@@ -221,7 +256,7 @@ public class ProcessInitializationHandler {
}
});
DeferredStartupHandler.getInstance().addDeferredTask(new Runnable() {
deferredStartupHandler.addDeferredTask(new Runnable() {
@Override
public void run() {
GoogleServicesManager.get(application).onMainActivityStart();
......@@ -229,7 +264,7 @@ public class ProcessInitializationHandler {
}
});
DeferredStartupHandler.getInstance().addDeferredTask(new Runnable() {
deferredStartupHandler.addDeferredTask(new Runnable() {
@Override
public void run() {
mDevToolsServer = new DevToolsServer(DEV_TOOLS_SERVER_SOCKET_PREFIX);
......@@ -238,7 +273,7 @@ public class ProcessInitializationHandler {
}
});
DeferredStartupHandler.getInstance().addDeferredTask(new Runnable() {
deferredStartupHandler.addDeferredTask(new Runnable() {
@Override
public void run() {
// Add process check to diagnose http://crbug.com/606309. Remove this after the bug
......
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