Chromium Code Reviews| 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()) { |