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; |