Index: chrome/android/java/src/org/chromium/chrome/browser/DeferredStartupHandler.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/DeferredStartupHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/DeferredStartupHandler.java |
index 4ebeee589ab90ad1b4bd056bbbd9baf5e70c9cec..36a231ea5b3f2f2090ab581c4ff71205af5d1c6c 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/DeferredStartupHandler.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/DeferredStartupHandler.java |
@@ -48,6 +48,7 @@ import org.chromium.chrome.browser.preferences.privacy.PrivacyPreferencesManager |
import org.chromium.chrome.browser.share.ShareHelper; |
import org.chromium.chrome.browser.webapps.ChromeWebApkHost; |
import org.chromium.chrome.browser.webapps.WebApkVersionManager; |
+import org.chromium.chrome.browser.webapps.WebappRegistry; |
import org.chromium.content.browser.ChildProcessLauncher; |
import java.util.ArrayList; |
@@ -278,11 +279,20 @@ public class DeferredStartupHandler { |
SystemClock.uptimeMillis() - asyncTaskStartTime, |
TimeUnit.MILLISECONDS); |
+ // Warm up all web app shared prefs. |
+ WebappRegistry.warmUpSharedPrefs(""); |
+ |
return null; |
} finally { |
TraceEvent.end("ChromeBrowserInitializer.onDeferredStartup.doInBackground"); |
} |
} |
+ |
+ @Override |
+ protected void onPostExecute(Void params) { |
+ // Must be run on the UI thread after the WebappRegistry has been completely warmed. |
+ WebappRegistry.getInstance().unregisterOldWebapps(System.currentTimeMillis()); |
+ } |
}.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); |
} |