Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(333)

Unified Diff: chrome/browser/page_load_metrics/metrics_web_contents_observer.cc

Issue 2780003003: Send an event to the page load metrics to track resource starting. (Closed)
Patch Set: FREEZE.unindexed - took merge and fixed it up Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/page_load_metrics/metrics_web_contents_observer.cc
diff --git a/chrome/browser/page_load_metrics/metrics_web_contents_observer.cc b/chrome/browser/page_load_metrics/metrics_web_contents_observer.cc
index 3e41fa893e06c3249e92a862b19183e438b6c8f6..0d15216c24b23715201435999c527e6b5e2e46ba 100644
--- a/chrome/browser/page_load_metrics/metrics_web_contents_observer.cc
+++ b/chrome/browser/page_load_metrics/metrics_web_contents_observer.cc
@@ -252,6 +252,24 @@ PageLoadTracker* MetricsWebContentsObserver::GetTrackerOrNullForRequest(
return nullptr;
}
+void MetricsWebContentsObserver::OnRequestStarted(
+ const content::GlobalRequestID& request_id,
+ content::ResourceType resource_type,
+ base::TimeTicks creation_time) {
+ // Note for the main HTML page, the tracker may not exist yet, so
+ // OnStartedResource will not be called for the main page. While the main
+ // page is not being tracked today, if we do decide to track it, we will need
+ // to first make sure that GlobalRequestID is set in an earlier callback.
+ // TODO(bmcquade): Evaluate whether moving tracker creation to
+ // DidStartNavigation would address this.
+ PageLoadTracker* tracker =
+ GetTrackerOrNullForRequest(request_id, resource_type, creation_time);
+ if (tracker) {
+ ExtraRequestStartInfo extra_request_start_info(resource_type);
+ tracker->OnStartedResource(extra_request_start_info);
+ }
+}
+
void MetricsWebContentsObserver::OnRequestComplete(
const content::GlobalRequestID& request_id,
content::ResourceType resource_type,
@@ -264,10 +282,10 @@ void MetricsWebContentsObserver::OnRequestComplete(
PageLoadTracker* tracker =
GetTrackerOrNullForRequest(request_id, resource_type, creation_time);
if (tracker) {
- ExtraRequestInfo extra_request_info(
+ ExtraRequestCompleteInfo extra_request_complete_info(
was_cached, raw_body_bytes, was_cached ? 0 : original_content_length,
- std::move(data_reduction_proxy_data));
- tracker->OnLoadedResource(extra_request_info);
+ std::move(data_reduction_proxy_data), resource_type);
+ tracker->OnLoadedResource(extra_request_complete_info);
}
}

Powered by Google App Engine
This is Rietveld 408576698