Index: components/autofill/core/browser/autofill_metrics_unittest.cc |
diff --git a/components/autofill/core/browser/autofill_metrics_unittest.cc b/components/autofill/core/browser/autofill_metrics_unittest.cc |
index ea8e7378052a2a904ca274ea1832fbc6c7854de6..4a01b13d51d3b7ceb9613307d41f1821cc326a52 100644 |
--- a/components/autofill/core/browser/autofill_metrics_unittest.cc |
+++ b/components/autofill/core/browser/autofill_metrics_unittest.cc |
@@ -34,15 +34,13 @@ |
#include "components/autofill/core/browser/webdata/autofill_webdata_service.h" |
#include "components/autofill/core/common/form_data.h" |
#include "components/autofill/core/common/form_field_data.h" |
-#include "components/metrics/proto/ukm/entry.pb.h" |
#include "components/prefs/pref_service.h" |
#include "components/rappor/test_rappor_service.h" |
#include "components/signin/core/browser/account_tracker_service.h" |
#include "components/signin/core/browser/fake_signin_manager.h" |
#include "components/signin/core/browser/test_signin_client.h" |
#include "components/signin/core/common/signin_pref_names.h" |
-#include "components/ukm/test_ukm_service.h" |
-#include "components/ukm/ukm_entry.h" |
+#include "components/ukm/test_ukm_recorder.h" |
#include "components/ukm/ukm_source.h" |
#include "components/webdata/common/web_data_results.h" |
#include "testing/gmock/include/gmock/gmock.h" |
@@ -310,36 +308,22 @@ class TestAutofillManager : public AutofillManager { |
DISALLOW_COPY_AND_ASSIGN(TestAutofillManager); |
}; |
-// Finds the specified UKM metric by |name| in the specified UKM |metrics|. |
-const ukm::Entry_Metric* FindMetric( |
- const char* name, |
- const google::protobuf::RepeatedPtrField<ukm::Entry_Metric>& metrics) { |
- for (const auto& metric : metrics) { |
- if (metric.metric_hash() == base::HashMetricName(name)) |
- return &metric; |
- } |
- return nullptr; |
-} |
- |
MATCHER(CompareMetrics, "") { |
- const ukm::Entry_Metric& lhs = ::testing::get<0>(arg); |
+ const ukm::mojom::UkmMetric* lhs = ::testing::get<0>(arg).get(); |
const std::pair<const char*, int64_t>& rhs = ::testing::get<1>(arg); |
- return lhs.metric_hash() == base::HashMetricName(rhs.first) && |
- lhs.value() == rhs.second; |
+ return lhs->metric_hash == base::HashMetricName(rhs.first) && |
+ lhs->value == rhs.second; |
} |
void VerifyDeveloperEngagementUkm( |
const FormData& form, |
- const ukm::TestUkmService* ukm_service, |
+ const ukm::TestUkmRecorder* ukm_recorder, |
const std::vector<int64_t>& expected_metric_values) { |
- const ukm::UkmEntry* entry = ukm_service->GetEntryForEntryName( |
+ const ukm::mojom::UkmEntry* entry = ukm_recorder->GetEntryForEntryName( |
internal::kUKMDeveloperEngagementEntryName); |
ASSERT_NE(nullptr, entry); |
- ukm::Entry entry_proto; |
- entry->PopulateProto(&entry_proto); |
- |
const ukm::UkmSource* source = |
- ukm_service->GetSourceForSourceId(entry_proto.source_id()); |
+ ukm_recorder->GetSourceForSourceId(entry->source_id); |
ASSERT_NE(nullptr, source); |
EXPECT_EQ(form.origin, source->url()); |
@@ -350,52 +334,49 @@ void VerifyDeveloperEngagementUkm( |
const std::vector<std::pair<const char*, int64_t>> expected_metrics{ |
{internal::kUKMDeveloperEngagementMetricName, expected_metric_value}}; |
- EXPECT_THAT(entry_proto.metrics(), |
+ EXPECT_THAT(entry->metrics, |
UnorderedPointwise(CompareMetrics(), expected_metrics)); |
} |
MATCHER(CompareMetricsIgnoringMillisecondsSinceFormLoaded, "") { |
- const ukm::Entry_Metric& lhs = ::testing::get<0>(arg); |
+ const ukm::mojom::UkmMetric* lhs = ::testing::get<0>(arg).get(); |
const std::pair<const char*, int64_t>& rhs = ::testing::get<1>(arg); |
- return lhs.metric_hash() == base::HashMetricName(rhs.first) && |
- (lhs.value() == rhs.second || |
- (lhs.value() > 0 && |
+ return lhs->metric_hash == base::HashMetricName(rhs.first) && |
+ (lhs->value == rhs.second || |
+ (lhs->value > 0 && |
rhs.first == internal::kUKMMillisecondsSinceFormLoadedMetricName)); |
} |
void VerifyFormInteractionUkm( |
const FormData& form, |
- const ukm::TestUkmService* ukm_service, |
+ const ukm::TestUkmRecorder* ukm_recorder, |
const char* event_name, |
const std::vector<std::vector<std::pair<const char*, int64_t>>>& |
expected_metrics) { |
size_t expected_metrics_index = 0; |
- for (size_t i = 0; i < ukm_service->entries_count(); ++i) { |
- const ukm::UkmEntry* entry = ukm_service->GetEntry(i); |
- if (entry->event_hash() != base::HashMetricName(event_name)) |
+ for (size_t i = 0; i < ukm_recorder->entries_count(); ++i) { |
+ const ukm::mojom::UkmEntry* entry = ukm_recorder->GetEntry(i); |
+ if (entry->event_hash != base::HashMetricName(event_name)) |
continue; |
- ukm::Entry entry_proto; |
- entry->PopulateProto(&entry_proto); |
- |
const ukm::UkmSource* source = |
- ukm_service->GetSourceForSourceId(entry_proto.source_id()); |
+ ukm_recorder->GetSourceForSourceId(entry->source_id); |
ASSERT_NE(nullptr, source); |
EXPECT_EQ(form.origin, source->url()); |
ASSERT_LT(expected_metrics_index, expected_metrics.size()); |
EXPECT_THAT( |
- entry_proto.metrics(), |
+ entry->metrics, |
UnorderedPointwise(CompareMetricsIgnoringMillisecondsSinceFormLoaded(), |
expected_metrics[expected_metrics_index++])); |
} |
} |
void VerifySubmitFormUkm(const FormData& form, |
- const ukm::TestUkmService* ukm_service, |
+ const ukm::TestUkmRecorder* ukm_recorder, |
AutofillMetrics::AutofillFormSubmittedState state) { |
VerifyFormInteractionUkm( |
- form, ukm_service, internal::kUKMFormSubmittedEntryName, |
+ form, ukm_recorder, internal::kUKMFormSubmittedEntryName, |
{{{internal::kUKMAutofillFormSubmittedStateMetricName, state}, |
{internal::kUKMMillisecondsSinceFormLoadedMetricName, 0}}}); |
} |
@@ -477,7 +458,7 @@ void AutofillMetricsTest::TearDown() { |
account_tracker_.reset(); |
signin_client_.reset(); |
test::ReenableSystemServices(); |
- autofill_client_.GetTestUkmService()->Purge(); |
+ autofill_client_.GetTestUkmRecorder()->Purge(); |
} |
void AutofillMetricsTest::EnableWalletSync() { |
@@ -974,7 +955,7 @@ TEST_F(AutofillMetricsTest, QualityMetrics_BasedOnAutocomplete) { |
std::unique_ptr<TestFormStructure> form_structure = |
base::MakeUnique<TestFormStructure>(form); |
TestFormStructure* form_structure_ptr = form_structure.get(); |
- form_structure->DetermineHeuristicTypes(nullptr /* ukm_service */); |
+ form_structure->DetermineHeuristicTypes(nullptr /* ukm_recorder */); |
autofill_manager_->form_structures()->push_back(std::move(form_structure)); |
AutofillQueryResponseContents response; |
@@ -1631,9 +1612,9 @@ TEST_F(AutofillMetricsTest, NumberOfEditedAutofilledFields) { |
"Autofill.NumberOfEditedAutofilledFieldsAtSubmission", 2, 1); |
// UKM must not be logged unless enabled. |
- ukm::TestUkmService* ukm_service = autofill_client_.GetTestUkmService(); |
- EXPECT_EQ(0U, ukm_service->sources_count()); |
- EXPECT_EQ(0U, ukm_service->entries_count()); |
+ ukm::TestUkmRecorder* ukm_recorder = autofill_client_.GetTestUkmRecorder(); |
+ EXPECT_EQ(0U, ukm_recorder->sources_count()); |
+ EXPECT_EQ(0U, ukm_recorder->entries_count()); |
} |
// Verify that when resetting the autofill manager (such as during a |
@@ -1688,7 +1669,7 @@ TEST_F(AutofillMetricsTest, NumberOfEditedAutofilledFields_NoSubmission) { |
// Verify that we correctly log metrics regarding developer engagement. |
TEST_F(AutofillMetricsTest, DeveloperEngagement) { |
- ukm::TestUkmService* ukm_service = autofill_client_.GetTestUkmService(); |
+ ukm::TestUkmRecorder* ukm_recorder = autofill_client_.GetTestUkmRecorder(); |
// Start with a non-fillable form. |
FormData form; |
@@ -1712,8 +1693,8 @@ TEST_F(AutofillMetricsTest, DeveloperEngagement) { |
histogram_tester.ExpectTotalCount("Autofill.DeveloperEngagement", 0); |
// UKM must not be logged unless enabled. |
- EXPECT_EQ(0U, ukm_service->sources_count()); |
- EXPECT_EQ(0U, ukm_service->entries_count()); |
+ EXPECT_EQ(0U, ukm_recorder->sources_count()); |
+ EXPECT_EQ(0U, ukm_recorder->entries_count()); |
} |
// Add another field to the form, so that it becomes fillable. |
@@ -1730,8 +1711,8 @@ TEST_F(AutofillMetricsTest, DeveloperEngagement) { |
AutofillMetrics::FILLABLE_FORM_PARSED_WITHOUT_TYPE_HINTS, 1); |
// UKM must not be logged unless enabled. |
- EXPECT_EQ(0U, ukm_service->sources_count()); |
- EXPECT_EQ(0U, ukm_service->entries_count()); |
+ EXPECT_EQ(0U, ukm_recorder->sources_count()); |
+ EXPECT_EQ(0U, ukm_recorder->entries_count()); |
} |
// Add some fields with an author-specified field type to the form. |
@@ -1759,8 +1740,8 @@ TEST_F(AutofillMetricsTest, DeveloperEngagement) { |
AutofillMetrics::FILLABLE_FORM_PARSED_WITH_TYPE_HINTS, 1); |
// UKM must not be logged unless enabled. |
- EXPECT_EQ(0U, ukm_service->sources_count()); |
- EXPECT_EQ(0U, ukm_service->entries_count()); |
+ EXPECT_EQ(0U, ukm_recorder->sources_count()); |
+ EXPECT_EQ(0U, ukm_recorder->entries_count()); |
histogram_tester.ExpectBucketCount( |
"Autofill.DeveloperEngagement", |
@@ -1792,7 +1773,7 @@ TEST_F(AutofillMetricsTest, DeveloperEngagement) { |
TEST_F(AutofillMetricsTest, |
UkmDeveloperEngagement_LogFillableFormParsedWithoutTypeHints) { |
EnableUkmLogging(); |
- ukm::TestUkmService* ukm_service = autofill_client_.GetTestUkmService(); |
+ ukm::TestUkmRecorder* ukm_recorder = autofill_client_.GetTestUkmRecorder(); |
// Start with a non-fillable form. |
FormData form; |
@@ -1813,8 +1794,8 @@ TEST_F(AutofillMetricsTest, |
autofill_manager_->OnFormsSeen(forms, TimeTicks::Now()); |
autofill_manager_->Reset(); |
- EXPECT_EQ(0U, ukm_service->sources_count()); |
- EXPECT_EQ(0U, ukm_service->entries_count()); |
+ EXPECT_EQ(0U, ukm_recorder->sources_count()); |
+ EXPECT_EQ(0U, ukm_recorder->entries_count()); |
} |
// Add another field to the form, so that it becomes fillable. |
@@ -1827,10 +1808,10 @@ TEST_F(AutofillMetricsTest, |
autofill_manager_->OnFormsSeen(forms, TimeTicks::Now()); |
autofill_manager_->Reset(); |
- ASSERT_EQ(1U, ukm_service->entries_count()); |
- ASSERT_EQ(1U, ukm_service->sources_count()); |
+ ASSERT_EQ(1U, ukm_recorder->entries_count()); |
+ ASSERT_EQ(1U, ukm_recorder->sources_count()); |
VerifyDeveloperEngagementUkm( |
- form, ukm_service, |
+ form, ukm_recorder, |
{AutofillMetrics::FILLABLE_FORM_PARSED_WITHOUT_TYPE_HINTS}); |
} |
} |
@@ -1840,7 +1821,7 @@ TEST_F(AutofillMetricsTest, |
TEST_F(AutofillMetricsTest, |
UkmDeveloperEngagement_LogFillableFormParsedWithTypeHints) { |
EnableUkmLogging(); |
- ukm::TestUkmService* ukm_service = autofill_client_.GetTestUkmService(); |
+ ukm::TestUkmRecorder* ukm_recorder = autofill_client_.GetTestUkmRecorder(); |
FormData form; |
form.name = ASCIIToUTF16("TestForm"); |
@@ -1880,10 +1861,10 @@ TEST_F(AutofillMetricsTest, |
autofill_manager_->OnFormsSeen(forms, TimeTicks::Now()); |
autofill_manager_->Reset(); |
- ASSERT_EQ(1U, ukm_service->entries_count()); |
- ASSERT_EQ(1U, ukm_service->sources_count()); |
+ ASSERT_EQ(1U, ukm_recorder->entries_count()); |
+ ASSERT_EQ(1U, ukm_recorder->sources_count()); |
VerifyDeveloperEngagementUkm( |
- form, ukm_service, |
+ form, ukm_recorder, |
{AutofillMetrics::FILLABLE_FORM_PARSED_WITH_TYPE_HINTS}); |
} |
} |
@@ -1892,7 +1873,7 @@ TEST_F(AutofillMetricsTest, |
// developer engagement. |
TEST_F(AutofillMetricsTest, UkmDeveloperEngagement_LogUpiVpaTypeHint) { |
EnableUkmLogging(); |
- ukm::TestUkmService* ukm_service = autofill_client_.GetTestUkmService(); |
+ ukm::TestUkmRecorder* ukm_recorder = autofill_client_.GetTestUkmRecorder(); |
FormData form; |
form.name = ASCIIToUTF16("TestForm"); |
@@ -1916,11 +1897,11 @@ TEST_F(AutofillMetricsTest, UkmDeveloperEngagement_LogUpiVpaTypeHint) { |
autofill_manager_->OnFormsSeen(forms, TimeTicks::Now()); |
autofill_manager_->Reset(); |
- ASSERT_EQ(1U, ukm_service->entries_count()); |
- ASSERT_EQ(1U, ukm_service->sources_count()); |
- VerifyDeveloperEngagementUkm(form, ukm_service, |
+ ASSERT_EQ(1U, ukm_recorder->entries_count()); |
+ ASSERT_EQ(1U, ukm_recorder->sources_count()); |
+ VerifyDeveloperEngagementUkm(form, ukm_recorder, |
{AutofillMetrics::FORM_CONTAINS_UPI_VPA_HINT}); |
- ukm_service->Purge(); |
+ ukm_recorder->Purge(); |
} |
// Add another field with an author-specified field type to the form. |
@@ -1933,7 +1914,7 @@ TEST_F(AutofillMetricsTest, UkmDeveloperEngagement_LogUpiVpaTypeHint) { |
autofill_manager_->Reset(); |
VerifyDeveloperEngagementUkm( |
- form, ukm_service, |
+ form, ukm_recorder, |
{AutofillMetrics::FILLABLE_FORM_PARSED_WITH_TYPE_HINTS, |
AutofillMetrics::FORM_CONTAINS_UPI_VPA_HINT}); |
} |
@@ -2119,7 +2100,7 @@ TEST_F(AutofillMetricsTest, AddressSuggestionsCount) { |
// Test that the credit card checkout flow user actions are correctly logged. |
TEST_F(AutofillMetricsTest, CreditCardCheckoutFlowUserActions) { |
EnableUkmLogging(); |
- ukm::TestUkmService* ukm_service = autofill_client_.GetTestUkmService(); |
+ ukm::TestUkmRecorder* ukm_recorder = autofill_client_.GetTestUkmRecorder(); |
personal_data_->RecreateCreditCards( |
true /* include_local_credit_card */, |
@@ -2198,27 +2179,27 @@ TEST_F(AutofillMetricsTest, CreditCardCheckoutFlowUserActions) { |
} |
VerifyFormInteractionUkm( |
- form, ukm_service, internal::kUKMSuggestionsShownEntryName, |
+ form, ukm_recorder, internal::kUKMSuggestionsShownEntryName, |
{{{internal::kUKMMillisecondsSinceFormLoadedMetricName, 0}}}); |
// Expect 2 |FORM_EVENT_LOCAL_SUGGESTION_FILLED| events. First, from |
// call to |external_delegate_->DidAcceptSuggestion|. Second, from call to |
// |autofill_manager_->FillOrPreviewForm|. |
VerifyFormInteractionUkm( |
- form, ukm_service, internal::kUKMSuggestionFilledEntryName, |
+ form, ukm_recorder, internal::kUKMSuggestionFilledEntryName, |
{{{internal::kUKMRecordTypeMetricName, CreditCard::LOCAL_CARD}, |
{internal::kUKMMillisecondsSinceFormLoadedMetricName, 0}}, |
{{internal::kUKMRecordTypeMetricName, CreditCard::LOCAL_CARD}, |
{internal::kUKMMillisecondsSinceFormLoadedMetricName, 0}}}); |
// Expect |NON_FILLABLE_FORM_OR_NEW_DATA| in |AutofillFormSubmittedState| |
// because |field.value| is empty in |DeterminePossibleFieldTypesForUpload|. |
- VerifySubmitFormUkm(form, ukm_service, |
+ VerifySubmitFormUkm(form, ukm_recorder, |
AutofillMetrics::NON_FILLABLE_FORM_OR_NEW_DATA); |
} |
// Test that the profile checkout flow user actions are correctly logged. |
TEST_F(AutofillMetricsTest, ProfileCheckoutFlowUserActions) { |
EnableUkmLogging(); |
- ukm::TestUkmService* ukm_service = autofill_client_.GetTestUkmService(); |
+ ukm::TestUkmRecorder* ukm_recorder = autofill_client_.GetTestUkmRecorder(); |
// Create a profile. |
personal_data_->RecreateProfile(); |
@@ -2295,20 +2276,20 @@ TEST_F(AutofillMetricsTest, ProfileCheckoutFlowUserActions) { |
} |
VerifyFormInteractionUkm( |
- form, ukm_service, internal::kUKMSuggestionsShownEntryName, |
+ form, ukm_recorder, internal::kUKMSuggestionsShownEntryName, |
{{{internal::kUKMMillisecondsSinceFormLoadedMetricName, 0}}}); |
// Expect 2 |FORM_EVENT_LOCAL_SUGGESTION_FILLED| events. First, from |
// call to |external_delegate_->DidAcceptSuggestion|. Second, from call to |
// |autofill_manager_->FillOrPreviewForm|. |
VerifyFormInteractionUkm( |
- form, ukm_service, internal::kUKMSuggestionFilledEntryName, |
+ form, ukm_recorder, internal::kUKMSuggestionFilledEntryName, |
{{{internal::kUKMRecordTypeMetricName, AutofillProfile::LOCAL_PROFILE}, |
{internal::kUKMMillisecondsSinceFormLoadedMetricName, 0}}, |
{{internal::kUKMRecordTypeMetricName, AutofillProfile::LOCAL_PROFILE}, |
{internal::kUKMMillisecondsSinceFormLoadedMetricName, 0}}}); |
// Expect |NON_FILLABLE_FORM_OR_NEW_DATA| in |AutofillFormSubmittedState| |
// because |field.value| is empty in |DeterminePossibleFieldTypesForUpload|. |
- VerifySubmitFormUkm(form, ukm_service, |
+ VerifySubmitFormUkm(form, ukm_recorder, |
AutofillMetrics::NON_FILLABLE_FORM_OR_NEW_DATA); |
} |
@@ -2601,9 +2582,9 @@ TEST_F(AutofillMetricsTest, CreditCardShownFormEvents) { |
} |
// UKM must not be logged unless enabled. |
- ukm::TestUkmService* ukm_service = autofill_client_.GetTestUkmService(); |
- EXPECT_EQ(0U, ukm_service->sources_count()); |
- EXPECT_EQ(0U, ukm_service->entries_count()); |
+ ukm::TestUkmRecorder* ukm_recorder = autofill_client_.GetTestUkmRecorder(); |
+ EXPECT_EQ(0U, ukm_recorder->sources_count()); |
+ EXPECT_EQ(0U, ukm_recorder->entries_count()); |
} |
// Test that we log selected form event for credit cards. |
@@ -2871,7 +2852,7 @@ TEST_F(AutofillMetricsTest, CreditCardGetRealPanDuration) { |
// Test that we log submitted form events for credit cards. |
TEST_F(AutofillMetricsTest, CreditCardSubmittedFormEvents) { |
EnableUkmLogging(); |
- ukm::TestUkmService* ukm_service = autofill_client_.GetTestUkmService(); |
+ ukm::TestUkmRecorder* ukm_recorder = autofill_client_.GetTestUkmRecorder(); |
EnableWalletSync(); |
// Creating all kinds of cards. |
@@ -2913,13 +2894,13 @@ TEST_F(AutofillMetricsTest, CreditCardSubmittedFormEvents) { |
"Autofill.FormEvents.CreditCard", |
AutofillMetrics::FORM_EVENT_NO_SUGGESTION_SUBMITTED_ONCE, 1); |
- VerifySubmitFormUkm(form, ukm_service, |
+ VerifySubmitFormUkm(form, ukm_recorder, |
AutofillMetrics::NON_FILLABLE_FORM_OR_NEW_DATA); |
} |
// Reset the autofill manager state and purge UKM logs. |
autofill_manager_->Reset(); |
- ukm_service->Purge(); |
+ ukm_recorder->Purge(); |
autofill_manager_->AddSeenForm(form, field_types, field_types); |
@@ -2937,15 +2918,15 @@ TEST_F(AutofillMetricsTest, CreditCardSubmittedFormEvents) { |
AutofillMetrics::FORM_EVENT_SUGGESTION_SHOWN_WILL_SUBMIT_ONCE, 1); |
VerifyFormInteractionUkm( |
- form, ukm_service, internal::kUKMSuggestionsShownEntryName, |
+ form, ukm_recorder, internal::kUKMSuggestionsShownEntryName, |
{{{internal::kUKMMillisecondsSinceFormLoadedMetricName, 0}}}); |
- VerifySubmitFormUkm(form, ukm_service, |
+ VerifySubmitFormUkm(form, ukm_recorder, |
AutofillMetrics::NON_FILLABLE_FORM_OR_NEW_DATA); |
} |
// Reset the autofill manager state and purge UKM logs. |
autofill_manager_->Reset(); |
- ukm_service->Purge(); |
+ ukm_recorder->Purge(); |
autofill_manager_->AddSeenForm(form, field_types, field_types); |
@@ -2966,16 +2947,16 @@ TEST_F(AutofillMetricsTest, CreditCardSubmittedFormEvents) { |
AutofillMetrics::FORM_EVENT_LOCAL_SUGGESTION_SUBMITTED_ONCE, 1); |
VerifyFormInteractionUkm( |
- form, ukm_service, internal::kUKMSuggestionFilledEntryName, |
+ form, ukm_recorder, internal::kUKMSuggestionFilledEntryName, |
{{{internal::kUKMRecordTypeMetricName, CreditCard::LOCAL_CARD}, |
{internal::kUKMMillisecondsSinceFormLoadedMetricName, 0}}}); |
- VerifySubmitFormUkm(form, ukm_service, |
+ VerifySubmitFormUkm(form, ukm_recorder, |
AutofillMetrics::NON_FILLABLE_FORM_OR_NEW_DATA); |
} |
// Reset the autofill manager state and purge UKM logs. |
autofill_manager_->Reset(); |
- ukm_service->Purge(); |
+ ukm_recorder->Purge(); |
autofill_manager_->AddSeenForm(form, field_types, field_types); |
@@ -2997,16 +2978,16 @@ TEST_F(AutofillMetricsTest, CreditCardSubmittedFormEvents) { |
AutofillMetrics::FORM_EVENT_SERVER_SUGGESTION_SUBMITTED_ONCE, 1); |
VerifyFormInteractionUkm( |
- form, ukm_service, internal::kUKMSuggestionFilledEntryName, |
+ form, ukm_recorder, internal::kUKMSuggestionFilledEntryName, |
{{{internal::kUKMRecordTypeMetricName, CreditCard::FULL_SERVER_CARD}, |
{internal::kUKMMillisecondsSinceFormLoadedMetricName, 0}}}); |
- VerifySubmitFormUkm(form, ukm_service, |
+ VerifySubmitFormUkm(form, ukm_recorder, |
AutofillMetrics::NON_FILLABLE_FORM_OR_NEW_DATA); |
} |
// Reset the autofill manager state and purge UKM logs. |
autofill_manager_->Reset(); |
- ukm_service->Purge(); |
+ ukm_recorder->Purge(); |
autofill_manager_->AddSeenForm(form, field_types, field_types); |
@@ -3030,19 +3011,19 @@ TEST_F(AutofillMetricsTest, CreditCardSubmittedFormEvents) { |
1); |
VerifyFormInteractionUkm( |
- form, ukm_service, internal::kUKMSuggestionFilledEntryName, |
+ form, ukm_recorder, internal::kUKMSuggestionFilledEntryName, |
{{{internal::kUKMRecordTypeMetricName, CreditCard::MASKED_SERVER_CARD}, |
{internal::kUKMMillisecondsSinceFormLoadedMetricName, 0}}}); |
VerifyFormInteractionUkm( |
- form, ukm_service, internal::kUKMSelectedMaskedServerCardEntryName, |
+ form, ukm_recorder, internal::kUKMSelectedMaskedServerCardEntryName, |
{{{internal::kUKMMillisecondsSinceFormLoadedMetricName, 0}}}); |
- VerifySubmitFormUkm(form, ukm_service, |
+ VerifySubmitFormUkm(form, ukm_recorder, |
AutofillMetrics::NON_FILLABLE_FORM_OR_NEW_DATA); |
} |
// Reset the autofill manager state and purge UKM logs. |
autofill_manager_->Reset(); |
- ukm_service->Purge(); |
+ ukm_recorder->Purge(); |
// Recreating cards as the previous test should have upgraded the masked |
// card to a full card. |
@@ -3062,7 +3043,7 @@ TEST_F(AutofillMetricsTest, CreditCardSubmittedFormEvents) { |
autofill_manager_->SubmitForm(form, TimeTicks::Now()); |
VerifyFormInteractionUkm( |
- form, ukm_service, internal::kUKMFormSubmittedEntryName, |
+ form, ukm_recorder, internal::kUKMFormSubmittedEntryName, |
{{{internal::kUKMAutofillFormSubmittedStateMetricName, |
AutofillMetrics::NON_FILLABLE_FORM_OR_NEW_DATA}, |
{internal::kUKMMillisecondsSinceFormLoadedMetricName, 0}}}); |
@@ -3070,7 +3051,7 @@ TEST_F(AutofillMetricsTest, CreditCardSubmittedFormEvents) { |
autofill_manager_->SubmitForm(form, TimeTicks::Now()); |
VerifyFormInteractionUkm( |
- form, ukm_service, internal::kUKMFormSubmittedEntryName, |
+ form, ukm_recorder, internal::kUKMFormSubmittedEntryName, |
{{{internal::kUKMAutofillFormSubmittedStateMetricName, |
AutofillMetrics::NON_FILLABLE_FORM_OR_NEW_DATA}, |
{internal::kUKMMillisecondsSinceFormLoadedMetricName, 0}}, |
@@ -3116,7 +3097,7 @@ TEST_F(AutofillMetricsTest, CreditCardSubmittedFormEvents) { |
// Reset the autofill manager state and purge UKM logs. |
autofill_manager_->Reset(); |
- ukm_service->Purge(); |
+ ukm_recorder->Purge(); |
autofill_manager_->AddSeenForm(form, field_types, field_types); |
@@ -3162,9 +3143,9 @@ TEST_F(AutofillMetricsTest, CreditCardSubmittedFormEvents) { |
0); |
VerifyFormInteractionUkm( |
- form, ukm_service, internal::kUKMSuggestionsShownEntryName, |
+ form, ukm_recorder, internal::kUKMSuggestionsShownEntryName, |
{{{internal::kUKMMillisecondsSinceFormLoadedMetricName, 0}}}); |
- VerifySubmitFormUkm(form, ukm_service, |
+ VerifySubmitFormUkm(form, ukm_recorder, |
AutofillMetrics::NON_FILLABLE_FORM_OR_NEW_DATA); |
} |
} |
@@ -3588,7 +3569,7 @@ TEST_F(AutofillMetricsTest, AddressFilledFormEvents) { |
// Test that we log submitted form events for address. |
TEST_F(AutofillMetricsTest, AddressSubmittedFormEvents) { |
EnableUkmLogging(); |
- ukm::TestUkmService* ukm_service = autofill_client_.GetTestUkmService(); |
+ ukm::TestUkmRecorder* ukm_recorder = autofill_client_.GetTestUkmRecorder(); |
EnableWalletSync(); |
// Create a profile. |
@@ -3627,13 +3608,13 @@ TEST_F(AutofillMetricsTest, AddressSubmittedFormEvents) { |
"Autofill.FormEvents.Address", |
AutofillMetrics::FORM_EVENT_NO_SUGGESTION_SUBMITTED_ONCE, 1); |
- VerifySubmitFormUkm(form, ukm_service, |
+ VerifySubmitFormUkm(form, ukm_recorder, |
AutofillMetrics::NON_FILLABLE_FORM_OR_NEW_DATA); |
} |
// Reset the autofill manager state and purge UKM logs. |
autofill_manager_->Reset(); |
- ukm_service->Purge(); |
+ ukm_recorder->Purge(); |
autofill_manager_->AddSeenForm(form, field_types, field_types); |
@@ -4129,7 +4110,7 @@ TEST_F(AutofillMetricsTest, DaysSinceLastUse_Profile) { |
// Verify that we correctly log the submitted form's state. |
TEST_F(AutofillMetricsTest, AutofillFormSubmittedState) { |
EnableUkmLogging(); |
- ukm::TestUkmService* ukm_service = autofill_client_.GetTestUkmService(); |
+ ukm::TestUkmRecorder* ukm_recorder = autofill_client_.GetTestUkmRecorder(); |
// Start with a form with insufficiently many fields. |
FormData form; |
@@ -4174,12 +4155,12 @@ TEST_F(AutofillMetricsTest, AutofillFormSubmittedState) { |
// Expect an entry for |DeveloperEngagement| and an entry for form |
// interactions. Both entries are for the same URL. |
- ASSERT_EQ(2U, ukm_service->entries_count()); |
- ASSERT_EQ(2U, ukm_service->sources_count()); |
+ ASSERT_EQ(2U, ukm_recorder->entries_count()); |
+ ASSERT_EQ(2U, ukm_recorder->sources_count()); |
VerifyDeveloperEngagementUkm( |
- form, ukm_service, |
+ form, ukm_recorder, |
{AutofillMetrics::FILLABLE_FORM_PARSED_WITHOUT_TYPE_HINTS}); |
- VerifyFormInteractionUkm(form, ukm_service, |
+ VerifyFormInteractionUkm(form, ukm_recorder, |
internal::kUKMFormSubmittedEntryName, |
expected_form_submission_ukm_metrics); |
} |
@@ -4203,7 +4184,7 @@ TEST_F(AutofillMetricsTest, AutofillFormSubmittedState) { |
{{internal::kUKMAutofillFormSubmittedStateMetricName, |
AutofillMetrics::NON_FILLABLE_FORM_OR_NEW_DATA}, |
{internal::kUKMMillisecondsSinceFormLoadedMetricName, 0}}); |
- VerifyFormInteractionUkm(form, ukm_service, |
+ VerifyFormInteractionUkm(form, ukm_recorder, |
internal::kUKMFormSubmittedEntryName, |
expected_form_submission_ukm_metrics); |
} |
@@ -4229,7 +4210,7 @@ TEST_F(AutofillMetricsTest, AutofillFormSubmittedState) { |
AutofillMetrics:: |
FILLABLE_FORM_AUTOFILLED_NONE_DID_NOT_SHOW_SUGGESTIONS}, |
{internal::kUKMMillisecondsSinceFormLoadedMetricName, 0}}); |
- VerifyFormInteractionUkm(form, ukm_service, |
+ VerifyFormInteractionUkm(form, ukm_recorder, |
internal::kUKMFormSubmittedEntryName, |
expected_form_submission_ukm_metrics); |
} |
@@ -4247,13 +4228,13 @@ TEST_F(AutofillMetricsTest, AutofillFormSubmittedState) { |
"Autofill_FormSubmitted_FilledNone_SuggestionsShown")); |
VerifyFormInteractionUkm( |
- form, ukm_service, internal::kUKMSuggestionsShownEntryName, |
+ form, ukm_recorder, internal::kUKMSuggestionsShownEntryName, |
{{{internal::kUKMMillisecondsSinceFormLoadedMetricName, 0}}}); |
expected_form_submission_ukm_metrics.push_back( |
{{internal::kUKMAutofillFormSubmittedStateMetricName, |
AutofillMetrics::FILLABLE_FORM_AUTOFILLED_NONE_DID_SHOW_SUGGESTIONS}, |
{internal::kUKMMillisecondsSinceFormLoadedMetricName, 0}}); |
- VerifyFormInteractionUkm(form, ukm_service, |
+ VerifyFormInteractionUkm(form, ukm_recorder, |
internal::kUKMFormSubmittedEntryName, |
expected_form_submission_ukm_metrics); |
} |
@@ -4277,7 +4258,7 @@ TEST_F(AutofillMetricsTest, AutofillFormSubmittedState) { |
{{internal::kUKMAutofillFormSubmittedStateMetricName, |
AutofillMetrics::FILLABLE_FORM_AUTOFILLED_SOME}, |
{internal::kUKMMillisecondsSinceFormLoadedMetricName, 0}}); |
- VerifyFormInteractionUkm(form, ukm_service, |
+ VerifyFormInteractionUkm(form, ukm_recorder, |
internal::kUKMFormSubmittedEntryName, |
expected_form_submission_ukm_metrics); |
} |
@@ -4302,7 +4283,7 @@ TEST_F(AutofillMetricsTest, AutofillFormSubmittedState) { |
{{internal::kUKMAutofillFormSubmittedStateMetricName, |
AutofillMetrics::FILLABLE_FORM_AUTOFILLED_ALL}, |
{internal::kUKMMillisecondsSinceFormLoadedMetricName, 0}}); |
- VerifyFormInteractionUkm(form, ukm_service, |
+ VerifyFormInteractionUkm(form, ukm_recorder, |
internal::kUKMFormSubmittedEntryName, |
expected_form_submission_ukm_metrics); |
} |
@@ -4326,7 +4307,7 @@ TEST_F(AutofillMetricsTest, AutofillFormSubmittedState) { |
{{internal::kUKMAutofillFormSubmittedStateMetricName, |
AutofillMetrics::NON_FILLABLE_FORM_OR_NEW_DATA}, |
{internal::kUKMMillisecondsSinceFormLoadedMetricName, 0}}); |
- VerifyFormInteractionUkm(form, ukm_service, |
+ VerifyFormInteractionUkm(form, ukm_recorder, |
internal::kUKMFormSubmittedEntryName, |
expected_form_submission_ukm_metrics); |
} |
@@ -4336,7 +4317,7 @@ TEST_F(AutofillMetricsTest, AutofillFormSubmittedState) { |
// interaction. |
TEST_F(AutofillMetricsTest, UserHappinessFormInteraction) { |
EnableUkmLogging(); |
- ukm::TestUkmService* ukm_service = autofill_client_.GetTestUkmService(); |
+ ukm::TestUkmRecorder* ukm_recorder = autofill_client_.GetTestUkmRecorder(); |
// Load a fillable form. |
FormData form; |
@@ -4441,22 +4422,22 @@ TEST_F(AutofillMetricsTest, UserHappinessFormInteraction) { |
autofill_manager_->Reset(); |
VerifyFormInteractionUkm( |
- form, ukm_service, internal::kUKMInteractedWithFormEntryName, |
+ form, ukm_recorder, internal::kUKMInteractedWithFormEntryName, |
{{{internal::kUKMIsForCreditCardMetricName, false}, |
{internal::kUKMLocalRecordTypeCountMetricName, 0}, |
{internal::kUKMServerRecordTypeCountMetricName, 0}}}); |
VerifyFormInteractionUkm( |
- form, ukm_service, internal::kUKMSuggestionsShownEntryName, |
+ form, ukm_recorder, internal::kUKMSuggestionsShownEntryName, |
{{{internal::kUKMMillisecondsSinceFormLoadedMetricName, 0}}, |
{{internal::kUKMMillisecondsSinceFormLoadedMetricName, 0}}}); |
VerifyFormInteractionUkm( |
- form, ukm_service, internal::kUKMSuggestionFilledEntryName, |
+ form, ukm_recorder, internal::kUKMSuggestionFilledEntryName, |
{{{internal::kUKMRecordTypeMetricName, AutofillProfile::LOCAL_PROFILE}, |
{internal::kUKMMillisecondsSinceFormLoadedMetricName, 0}}, |
{{internal::kUKMRecordTypeMetricName, AutofillProfile::LOCAL_PROFILE}, |
{internal::kUKMMillisecondsSinceFormLoadedMetricName, 0}}}); |
VerifyFormInteractionUkm( |
- form, ukm_service, internal::kUKMTextFieldDidChangeEntryName, |
+ form, ukm_recorder, internal::kUKMTextFieldDidChangeEntryName, |
{{{internal::kUKMFieldTypeGroupMetricName, NAME}, |
{internal::kUKMHeuristicTypeMetricName, NAME_FULL}, |
{internal::kUKMServerTypeMetricName, NO_SERVER_DATA}, |
@@ -5055,129 +5036,121 @@ TEST_F(AutofillMetricsTest, |
// Tests that logging CardUploadDecision UKM works as expected. |
TEST_F(AutofillMetricsTest, RecordCardUploadDecisionMetric) { |
EnableUkmLogging(); |
- ukm::UkmServiceTestingHarness ukm_service_test_harness; |
+ ukm::TestUkmRecorder test_ukm_recorder; |
GURL url("https://www.google.com"); |
int upload_decision = 1; |
std::vector<std::pair<const char*, int>> metrics = { |
{internal::kUKMCardUploadDecisionMetricName, upload_decision}}; |
- EXPECT_TRUE(AutofillMetrics::LogUkm( |
- ukm_service_test_harness.test_ukm_service(), url, |
- internal::kUKMCardUploadDecisionEntryName, metrics)); |
+ EXPECT_TRUE(AutofillMetrics::LogUkm(&test_ukm_recorder, url, |
+ internal::kUKMCardUploadDecisionEntryName, |
+ metrics)); |
// Make sure that the UKM was logged correctly. |
- ukm::TestUkmService* ukm_service = |
- ukm_service_test_harness.test_ukm_service(); |
+ ukm::TestUkmRecorder* ukm_recorder = &test_ukm_recorder; |
- ASSERT_EQ(1U, ukm_service->sources_count()); |
+ ASSERT_EQ(1U, ukm_recorder->sources_count()); |
const ukm::UkmSource* source = |
- ukm_service->GetSourceForUrl(url.spec().c_str()); |
+ ukm_recorder->GetSourceForUrl(url.spec().c_str()); |
EXPECT_EQ(url.spec(), source->url().spec()); |
- ASSERT_EQ(1U, ukm_service->entries_count()); |
- const ukm::UkmEntry* entry = ukm_service->GetEntry(0); |
- EXPECT_EQ(source->id(), entry->source_id()); |
+ ASSERT_EQ(1U, ukm_recorder->entries_count()); |
+ const ukm::mojom::UkmEntry* entry = ukm_recorder->GetEntry(0); |
// Make sure that a card upload decision entry was logged. |
- ukm::Entry entry_proto; |
- entry->PopulateProto(&entry_proto); |
- EXPECT_EQ(source->id(), entry_proto.source_id()); |
+ EXPECT_EQ(source->id(), entry->source_id); |
EXPECT_EQ(base::HashMetricName(internal::kUKMCardUploadDecisionEntryName), |
- entry_proto.event_hash()); |
- EXPECT_EQ(1, entry_proto.metrics_size()); |
+ entry->event_hash); |
+ EXPECT_EQ(1U, entry->metrics.size()); |
// Make sure that the correct upload decision was logged. |
- const ukm::Entry_Metric* metric = FindMetric( |
- internal::kUKMCardUploadDecisionMetricName, entry_proto.metrics()); |
+ const ukm::mojom::UkmMetric* metric = ukm::TestUkmRecorder::FindMetric( |
+ entry, internal::kUKMCardUploadDecisionMetricName); |
ASSERT_NE(nullptr, metric); |
- EXPECT_EQ(upload_decision, metric->value()); |
+ EXPECT_EQ(upload_decision, metric->value); |
} |
// Tests that logging DeveloperEngagement UKM works as expected. |
TEST_F(AutofillMetricsTest, RecordDeveloperEngagementMetric) { |
EnableUkmLogging(); |
- ukm::UkmServiceTestingHarness ukm_service_test_harness; |
+ ukm::TestUkmRecorder test_ukm_recorder; |
GURL url("https://www.google.com"); |
int form_structure_metric = 1; |
std::vector<std::pair<const char*, int>> metrics = { |
{internal::kUKMDeveloperEngagementMetricName, form_structure_metric}}; |
EXPECT_TRUE(AutofillMetrics::LogUkm( |
- ukm_service_test_harness.test_ukm_service(), url, |
- internal::kUKMDeveloperEngagementEntryName, metrics)); |
+ &test_ukm_recorder, url, internal::kUKMDeveloperEngagementEntryName, |
+ metrics)); |
// Make sure that the UKM was logged correctly. |
- ukm::TestUkmService* ukm_service = |
- ukm_service_test_harness.test_ukm_service(); |
+ ukm::TestUkmRecorder* ukm_recorder = &test_ukm_recorder; |
- ASSERT_EQ(1U, ukm_service->sources_count()); |
+ ASSERT_EQ(1U, ukm_recorder->sources_count()); |
const ukm::UkmSource* source = |
- ukm_service->GetSourceForUrl(url.spec().c_str()); |
+ ukm_recorder->GetSourceForUrl(url.spec().c_str()); |
EXPECT_EQ(url.spec(), source->url().spec()); |
- ASSERT_EQ(1U, ukm_service->entries_count()); |
- const ukm::UkmEntry* entry = ukm_service->GetEntry(0); |
- EXPECT_EQ(source->id(), entry->source_id()); |
+ ASSERT_EQ(1U, ukm_recorder->entries_count()); |
+ const ukm::mojom::UkmEntry* entry = ukm_recorder->GetEntry(0); |
// Make sure that a developer engagement entry was logged. |
- ukm::Entry entry_proto; |
- entry->PopulateProto(&entry_proto); |
- EXPECT_EQ(source->id(), entry_proto.source_id()); |
+ EXPECT_EQ(source->id(), entry->source_id); |
EXPECT_EQ(base::HashMetricName(internal::kUKMDeveloperEngagementEntryName), |
- entry_proto.event_hash()); |
- EXPECT_EQ(1, entry_proto.metrics_size()); |
+ entry->event_hash); |
+ EXPECT_EQ(1U, entry->metrics.size()); |
// Make sure that the correct developer engagement metric was logged. |
- const ukm::Entry_Metric* metric = FindMetric( |
- internal::kUKMDeveloperEngagementMetricName, entry_proto.metrics()); |
+ const ukm::mojom::UkmMetric* metric = ukm::TestUkmRecorder::FindMetric( |
+ entry, internal::kUKMDeveloperEngagementMetricName); |
ASSERT_NE(nullptr, metric); |
- EXPECT_EQ(form_structure_metric, metric->value()); |
+ EXPECT_EQ(form_structure_metric, metric->value); |
} |
// Tests that no UKM is logged when the URL is not valid. |
TEST_F(AutofillMetricsTest, RecordCardUploadDecisionMetric_InvalidUrl) { |
EnableUkmLogging(); |
- ukm::UkmServiceTestingHarness ukm_service_test_harness; |
+ ukm::TestUkmRecorder test_ukm_recorder; |
GURL url(""); |
std::vector<std::pair<const char*, int>> metrics = {{"metric", 1}}; |
- EXPECT_FALSE(AutofillMetrics::LogUkm( |
- ukm_service_test_harness.test_ukm_service(), url, "test_ukm", metrics)); |
- EXPECT_EQ(0U, ukm_service_test_harness.test_ukm_service()->sources_count()); |
+ EXPECT_FALSE( |
+ AutofillMetrics::LogUkm(&test_ukm_recorder, url, "test_ukm", metrics)); |
+ EXPECT_EQ(0U, test_ukm_recorder.sources_count()); |
} |
// Tests that no UKM is logged when the metrics map is empty. |
TEST_F(AutofillMetricsTest, RecordCardUploadDecisionMetric_NoMetrics) { |
EnableUkmLogging(); |
- ukm::UkmServiceTestingHarness ukm_service_test_harness; |
+ ukm::TestUkmRecorder test_ukm_recorder; |
GURL url("https://www.google.com"); |
std::vector<std::pair<const char*, int>> metrics; |
- EXPECT_FALSE(AutofillMetrics::LogUkm( |
- ukm_service_test_harness.test_ukm_service(), url, "test_ukm", metrics)); |
- EXPECT_EQ(0U, ukm_service_test_harness.test_ukm_service()->sources_count()); |
+ EXPECT_FALSE( |
+ AutofillMetrics::LogUkm(&test_ukm_recorder, url, "test_ukm", metrics)); |
+ EXPECT_EQ(0U, test_ukm_recorder.sources_count()); |
} |
// Tests that no UKM is logged when the ukm service is null. |
-TEST_F(AutofillMetricsTest, RecordCardUploadDecisionMetric_NoUkmService) { |
+TEST_F(AutofillMetricsTest, RecordCardUploadDecisionMetric_NoUkmRecorder) { |
EnableUkmLogging(); |
- ukm::UkmServiceTestingHarness ukm_service_test_harness; |
+ ukm::TestUkmRecorder test_ukm_recorder; |
GURL url("https://www.google.com"); |
std::vector<std::pair<const char*, int>> metrics = {{"metric", 1}}; |
EXPECT_FALSE(AutofillMetrics::LogUkm(nullptr, url, "test_ukm", metrics)); |
- ASSERT_EQ(0U, ukm_service_test_harness.test_ukm_service()->sources_count()); |
+ ASSERT_EQ(0U, test_ukm_recorder.sources_count()); |
} |
// Tests that no UKM is logged when the ukm logging feature is disabled. |
TEST_F(AutofillMetricsTest, RecordCardUploadDecisionMetric_FeatureDisabled) { |
- ukm::UkmServiceTestingHarness ukm_service_test_harness; |
+ ukm::TestUkmRecorder test_ukm_recorder; |
GURL url("https://www.google.com"); |
std::vector<std::pair<const char*, int>> metrics = {{"metric", 1}}; |
- EXPECT_FALSE(AutofillMetrics::LogUkm( |
- ukm_service_test_harness.test_ukm_service(), url, "test_ukm", metrics)); |
- EXPECT_EQ(0U, ukm_service_test_harness.test_ukm_service()->sources_count()); |
+ EXPECT_FALSE( |
+ AutofillMetrics::LogUkm(&test_ukm_recorder, url, "test_ukm", metrics)); |
+ EXPECT_EQ(0U, test_ukm_recorder.sources_count()); |
} |
} // namespace autofill |