Commit 08cc9254 authored by siyua's avatar siyua Committed by Commit Bot

Return .PreviouslyAccepted and .PreviouslyDenied data to parent histograms

The Autofill.CreditCardInfoBar.Server histogram was split into {
	Autofill.CreditCardInfoBar.Server,
	Autofill.CreditCardInfoBar.Server.PreviouslyDenied,
	Autofill.CreditCardInfoBar.Server.PreviouslyAccepted}.

This caused confusion as it went against precedent where sub-histograms
shouldn't affect their parent's data, and as a result hid a lot of data
behind the .PreviouslyAccepted and .PreviouslyDenied subhistograms.

Here's what we want to happen instead, using
Autofill.CreditCardInfoBar.Server as an example:
1) Autofill.CreditCardInfoBar.Server goes back to containing ALL data,
not just a portion of it.
2) What used to go to Autofill.CreditCardInfoBar.Server should now go to
Autofill.CreditCardInfoBar.Server.NoPreviousDecision so that the
subhistograms are still useful.




Bug: 827414
Change-Id: I432e98f4729318e3e060e280551286b2bcfb80b0
Reviewed-on: https://chromium-review.googlesource.com/997026
Commit-Queue: Siyu An <siyua@chromium.org>
Reviewed-by: default avatarEvan Stade <estade@chromium.org>
Reviewed-by: default avatarSebastien Seguin-Gagnon <sebsg@chromium.org>
Reviewed-by: default avatarAlexei Svitkine <asvitkine@chromium.org>
Reviewed-by: default avatarJared Saul <jsaul@google.com>
Cr-Commit-Position: refs/heads/master@{#550100}
parent ed66cd5c
...@@ -306,12 +306,18 @@ TEST_F(SaveCardBubbleControllerImplTest, ...@@ -306,12 +306,18 @@ TEST_F(SaveCardBubbleControllerImplTest,
EXPECT_THAT( EXPECT_THAT(
histogram_tester.GetAllSamples( histogram_tester.GetAllSamples(
"Autofill.SaveCreditCardPrompt.Local.FirstShow"), "Autofill.SaveCreditCardPrompt.Local.FirstShow"),
ElementsAre(Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOW_REQUESTED, 2),
Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOWN, 2),
Bucket(AutofillMetrics::SAVE_CARD_PROMPT_END_DENIED, 2)));
EXPECT_THAT(
histogram_tester.GetAllSamples(
"Autofill.SaveCreditCardPrompt.Local.FirstShow.PreviouslyDenied"),
ElementsAre(Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOW_REQUESTED, 1), ElementsAre(Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOW_REQUESTED, 1),
Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOWN, 1), Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOWN, 1),
Bucket(AutofillMetrics::SAVE_CARD_PROMPT_END_DENIED, 1))); Bucket(AutofillMetrics::SAVE_CARD_PROMPT_END_DENIED, 1)));
EXPECT_THAT( EXPECT_THAT(
histogram_tester.GetAllSamples( histogram_tester.GetAllSamples("Autofill.SaveCreditCardPrompt.Local."
"Autofill.SaveCreditCardPrompt.Local.FirstShow.PreviouslyDenied"), "FirstShow.NoPreviousDecision"),
ElementsAre(Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOW_REQUESTED, 1), ElementsAre(Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOW_REQUESTED, 1),
Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOWN, 1), Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOWN, 1),
Bucket(AutofillMetrics::SAVE_CARD_PROMPT_END_DENIED, 1))); Bucket(AutofillMetrics::SAVE_CARD_PROMPT_END_DENIED, 1)));
...@@ -333,20 +339,98 @@ TEST_F(SaveCardBubbleControllerImplTest, ...@@ -333,20 +339,98 @@ TEST_F(SaveCardBubbleControllerImplTest,
EXPECT_THAT( EXPECT_THAT(
histogram_tester.GetAllSamples( histogram_tester.GetAllSamples(
"Autofill.SaveCreditCardPrompt.Local.FirstShow"), "Autofill.SaveCreditCardPrompt.Local.FirstShow"),
ElementsAre(Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOW_REQUESTED, 3),
Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOWN, 3),
Bucket(AutofillMetrics::SAVE_CARD_PROMPT_END_ACCEPTED, 1),
Bucket(AutofillMetrics::SAVE_CARD_PROMPT_END_DENIED, 1)));
EXPECT_THAT(
histogram_tester.GetAllSamples("Autofill.SaveCreditCardPrompt.Local."
"FirstShow.NoPreviousDecision"),
ElementsAre(Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOW_REQUESTED, 1), ElementsAre(Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOW_REQUESTED, 1),
Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOWN, 1), Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOWN, 1),
Bucket(AutofillMetrics::SAVE_CARD_PROMPT_END_DENIED, 1))); Bucket(AutofillMetrics::SAVE_CARD_PROMPT_END_DENIED, 1)));
EXPECT_THAT(
histogram_tester.GetAllSamples(
"Autofill.SaveCreditCardPrompt.Local.FirstShow.PreviouslyDenied"),
ElementsAre(Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOW_REQUESTED, 1),
Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOWN, 1),
Bucket(AutofillMetrics::SAVE_CARD_PROMPT_END_ACCEPTED, 1)));
EXPECT_THAT( EXPECT_THAT(
histogram_tester.GetAllSamples( histogram_tester.GetAllSamples(
"Autofill.SaveCreditCardPrompt.Local.FirstShow.PreviouslyAccepted"), "Autofill.SaveCreditCardPrompt.Local.FirstShow.PreviouslyAccepted"),
ElementsAre(Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOW_REQUESTED, 1), ElementsAre(Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOW_REQUESTED, 1),
Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOWN, 1))); Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOWN, 1)));
}
TEST_F(SaveCardBubbleControllerImplTest,
Metrics_Upload_FirstShow_CancelButton_FirstShow_SaveButton_FirstShow) {
base::HistogramTester histogram_tester;
ShowUploadBubble();
controller()->OnCancelButton();
controller()->OnBubbleClosed();
ShowUploadBubble();
controller()->OnSaveButton();
controller()->OnBubbleClosed();
ShowUploadBubble();
EXPECT_THAT( EXPECT_THAT(
histogram_tester.GetAllSamples( histogram_tester.GetAllSamples(
"Autofill.SaveCreditCardPrompt.Local.FirstShow.PreviouslyDenied"), "Autofill.SaveCreditCardPrompt.Upload.FirstShow"),
ElementsAre(Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOW_REQUESTED, 3),
Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOWN, 3),
Bucket(AutofillMetrics::SAVE_CARD_PROMPT_END_ACCEPTED, 1),
Bucket(AutofillMetrics::SAVE_CARD_PROMPT_END_DENIED, 1)));
EXPECT_THAT(
histogram_tester.GetAllSamples("Autofill.SaveCreditCardPrompt.Upload."
"FirstShow.NoPreviousDecision"),
ElementsAre(Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOW_REQUESTED, 1),
Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOWN, 1),
Bucket(AutofillMetrics::SAVE_CARD_PROMPT_END_DENIED, 1)));
EXPECT_THAT(
histogram_tester.GetAllSamples(
"Autofill.SaveCreditCardPrompt.Upload.FirstShow.PreviouslyDenied"),
ElementsAre(Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOW_REQUESTED, 1), ElementsAre(Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOW_REQUESTED, 1),
Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOWN, 1), Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOWN, 1),
Bucket(AutofillMetrics::SAVE_CARD_PROMPT_END_ACCEPTED, 1))); Bucket(AutofillMetrics::SAVE_CARD_PROMPT_END_ACCEPTED, 1)));
EXPECT_THAT(
histogram_tester.GetAllSamples(
"Autofill.SaveCreditCardPrompt.Upload.FirstShow.PreviouslyAccepted"),
ElementsAre(Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOW_REQUESTED, 1),
Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOWN, 1)));
}
TEST_F(SaveCardBubbleControllerImplTest,
Metrics_Local_FirstShow_CancelButton_Reshows) {
base::HistogramTester histogram_tester;
ShowLocalBubble();
CloseAndReshowBubble();
EXPECT_THAT(
histogram_tester.GetAllSamples("Autofill.SaveCreditCardPrompt.Local."
"Reshows.NoPreviousDecision"),
ElementsAre(Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOW_REQUESTED, 1),
Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOWN, 1)));
}
TEST_F(SaveCardBubbleControllerImplTest,
Metrics_Local_FirstShow_Reshows_Reshows) {
base::HistogramTester histogram_tester;
ShowLocalBubble();
CloseAndReshowBubble();
CloseAndReshowBubble();
EXPECT_THAT(
histogram_tester.GetAllSamples(
"Autofill.SaveCreditCardPrompt.Local.Reshows"),
ElementsAre(Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOW_REQUESTED, 2),
Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOWN, 2)));
EXPECT_THAT(
histogram_tester.GetAllSamples("Autofill.SaveCreditCardPrompt.Local."
"Reshows.NoPreviousDecision"),
ElementsAre(Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOW_REQUESTED, 2),
Bucket(AutofillMetrics::SAVE_CARD_PROMPT_SHOWN, 2)));
} }
TEST_F(SaveCardBubbleControllerImplTest, TEST_F(SaveCardBubbleControllerImplTest,
......
...@@ -66,14 +66,16 @@ std::string PreviousSaveCreditCardPromptUserDecisionToString( ...@@ -66,14 +66,16 @@ std::string PreviousSaveCreditCardPromptUserDecisionToString(
prefs::NUM_PREVIOUS_SAVE_CREDIT_CARD_PROMPT_USER_DECISIONS); prefs::NUM_PREVIOUS_SAVE_CREDIT_CARD_PROMPT_USER_DECISIONS);
std::string previous_response; std::string previous_response;
if (previous_save_credit_card_prompt_user_decision == if (previous_save_credit_card_prompt_user_decision ==
prefs::PREVIOUS_SAVE_CREDIT_CARD_PROMPT_USER_DECISION_ACCEPTED) prefs::PREVIOUS_SAVE_CREDIT_CARD_PROMPT_USER_DECISION_ACCEPTED) {
previous_response = ".PreviouslyAccepted"; previous_response = ".PreviouslyAccepted";
else if (previous_save_credit_card_prompt_user_decision == } else if (previous_save_credit_card_prompt_user_decision ==
prefs::PREVIOUS_SAVE_CREDIT_CARD_PROMPT_USER_DECISION_DENIED) prefs::PREVIOUS_SAVE_CREDIT_CARD_PROMPT_USER_DECISION_DENIED) {
previous_response = ".PreviouslyDenied"; previous_response = ".PreviouslyDenied";
else } else {
DCHECK_EQ(previous_save_credit_card_prompt_user_decision, DCHECK_EQ(previous_save_credit_card_prompt_user_decision,
prefs::PREVIOUS_SAVE_CREDIT_CARD_PROMPT_USER_DECISION_NONE); prefs::PREVIOUS_SAVE_CREDIT_CARD_PROMPT_USER_DECISION_NONE);
previous_response = ".NoPreviousDecision";
}
return previous_response; return previous_response;
} }
...@@ -681,6 +683,8 @@ void AutofillMetrics::LogCreditCardInfoBarMetric( ...@@ -681,6 +683,8 @@ void AutofillMetrics::LogCreditCardInfoBarMetric(
DCHECK_LT(metric, NUM_INFO_BAR_METRICS); DCHECK_LT(metric, NUM_INFO_BAR_METRICS);
std::string destination = is_uploading ? ".Server" : ".Local"; std::string destination = is_uploading ? ".Server" : ".Local";
LogUMAHistogramEnumeration("Autofill.CreditCardInfoBar" + destination, metric,
NUM_INFO_BAR_METRICS);
LogUMAHistogramEnumeration( LogUMAHistogramEnumeration(
"Autofill.CreditCardInfoBar" + destination + "Autofill.CreditCardInfoBar" + destination +
PreviousSaveCreditCardPromptUserDecisionToString( PreviousSaveCreditCardPromptUserDecisionToString(
...@@ -704,6 +708,9 @@ void AutofillMetrics::LogSaveCardPromptMetric( ...@@ -704,6 +708,9 @@ void AutofillMetrics::LogSaveCardPromptMetric(
DCHECK_LT(metric, NUM_SAVE_CARD_PROMPT_METRICS); DCHECK_LT(metric, NUM_SAVE_CARD_PROMPT_METRICS);
std::string destination = is_uploading ? ".Upload" : ".Local"; std::string destination = is_uploading ? ".Upload" : ".Local";
std::string show = is_reshow ? ".Reshows" : ".FirstShow"; std::string show = is_reshow ? ".Reshows" : ".FirstShow";
LogUMAHistogramEnumeration(
"Autofill.SaveCreditCardPrompt" + destination + show, metric,
NUM_SAVE_CARD_PROMPT_METRICS);
LogUMAHistogramEnumeration( LogUMAHistogramEnumeration(
"Autofill.SaveCreditCardPrompt" + destination + show + "Autofill.SaveCreditCardPrompt" + destination + show +
PreviousSaveCreditCardPromptUserDecisionToString( PreviousSaveCreditCardPromptUserDecisionToString(
......
...@@ -106513,6 +106513,8 @@ http://cs/file:chrome/histograms.xml - but prefer this file for new entries. ...@@ -106513,6 +106513,8 @@ http://cs/file:chrome/histograms.xml - but prefer this file for new entries.
label="User had previously accepted save credit card prompt"/> label="User had previously accepted save credit card prompt"/>
<suffix name="PreviouslyDenied" <suffix name="PreviouslyDenied"
label="User had previously denied save credit card prompt"/> label="User had previously denied save credit card prompt"/>
<suffix name="NoPreviousDecision"
label="User previous decision not on record"/>
<affected-histogram name="Autofill.CreditCardInfoBar.Local"/> <affected-histogram name="Autofill.CreditCardInfoBar.Local"/>
<affected-histogram name="Autofill.CreditCardInfoBar.Server"/> <affected-histogram name="Autofill.CreditCardInfoBar.Server"/>
<affected-histogram name="Autofill.SaveCreditCardPrompt.Local.FirstShow"/> <affected-histogram name="Autofill.SaveCreditCardPrompt.Local.FirstShow"/>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment