Index: chrome/browser/page_load_metrics/observers/subresource_filter_metrics_observer.cc |
diff --git a/chrome/browser/page_load_metrics/observers/subresource_filter_metrics_observer.cc b/chrome/browser/page_load_metrics/observers/subresource_filter_metrics_observer.cc |
index fc22351bc7ddf618a3f56383715edc89aaaacd39..f691068538674fca5ac63be071c34f14eadcfc7b 100644 |
--- a/chrome/browser/page_load_metrics/observers/subresource_filter_metrics_observer.cc |
+++ b/chrome/browser/page_load_metrics/observers/subresource_filter_metrics_observer.cc |
@@ -4,10 +4,13 @@ |
#include "chrome/browser/page_load_metrics/observers/subresource_filter_metrics_observer.h" |
+#include "chrome/browser/browser_process.h" |
#include "chrome/browser/page_load_metrics/page_load_metrics_util.h" |
#include "components/subresource_filter/content/browser/content_subresource_filter_driver_factory.h" |
#include "components/subresource_filter/content/browser/subresource_filter_safe_browsing_activation_throttle.h" |
#include "components/subresource_filter/core/common/activation_decision.h" |
+#include "components/ukm/public/ukm_entry_builder.h" |
+#include "components/ukm/public/ukm_recorder.h" |
#include "third_party/WebKit/public/platform/WebLoadingBehaviorFlag.h" |
using subresource_filter::ContentSubresourceFilterDriverFactory; |
@@ -113,6 +116,9 @@ const char kHistogramSubresourceFilterActivationDecision[] = |
const char kHistogramSubresourceFilterActivationDecisionReload[] = |
"PageLoad.Clients.SubresourceFilter.ActivationDecision.LoadType.Reload"; |
+const char kUkmSubresourceFilterName[] = "SubresourceFilter"; |
+const char kUkmSubresourceFilterActivationDecision[] = "ActivationDecision"; |
+ |
} // namespace internal |
namespace { |
@@ -123,7 +129,6 @@ void LogActivationDecisionMetrics(content::NavigationHandle* navigation_handle, |
internal::kHistogramSubresourceFilterActivationDecision, |
static_cast<int>(decision), |
static_cast<int>(ActivationDecision::ACTIVATION_DECISION_MAX)); |
- |
if (SubresourceFilterSafeBrowsingActivationThrottle::NavigationIsPageReload( |
navigation_handle)) { |
UMA_HISTOGRAM_ENUMERATION( |
@@ -185,6 +190,16 @@ SubresourceFilterMetricsObserver::OnCommit( |
DCHECK(scoped_observer_.IsObservingSources()); |
LogActivationDecisionMetrics(navigation_handle, *activation_decision_); |
scoped_observer_.RemoveAll(); |
+ |
+ ukm::UkmRecorder* ukm_recorder = g_browser_process->ukm_recorder(); |
+ if (ukm_recorder) { |
+ std::unique_ptr<ukm::UkmEntryBuilder> builder = |
+ ukm_recorder->GetEntryBuilder(source_id, |
+ internal::kUkmSubresourceFilterName); |
+ builder->AddMetric(internal::kUkmSubresourceFilterActivationDecision, |
+ static_cast<int64_t>(*activation_decision_)); |
+ } |
+ |
return CONTINUE_OBSERVING; |
} |