Chromium Code Reviews| 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 f34a99596684586f6fd870b85392677e2762b6e4..40c033f729bdaf13d7245588849fb250a52f8380 100644 |
| --- a/chrome/browser/page_load_metrics/metrics_web_contents_observer.cc |
| +++ b/chrome/browser/page_load_metrics/metrics_web_contents_observer.cc |
| @@ -259,6 +259,8 @@ PageLoadTracker::PageLoadTracker( |
| abort_type_(ABORT_NONE), |
| started_in_foreground_(in_foreground), |
| page_transition_(navigation_handle->GetPageTransition()), |
| + cache_requests_(0), |
| + network_requests_(0), |
| aborted_chain_size_(aborted_chain_size), |
| aborted_chain_size_same_url_(aborted_chain_size_same_url), |
| embedder_interface_(embedder_interface) { |
| @@ -478,6 +480,14 @@ bool PageLoadTracker::UpdateTiming(const PageLoadTiming& new_timing, |
| return false; |
| } |
| +void PageLoadTracker::OnLoadedSubresource(bool was_cached) { |
| + if (was_cached) { |
| + ++cache_requests_; |
| + } else { |
| + ++network_requests_; |
| + } |
| +} |
| + |
| void PageLoadTracker::StopTracking() { |
| did_stop_tracking_ = true; |
| } |
| @@ -545,7 +555,7 @@ PageLoadExtraInfo PageLoadTracker::ComputePageLoadExtraInfo() { |
| return PageLoadExtraInfo( |
| first_background_time, first_foreground_time, started_in_foreground_, |
| commit_time_.is_null() ? GURL() : url_, time_to_commit, abort_type_, |
| - time_to_abort, metadata_); |
| + time_to_abort, cache_requests_, network_requests_, metadata_); |
| } |
| void PageLoadTracker::NotifyAbort(UserAbortType abort_type, |
| @@ -732,6 +742,20 @@ void MetricsWebContentsObserver::WillStartNavigationRequest( |
| navigation_handle, chain_size, chain_size_same_url)))); |
| } |
| +void MetricsWebContentsObserver::OnRequestComplete( |
| + content::ResourceType resource_type, |
| + bool was_cached, |
| + int net_error) { |
| + // For simplicity, only count subresources. |
|
kinuko
2016/08/09 12:40:37
nit: this comment doesn't really say anything, wou
Charlie Harrison
2016/08/09 13:15:44
I added a comment. Essentially we do care about ma
|
| + if (resource_type == content::RESOURCE_TYPE_MAIN_FRAME && |
| + net_error != net::OK) { |
| + return; |
| + } |
| + if (!committed_load_) |
| + return; |
| + committed_load_->OnLoadedSubresource(was_cached); |
| +} |
| + |
| const PageLoadExtraInfo |
| MetricsWebContentsObserver::GetPageLoadExtraInfoForCommittedLoad() { |
| DCHECK(committed_load_); |