 Chromium Code Reviews
 Chromium Code Reviews Issue 2711543002:
  Experiment to add bank name in autofill ui.  (Closed)
    
  
    Issue 2711543002:
  Experiment to add bank name in autofill ui.  (Closed) 
  | 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 65c3b283f598b13a961094c0b88b75744efdbd05..639d23238f5aefc862bf38d269e33edcc81821f6 100644 | 
| --- a/components/autofill/core/browser/autofill_metrics_unittest.cc | 
| +++ b/components/autofill/core/browser/autofill_metrics_unittest.cc | 
| @@ -187,6 +187,20 @@ class TestPersonalDataManager : public PersonalDataManager { | 
| Refresh(); | 
| } | 
| + // Removes all existing credit cards and creates 1 server card with a bank | 
| + // name. | 
| + void RecreateServerCreditCardsWithBankName() { | 
| + server_credit_cards_.clear(); | 
| + std::unique_ptr<CreditCard> credit_card = base::MakeUnique<CreditCard>( | 
| + CreditCard::FULL_SERVER_CARD, "server_id"); | 
| + test::SetCreditCardInfo(credit_card.get(), "name", "4111111111111111", | 
| + "12", "24", "1"); | 
| + credit_card->set_guid("10000000-0000-0000-0000-000000000003"); | 
| + credit_card->set_bank_name("Chase"); | 
| + server_credit_cards_.push_back(std::move(credit_card)); | 
| + Refresh(); | 
| + } | 
| + | 
| bool IsAutofillEnabled() const override { return autofill_enabled_; } | 
| void CreateAmbiguousProfiles() { | 
| @@ -2529,6 +2543,11 @@ TEST_F(AutofillMetricsTest, CreditCardShownFormEvents) { | 
| histogram_tester.ExpectBucketCount( | 
| "Autofill.FormEvents.CreditCard", | 
| AutofillMetrics::FORM_EVENT_SUGGESTIONS_SHOWN_ONCE, 1); | 
| + // Check that the bank name histogram was not recorded. ExpectBucketCount() | 
| + // can't be used here because it expects the histogram to exist. | 
| + EXPECT_EQ(0, histogram_tester.GetTotalCountsForPrefix( | 
| + "Autofill.FormEvents.CreditCard") | 
| + ["Autofill.FormEvents.CreditCard.BankNameExperiment"]); | 
| } | 
| // Reset the autofill manager state. | 
| @@ -2546,6 +2565,11 @@ TEST_F(AutofillMetricsTest, CreditCardShownFormEvents) { | 
| histogram_tester.ExpectBucketCount( | 
| "Autofill.FormEvents.CreditCard", | 
| AutofillMetrics::FORM_EVENT_SUGGESTIONS_SHOWN_ONCE, 1); | 
| + // Check that the bank name histogram was not recorded. ExpectBucketCount() | 
| + // can't be used here because it expects the histogram to exist. | 
| + EXPECT_EQ(0, histogram_tester.GetTotalCountsForPrefix( | 
| + "Autofill.FormEvents.CreditCard") | 
| + ["Autofill.FormEvents.CreditCard.BankNameExperiment"]); | 
| } | 
| // Reset the autofill manager state. | 
| @@ -2563,6 +2587,59 @@ TEST_F(AutofillMetricsTest, CreditCardShownFormEvents) { | 
| histogram_tester.ExpectBucketCount( | 
| "Autofill.FormEvents.CreditCard", | 
| AutofillMetrics::FORM_EVENT_SUGGESTIONS_SHOWN_ONCE, 0); | 
| + // Check that the bank name histogram was not recorded. ExpectBucketCount() | 
| + // can't be used here because it expects the histogram to exist. | 
| + EXPECT_EQ(0, histogram_tester.GetTotalCountsForPrefix( | 
| + "Autofill.FormEvents.CreditCard") | 
| + ["Autofill.FormEvents.CreditCard.BankNameExperiment"]); | 
| + } | 
| + | 
| + // Recreate server cards with bank names. | 
| + personal_data_->RecreateServerCreditCardsWithBankName(); | 
| + | 
| + // Reset the autofill manager state. | 
| + autofill_manager_->Reset(); | 
| + autofill_manager_->AddSeenForm(form, field_types, field_types); | 
| + | 
| + { | 
| + // Simulating new popup being shown. | 
| + base::HistogramTester histogram_tester; | 
| + autofill_manager_->OnQueryFormFieldAutofill(0, form, field, gfx::RectF()); | 
| + autofill_manager_->DidShowSuggestions(true /* is_new_popup */, form, field); | 
| + histogram_tester.ExpectBucketCount( | 
| + "Autofill.FormEvents.CreditCard", | 
| + AutofillMetrics::FORM_EVENT_SUGGESTIONS_SHOWN, 1); | 
| + histogram_tester.ExpectBucketCount( | 
| + "Autofill.FormEvents.CreditCard", | 
| + AutofillMetrics::FORM_EVENT_SUGGESTIONS_SHOWN_ONCE, 1); | 
| + histogram_tester.ExpectBucketCount( | 
| + "Autofill.FormEvents.CreditCard.BankNameExperiment", | 
| + AutofillMetrics:: | 
| + FORM_EVENT_SUGGESTIONS_SHOWN_WITH_BANK_NAME_AVAILABLE_ONCE, | 
| + 1); | 
| + } | 
| + | 
| + // Reset the autofill manager state. | 
| + autofill_manager_->Reset(); | 
| + autofill_manager_->AddSeenForm(form, field_types, field_types); | 
| + | 
| + { | 
| + // Simulating two popups in the same page load. | 
| + base::HistogramTester histogram_tester; | 
| + autofill_manager_->OnQueryFormFieldAutofill(0, form, field, gfx::RectF()); | 
| + autofill_manager_->DidShowSuggestions(true /* is_new_popup */, form, field); | 
| + autofill_manager_->DidShowSuggestions(true /* is_new_popup */, form, field); | 
| + histogram_tester.ExpectBucketCount( | 
| + "Autofill.FormEvents.CreditCard", | 
| + AutofillMetrics::FORM_EVENT_SUGGESTIONS_SHOWN, 2); | 
| + histogram_tester.ExpectBucketCount( | 
| + "Autofill.FormEvents.CreditCard", | 
| + AutofillMetrics::FORM_EVENT_SUGGESTIONS_SHOWN_ONCE, 1); | 
| + histogram_tester.ExpectBucketCount( | 
| + "Autofill.FormEvents.CreditCard.BankNameExperiment", | 
| + AutofillMetrics:: | 
| + FORM_EVENT_SUGGESTIONS_SHOWN_WITH_BANK_NAME_AVAILABLE_ONCE, | 
| + 1); | 
| } | 
| } | 
| @@ -2731,6 +2808,11 @@ TEST_F(AutofillMetricsTest, CreditCardFilledFormEvents) { | 
| histogram_tester.ExpectBucketCount( | 
| "Autofill.FormEvents.CreditCard", | 
| AutofillMetrics::FORM_EVENT_SERVER_SUGGESTION_FILLED_ONCE, 1); | 
| + // Check that the bank name histogram was not recorded. ExpectBucketCount() | 
| + // can't be used here because it expects the histogram to exist. | 
| + EXPECT_EQ(0, histogram_tester.GetTotalCountsForPrefix( | 
| 
Mathieu
2017/06/16 18:27:05
Can you use 
EXPECT_EQ(histogram_tester.ExpectTot
 
Shanfeng
2017/06/16 20:51:46
I cannot because it expects the histogram to exist
 | 
| + "Autofill.FormEvents.CreditCard") | 
| + ["Autofill.FormEvents.CreditCard.BankNameExperiment"]); | 
| } | 
| // Reset the autofill manager state. | 
| @@ -2754,6 +2836,52 @@ TEST_F(AutofillMetricsTest, CreditCardFilledFormEvents) { | 
| "Autofill.FormEvents.CreditCard", | 
| AutofillMetrics::FORM_EVENT_LOCAL_SUGGESTION_FILLED_ONCE, 1); | 
| } | 
| + | 
| + // Recreate server cards with bank names. | 
| + personal_data_->RecreateServerCreditCardsWithBankName(); | 
| + | 
| + // Reset the autofill manager state. | 
| + autofill_manager_->Reset(); | 
| + autofill_manager_->AddSeenForm(form, field_types, field_types); | 
| + | 
| + { | 
| + // Simulating filling a full card server suggestion. | 
| + base::HistogramTester histogram_tester; | 
| + std::string guid( | 
| + "10000000-0000-0000-0000-000000000003"); // full server card | 
| + autofill_manager_->OnQueryFormFieldAutofill(0, form, field, gfx::RectF()); | 
| + autofill_manager_->FillOrPreviewForm( | 
| + AutofillDriver::FORM_DATA_ACTION_FILL, 0, form, field, | 
| + autofill_manager_->MakeFrontendID(guid, std::string())); | 
| + histogram_tester.ExpectBucketCount( | 
| + "Autofill.FormEvents.CreditCard.BankNameExperiment", | 
| + AutofillMetrics:: | 
| + FORM_EVENT_SERVER_SUGGESTION_FILLED_WITH_BANK_NAME_AVAILABLE_ONCE, | 
| + 1); | 
| + } | 
| + | 
| + // Reset the autofill manager state. | 
| + autofill_manager_->Reset(); | 
| + autofill_manager_->AddSeenForm(form, field_types, field_types); | 
| + | 
| + { | 
| + // Simulating filling multiple times. | 
| + base::HistogramTester histogram_tester; | 
| + std::string guid( | 
| + "10000000-0000-0000-0000-000000000003"); // full server card | 
| + autofill_manager_->OnQueryFormFieldAutofill(0, form, field, gfx::RectF()); | 
| + autofill_manager_->FillOrPreviewForm( | 
| + AutofillDriver::FORM_DATA_ACTION_FILL, 0, form, field, | 
| + autofill_manager_->MakeFrontendID(guid, std::string())); | 
| + autofill_manager_->FillOrPreviewForm( | 
| + AutofillDriver::FORM_DATA_ACTION_FILL, 0, form, field, | 
| + autofill_manager_->MakeFrontendID(guid, std::string())); | 
| + histogram_tester.ExpectBucketCount( | 
| + "Autofill.FormEvents.CreditCard.BankNameExperiment", | 
| + AutofillMetrics:: | 
| + FORM_EVENT_SERVER_SUGGESTION_FILLED_WITH_BANK_NAME_AVAILABLE_ONCE, | 
| + 1); | 
| + } | 
| } | 
| // Test that we log submitted form events for credit cards. | 
| @@ -3447,6 +3575,11 @@ TEST_F(AutofillMetricsTest, AddressShownFormEvents) { | 
| histogram_tester.ExpectBucketCount( | 
| "Autofill.FormEvents.Address", | 
| AutofillMetrics::FORM_EVENT_SUGGESTIONS_SHOWN_ONCE, 1); | 
| + // Check that the bank name histogram was not recorded. ExpectBucketCount() | 
| + // can't be used here because it expects the histogram to exist. | 
| + EXPECT_EQ(0, histogram_tester.GetTotalCountsForPrefix( | 
| + "Autofill.FormEvents.CreditCard") | 
| + ["Autofill.FormEvents.CreditCard.BankNameExperiment"]); | 
| } | 
| // Reset the autofill manager state. | 
| @@ -3464,6 +3597,11 @@ TEST_F(AutofillMetricsTest, AddressShownFormEvents) { | 
| histogram_tester.ExpectBucketCount( | 
| "Autofill.FormEvents.Address", | 
| AutofillMetrics::FORM_EVENT_SUGGESTIONS_SHOWN_ONCE, 1); | 
| + // Check that the bank name histogram was not recorded. ExpectBucketCount() | 
| + // can't be used here because it expects the histogram to exist. | 
| + EXPECT_EQ(0, histogram_tester.GetTotalCountsForPrefix( | 
| + "Autofill.FormEvents.CreditCard") | 
| + ["Autofill.FormEvents.CreditCard.BankNameExperiment"]); | 
| } | 
| // Reset the autofill manager state. | 
| @@ -3481,6 +3619,11 @@ TEST_F(AutofillMetricsTest, AddressShownFormEvents) { | 
| histogram_tester.ExpectBucketCount( | 
| "Autofill.FormEvents.Address", | 
| AutofillMetrics::FORM_EVENT_SUGGESTIONS_SHOWN_ONCE, 0); | 
| + // Check that the bank name histogram was not recorded. ExpectBucketCount() | 
| + // can't be used here because it expects the histogram to exist. | 
| + EXPECT_EQ(0, histogram_tester.GetTotalCountsForPrefix( | 
| + "Autofill.FormEvents.CreditCard") | 
| + ["Autofill.FormEvents.CreditCard.BankNameExperiment"]); | 
| } | 
| } |