| 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 3e110448df2e68be2b9f57aee15f3f5403f4630a..c78fe8f6c0cc731074d81ada297a8d64201b0726 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
|
| @@ -16,20 +16,21 @@
|
| #include "chrome/common/page_load_metrics/page_load_timing.h"
|
| #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_data.h"
|
| #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_pingback_client.h"
|
| #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_service.h"
|
| #include "components/data_reduction_proxy/core/common/data_reduction_proxy_page_load_timing.h"
|
| #include "components/data_reduction_proxy/core/common/data_reduction_proxy_params.h"
|
| #include "content/public/browser/browser_context.h"
|
| #include "content/public/browser/navigation_data.h"
|
| #include "content/public/browser/navigation_handle.h"
|
| #include "content/public/browser/web_contents.h"
|
| +#include "url/gurl.h"
|
|
|
| namespace data_reduction_proxy {
|
|
|
| namespace {
|
|
|
| bool ShouldRecordHistogram(const DataReductionProxyData* data,
|
| const base::Optional<base::TimeDelta>& event,
|
| const page_load_metrics::PageLoadExtraInfo& info) {
|
| return data && data->used_data_reduction_proxy() &&
|
| WasStartedInForegroundOptionalEventInForeground(event, info);
|
| @@ -103,20 +104,23 @@ void DataReductionProxyMetricsObserver::OnCommit(
|
| ChromeNavigationData* chrome_navigation_data =
|
| static_cast<ChromeNavigationData*>(
|
| navigation_handle->GetNavigationData());
|
| if (!chrome_navigation_data)
|
| return;
|
| data_reduction_proxy::DataReductionProxyData* data =
|
| chrome_navigation_data->GetDataReductionProxyData();
|
| if (!data)
|
| return;
|
| data_ = data->DeepCopy();
|
| + // DataReductionProxy page loads should only occur on HTTP navigations.
|
| + DCHECK(!data_->used_data_reduction_proxy() ||
|
| + !navigation_handle->GetURL().SchemeIsCryptographic());
|
| }
|
|
|
| void DataReductionProxyMetricsObserver::OnComplete(
|
| const page_load_metrics::PageLoadTiming& timing,
|
| const page_load_metrics::PageLoadExtraInfo& info) {
|
| // TODO(ryansturm): Move to OnFirstBackgroundEvent to handle some fast
|
| // shutdown cases. crbug.com/618072
|
| if (!browser_context_)
|
| return;
|
| if (!data_ || !data_->used_data_reduction_proxy())
|
|
|