| Index: chrome/browser/loader/chrome_resource_dispatcher_host_delegate.cc
|
| diff --git a/chrome/browser/loader/chrome_resource_dispatcher_host_delegate.cc b/chrome/browser/loader/chrome_resource_dispatcher_host_delegate.cc
|
| index 060b362339230c493d70c4a7b6e5a97d5dbd314c..8bb40e62a68b15233739837e43e16ffdabe2aeb1 100644
|
| --- a/chrome/browser/loader/chrome_resource_dispatcher_host_delegate.cc
|
| +++ b/chrome/browser/loader/chrome_resource_dispatcher_host_delegate.cc
|
| @@ -346,9 +346,11 @@ void LogMainFrameMetricsOnUIThread(const GURL& url,
|
| }
|
|
|
| void NotifyUIThreadOfRequestComplete(
|
| - const content::ResourceRequestInfo::WebContentsGetter& web_contents_getter,
|
| + const content::ResourceRequestInfo::RenderFrameHostGetter&
|
| + render_frame_host_getter,
|
| const GURL& url,
|
| const content::GlobalRequestID& request_id,
|
| + int frame_tree_node_id,
|
| ResourceType resource_type,
|
| bool was_cached,
|
| bool used_data_reduction_proxy,
|
| @@ -359,9 +361,14 @@ void NotifyUIThreadOfRequestComplete(
|
| base::TimeTicks request_creation_time,
|
| base::TimeDelta request_loading_time) {
|
| DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
| - content::WebContents* web_contents = web_contents_getter.Run();
|
| + content::RenderFrameHost* render_frame_host = render_frame_host_getter.Run();
|
| + if (!render_frame_host)
|
| + return;
|
| + content::WebContents* web_contents =
|
| + content::WebContents::FromRenderFrameHost(render_frame_host);
|
| if (!web_contents)
|
| return;
|
| +
|
| if (resource_type == content::RESOURCE_TYPE_MAIN_FRAME) {
|
| LogMainFrameMetricsOnUIThread(url, net_error, request_loading_time,
|
| web_contents);
|
| @@ -381,8 +388,9 @@ void NotifyUIThreadOfRequestComplete(
|
| web_contents);
|
| if (metrics_observer) {
|
| metrics_observer->OnRequestComplete(
|
| - request_id, resource_type, was_cached, used_data_reduction_proxy,
|
| - raw_body_bytes, original_content_length, request_creation_time);
|
| + url, render_frame_host->GetFrameTreeNodeId(), request_id, resource_type,
|
| + was_cached, used_data_reduction_proxy, raw_body_bytes,
|
| + original_content_length, request_creation_time);
|
| }
|
| }
|
|
|
| @@ -852,10 +860,11 @@ void ChromeResourceDispatcherHostDelegate::RequestComplete(
|
| BrowserThread::PostTask(
|
| BrowserThread::UI, FROM_HERE,
|
| base::Bind(&NotifyUIThreadOfRequestComplete,
|
| - info->GetWebContentsGetterForRequest(), url_request->url(),
|
| - info->GetGlobalRequestID(), info->GetResourceType(),
|
| - url_request->was_cached(), used_data_reduction_proxy,
|
| - net_error, url_request->GetTotalReceivedBytes(),
|
| + info->GetRenderFrameHostGetterForRequest(), url_request->url(),
|
| + info->GetGlobalRequestID(), info->GetFrameTreeNodeId(),
|
| + info->GetResourceType(), url_request->was_cached(),
|
| + used_data_reduction_proxy, net_error,
|
| + url_request->GetTotalReceivedBytes(),
|
| url_request->GetRawBodyBytes(), original_content_length,
|
| url_request->creation_time(),
|
| base::TimeTicks::Now() - url_request->creation_time()));
|
|
|