Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4238)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java

Issue 2348583002: Split out foreground session tracking from the application code. (Closed)
Patch Set: fix test Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
index a8e29abae58639bc3763efa8bf4032e475a4c155..5f27fc5e920addfb5f683cd4f2cf91d101031bb8 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
@@ -15,9 +15,11 @@ import org.chromium.base.CommandLine;
import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
import org.chromium.base.ThreadUtils;
+import org.chromium.chrome.browser.ChromeActivitySessionTracker;
import org.chromium.chrome.browser.ChromeApplication;
import org.chromium.chrome.browser.DeferredStartupHandler;
import org.chromium.chrome.browser.DevToolsServer;
+import org.chromium.chrome.browser.banners.AppBannerManager;
import org.chromium.chrome.browser.download.DownloadController;
import org.chromium.chrome.browser.download.DownloadManagerService;
import org.chromium.chrome.browser.firstrun.ForcedSigninProcessor;
@@ -25,6 +27,8 @@ 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.multiwindow.MultiWindowUtils;
+import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings;
+import org.chromium.chrome.browser.preferences.PrefServiceBridge;
import org.chromium.chrome.browser.rlz.RevenueStats;
import org.chromium.chrome.browser.services.AccountsChangedReceiver;
import org.chromium.chrome.browser.services.GoogleServicesManager;
@@ -47,6 +51,7 @@ public class ProcessInitializationHandler {
private static ProcessInitializationHandler sInstance;
private boolean mInitializedPreNative;
+ private boolean mInitializedPostNative;
private boolean mInitializedDeferredStartupTasks;
private DevToolsServer mDevToolsServer;
@@ -150,6 +155,32 @@ public class ProcessInitializationHandler {
}
/**
+ * Initializes any dependencies that must occur after the native library has been loaded.
+ */
+ public final void initializePostNative() {
+ ThreadUtils.assertOnUiThread();
+ if (mInitializedPostNative) return;
+ mInitializedPostNative = true;
+ handlePostNativeInitialization();
+ }
+
+ /**
+ * Performs the post native initialization.
+ */
+ protected void handlePostNativeInitialization() {
+ final ChromeApplication application =
+ (ChromeApplication) ContextUtils.getApplicationContext();
+
+ DataReductionProxySettings.reconcileDataReductionProxyEnabledState(application);
+ ChromeActivitySessionTracker.getInstance().initializeWithNative();
+ ChromeApplication.removeSessionCookies();
+ AppBannerManager.setAppDetailsDelegate(application.createAppDetailsDelegate());
+ ChromeLifetimeController.initialize();
+
+ PrefServiceBridge.getInstance().migratePreferences(application);
+ }
+
+ /**
* Initializes the deferred startup tasks that should only be triggered once per browser process
* lifetime.
*/

Powered by Google App Engine
This is Rietveld 408576698