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

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

Issue 2929113002: Enable spare RenderProcessHost to be preinitialized. (Closed)
Patch Set: Change creation of storage partition to not break unittests with subtle threading issues Created 3 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/WarmupManager.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java b/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java
index 5dbfe4437126df8340fa28a92fa3806cee9ed633..e1e839f8d062fc3157cacb8e07ca649821f85ee2 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java
@@ -254,6 +254,27 @@ public final class WarmupManager {
}
}
+ /**
+ * Warms up a spare, empty RenderProcessHost that may be used for subsequent navigations.
+ *
+ * The spare RenderProcessHost will be used automatically in subsequent navigations.
+ * There is nothing further the WarmupManager needs to do to enable that use.
+ *
+ * This uses a different mechanism than createSpareWebContents, below, and is subject
+ * to fewer restrictions.
+ *
+ * This must be called from the UI thread.
+ */
+ public void createSpareRenderProcessHost(Profile profile) {
+ ThreadUtils.assertOnUiThread();
+ if (ChromeFeatureList.isEnabled(ChromeFeatureList.OMNIBOX_SPARE_RENDERER)) {
+ // Spare WebContents should not be used with spare RenderProcessHosts, but if one
+ // has been created, destroy it in order not to consume too many processes.
+ destroySpareWebContents();
+ nativeWarmupSpareRenderer(profile);
+ }
+ }
+
/**
* Creates and initializes a spare WebContents, to be used in a subsequent navigation.
*
@@ -320,4 +341,5 @@ public final class WarmupManager {
}
private static native void nativePreconnectUrlAndSubresources(Profile profile, String url);
+ private static native void nativeWarmupSpareRenderer(Profile profile);
}

Powered by Google App Engine
This is Rietveld 408576698