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

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

Issue 2121863002: Separate deferred startup into tasks. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Split up everything to the idle handler. Created 4 years, 5 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/AsyncInitializationActivity.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/AsyncInitializationActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/init/AsyncInitializationActivity.java
index 30b6da5c8e60fd43717c3dd1205e603c0a78c75c..1a51e0505bfdb5e50e7de05fd57c91c9ed66e3f6 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/AsyncInitializationActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/AsyncInitializationActivity.java
@@ -28,6 +28,7 @@ import org.chromium.base.VisibleForTesting;
import org.chromium.base.library_loader.LoaderErrors;
import org.chromium.base.library_loader.ProcessInitException;
import org.chromium.chrome.browser.ChromeApplication;
+import org.chromium.chrome.browser.DeferredStartupHandler;
import org.chromium.chrome.browser.WarmupManager;
import org.chromium.chrome.browser.metrics.MemoryUma;
import org.chromium.chrome.browser.profiles.Profile;
@@ -182,9 +183,12 @@ public abstract class AsyncInitializationActivity extends AppCompatActivity impl
/**
* Actions that may be run at some point after startup. Place tasks that are not critical to the
* startup path here. This method will be called automatically and should not be called
- * directly by subclasses. Overriding methods should call super.onDeferredStartup().
+ * directly by subclasses. Overriding methods should call super.onDeferredStartup() last, after
+ * queuing their tasks on the DeferredStartupHandler.
*/
- protected void onDeferredStartup() { }
+ protected void onDeferredStartup() {
+ DeferredStartupHandler.getInstance().runDeferredTasks();
Yaron 2016/07/06 14:27:50 does this work? previously this was kicked off in
Peter Wen 2016/07/06 15:21:37 Moved this to ChromeActivity. Only ChromeActivity
Yaron 2016/07/06 15:46:58 Err, I was completely backwards on this :/ ChromeA
Peter Wen 2016/07/06 16:05:46 Acknowledged.
+ }
@Override
public void onStartupFailure() {

Powered by Google App Engine
This is Rietveld 408576698