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 2cbf8e6d353a9c277220fa35a2aca1770fe87deb..addf140758d0f07afba42d7533ee0084a77a8baf 100644 |
--- a/chrome/browser/loader/chrome_resource_dispatcher_host_delegate.cc |
+++ b/chrome/browser/loader/chrome_resource_dispatcher_host_delegate.cc |
@@ -351,9 +351,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, |
@@ -364,9 +366,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); |
@@ -386,8 +393,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); |
} |
} |
@@ -857,10 +865,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())); |