Index: chrome/browser/prerender/prerender_manager.cc |
diff --git a/chrome/browser/prerender/prerender_manager.cc b/chrome/browser/prerender/prerender_manager.cc |
index 138785a7df0093d648f3140f3e8e18d95b94f2ff..88c698dd43e55ca010fa1d78ad938a7aace716d3 100644 |
--- a/chrome/browser/prerender/prerender_manager.cc |
+++ b/chrome/browser/prerender/prerender_manager.cc |
@@ -268,11 +268,17 @@ bool PrerenderManager::AddPrerenderFromLinkRelPrerender( |
int route_id, |
const GURL& url, |
const content::Referrer& referrer) { |
+#if defined(OS_ANDROID) |
+ // TODO(jcivelli): http://crbug.com/113322 We should have an option to disable |
+ // link-prerender and enable omnibox-prerender only. |
+ return false; |
+#else |
std::pair<int, int> child_route_id_pair = std::make_pair(process_id, |
route_id); |
return AddPrerender(ORIGIN_LINK_REL_PRERENDER, child_route_id_pair, |
url, referrer, NULL); |
+#endif |
} |
bool PrerenderManager::AddPrerenderFromOmnibox( |
@@ -634,6 +640,12 @@ bool PrerenderManager::IsWebContentsPrerendering( |
return false; |
} |
+bool PrerenderManager::DidPrerenderFinishLoading(const GURL& url) { |
+ DCHECK(CalledOnValidThread()); |
+ PrerenderContents* contents = FindEntry(url); |
+ return contents ? contents->has_finished_loading() : false; |
+} |
+ |
void PrerenderManager::MarkWebContentsAsPrerendered(WebContents* web_contents) { |
DCHECK(CalledOnValidThread()); |
prerendered_tab_contents_set_.insert(web_contents); |
@@ -828,11 +840,15 @@ bool PrerenderManager::AddPrerender( |
// true, so that case needs to be explicitly checked for. |
// TODO(tburkard): Figure out how to cancel prerendering in the opposite |
// case, when a new tab is added to a process used for prerendering. |
+ // On Android we do reuse processes as we have a limited number of them and we |
+ // still want the benefits or prerendering even when several tabs are open. |
dominich
2012/02/14 01:11:20
nit 'or prerendering' -> 'of prerendering'
dominich
2012/02/14 01:11:20
This means that you can't lower the CPU process -
Jay Civelli
2012/02/14 03:13:51
Done.
Jay Civelli
2012/02/14 03:13:51
I thought there was only lower priority given to n
|
+#if !defined(OS_ANDROID) |
if (content::RenderProcessHost::ShouldTryToUseExistingProcessHost() && |
!content::RenderProcessHost::run_renderer_in_process()) { |
RecordFinalStatus(origin, experiment, FINAL_STATUS_TOO_MANY_PROCESSES); |
return false; |
} |
+#endif |
// Check if enough time has passed since the last prerender. |
if (!DoesRateLimitAllowPrerender()) { |