| Index: chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc
|
| diff --git a/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc b/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc
|
| index 8ef11b61230060f608e7e459c0b7d57f559ea698..71b1e444ee86ce5e55e4c502649774e94bb00a8f 100644
|
| --- a/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc
|
| +++ b/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc
|
| @@ -128,6 +128,31 @@ prerender::PrerenderContents* FindPrerenderContents(int render_process_id,
|
| return prerender::PrerenderContents::FromWebContents(web_contents);
|
| }
|
|
|
| +prerender::PrerenderManager* GetPrerenderManager(int render_process_id,
|
| + int render_view_id) {
|
| + DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
|
| +
|
| + content::RenderViewHost* render_view_host =
|
| + content::RenderViewHost::FromID(render_process_id, render_view_id);
|
| + if (!render_view_host)
|
| + return NULL;
|
| +
|
| + content::WebContents* web_contents =
|
| + content::WebContents::FromRenderViewHost(render_view_host);
|
| + if (!web_contents)
|
| + return NULL;
|
| +
|
| + content::BrowserContext* browser_context = web_contents->GetBrowserContext();
|
| + if (!browser_context)
|
| + return NULL;
|
| +
|
| + Profile* profile = Profile::FromBrowserContext(browser_context);
|
| + if (!profile)
|
| + return NULL;
|
| +
|
| + return prerender::PrerenderManagerFactory::GetForProfile(profile);
|
| +}
|
| +
|
| void UpdatePrerenderNetworkBytesCallback(int render_process_id,
|
| int render_view_id,
|
| int64 bytes) {
|
| @@ -136,11 +161,13 @@ void UpdatePrerenderNetworkBytesCallback(int render_process_id,
|
| prerender::PrerenderContents* prerender_contents =
|
| FindPrerenderContents(render_process_id, render_view_id);
|
|
|
| - if (!prerender_contents)
|
| - return;
|
| - prerender_contents->AddNetworkBytes(bytes);
|
| - prerender_contents->prerender_manager()->AddProfileNetworkBytesIfEnabled(
|
| - bytes);
|
| + if (prerender_contents)
|
| + prerender_contents->AddNetworkBytes(bytes);
|
| +
|
| + prerender::PrerenderManager* prerender_manager =
|
| + GetPrerenderManager(render_process_id, render_view_id);
|
| + if (prerender_manager)
|
| + prerender_manager->AddProfileNetworkBytesIfEnabled(bytes);
|
| }
|
|
|
| #if !defined(OS_ANDROID)
|
| @@ -173,13 +200,8 @@ void SendExecuteMimeTypeHandlerEvent(scoped_ptr<content::StreamHandle> stream,
|
| if (!web_contents)
|
| return;
|
|
|
| - content::BrowserContext* browser_context = web_contents->GetBrowserContext();
|
| - if (!browser_context)
|
| - return;
|
| -
|
| - Profile* profile = Profile::FromBrowserContext(browser_context);
|
| - if (!profile)
|
| - return;
|
| + Profile* profile =
|
| + Profile::FromBrowserContext(web_contents->GetBrowserContext());
|
|
|
| StreamsPrivateAPI* streams_private = StreamsPrivateAPI::Get(profile);
|
| if (!streams_private)
|
|
|