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()) |