Index: chrome/android/java/src/org/chromium/chrome/browser/omnibox/AutocompleteController.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/AutocompleteController.java b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/AutocompleteController.java |
index 12ecd35ff03162d45aaf18738d8d58d586febec6..83f6394505f8f0781a13d8546c2c62f67a5c8c04 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/AutocompleteController.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/AutocompleteController.java |
@@ -9,6 +9,8 @@ import android.text.TextUtils; |
import org.chromium.base.VisibleForTesting; |
import org.chromium.base.annotations.CalledByNative; |
+import org.chromium.chrome.browser.WarmupManager; |
+import org.chromium.chrome.browser.ntp.NewTabPage; |
import org.chromium.chrome.browser.omnibox.OmniboxSuggestion.MatchClassification; |
import org.chromium.chrome.browser.omnibox.VoiceSuggestionProvider.VoiceResult; |
import org.chromium.chrome.browser.profiles.Profile; |
@@ -159,6 +161,12 @@ public class AutocompleteController { |
public void startZeroSuggest(Profile profile, String omniboxText, String url, |
boolean focusedFromFakebox) { |
if (profile == null || TextUtils.isEmpty(url)) return; |
+ |
+ if (!NewTabPage.isNTPUrl(url)) { |
+ // Proactively start up a renderer, to reduce the time to display search results, |
+ // especially if a Service Worker is used. |
+ WarmupManager.getInstance().createSpareRenderProcessHost(profile); |
+ } |
mNativeAutocompleteControllerAndroid = nativeInit(profile); |
if (mNativeAutocompleteControllerAndroid != 0) { |
if (mUseCachedZeroSuggestResults) mWaitingForSuggestionsToCache = true; |