Chromium Code Reviews| Index: chrome/browser/page_load_metrics/observers/data_reduction_proxy_metrics_observer.cc |
| diff --git a/chrome/browser/page_load_metrics/observers/data_reduction_proxy_metrics_observer.cc b/chrome/browser/page_load_metrics/observers/data_reduction_proxy_metrics_observer.cc |
| index 24dd8bde361f537be9133bbc4a702619669a511a..f5c01cdefc03332c95e2b1569803fed86920a16a 100644 |
| --- a/chrome/browser/page_load_metrics/observers/data_reduction_proxy_metrics_observer.cc |
| +++ b/chrome/browser/page_load_metrics/observers/data_reduction_proxy_metrics_observer.cc |
| @@ -118,7 +118,8 @@ DataReductionProxyMetricsObserver::DataReductionProxyMetricsObserver() |
| num_network_resources_(0), |
| original_network_bytes_(0), |
| network_bytes_proxied_(0), |
| - network_bytes_(0) {} |
| + network_bytes_(0), |
| + tab_identifier_key_(nullptr) {} |
| DataReductionProxyMetricsObserver::~DataReductionProxyMetricsObserver() {} |
| @@ -148,6 +149,7 @@ DataReductionProxyMetricsObserver::OnCommit( |
| chrome_navigation_data->GetDataReductionProxyData(); |
| if (!data || !data->used_data_reduction_proxy()) |
| return STOP_OBSERVING; |
| + tab_identifier_key_ = navigation_handle->GetWebContents(); |
|
Charlie Harrison
2017/04/20 14:09:00
This makes me really nervous. Is there any evidenc
RyanSturm
2017/04/20 15:37:57
I agree this is a little odd. How about I rework t
Charlie Harrison
2017/04/20 16:35:06
This approach sounds much better, though I'm not s
bengr
2017/04/20 17:36:18
Likewise, I'm not sure either.
RyanSturm
2017/04/20 20:25:44
Done.
|
| data_ = data->DeepCopy(); |
| // DataReductionProxy page loads should only occur on HTTP navigations. |
| DCHECK(!navigation_handle->GetURL().SchemeIsCryptographic()); |
| @@ -174,7 +176,7 @@ DataReductionProxyMetricsObserver::FlushMetricsOnAppEnterBackground( |
| // notification, so we send a pingback with data collected up to this point. |
| if (info.did_commit) { |
| RecordPageSizeUMA(); |
| - SendPingback(timing, info); |
| + SendPingback(timing, info, true /* app_background_occured */); |
| } |
| return STOP_OBSERVING; |
| } |
| @@ -183,7 +185,7 @@ void DataReductionProxyMetricsObserver::OnComplete( |
| const page_load_metrics::PageLoadTiming& timing, |
| const page_load_metrics::PageLoadExtraInfo& info) { |
| RecordPageSizeUMA(); |
| - SendPingback(timing, info); |
| + SendPingback(timing, info, false /* app_background_occured */); |
| } |
| void DataReductionProxyMetricsObserver::RecordPageSizeUMA() const { |
| @@ -271,7 +273,8 @@ void DataReductionProxyMetricsObserver::RecordPageSizeUMA() const { |
| void DataReductionProxyMetricsObserver::SendPingback( |
| const page_load_metrics::PageLoadTiming& timing, |
| - const page_load_metrics::PageLoadExtraInfo& info) { |
| + const page_load_metrics::PageLoadExtraInfo& info, |
| + bool app_background_occured) { |
|
bengr
2017/04/20 17:36:18
occurred!
RyanSturm
2017/04/20 20:25:44
Done.
|
| // TODO(ryansturm): Move to OnFirstBackgroundEvent to handle some fast |
| // shutdown cases. crbug.com/618072 |
| if (!browser_context_ || !data_) |
| @@ -324,8 +327,9 @@ void DataReductionProxyMetricsObserver::SendPingback( |
| first_image_paint, first_contentful_paint, |
| experimental_first_meaningful_paint, |
| parse_blocked_on_script_load_duration, parse_stop, network_bytes_, |
| - original_network_bytes_); |
| - GetPingbackClient()->SendPingback(*data_, data_reduction_proxy_timing); |
| + original_network_bytes_, app_background_occured); |
| + GetPingbackClient()->SendPingback(*data_, data_reduction_proxy_timing, |
| + tab_identifier_key_); |
| } |
| void DataReductionProxyMetricsObserver::OnDomContentLoadedEventStart( |
| @@ -414,6 +418,8 @@ void DataReductionProxyMetricsObserver::OnParseStop( |
| void DataReductionProxyMetricsObserver::OnLoadedResource( |
| const page_load_metrics::ExtraRequestInfo& extra_request_info) { |
| + if (extra_request_info.was_lofi_response) |
| + data_->set_lofi_received(true); |
| if (extra_request_info.was_cached) |
| return; |
| original_network_bytes_ += extra_request_info.original_network_content_length; |