Index: chrome/browser/ui/passwords/manage_passwords_bubble_model.cc |
diff --git a/chrome/browser/ui/passwords/manage_passwords_bubble_model.cc b/chrome/browser/ui/passwords/manage_passwords_bubble_model.cc |
index d904e23fe206c64acaa22733c9e444c9fee23f93..9add8fc77da59a714752e7768759cd7058157773 100644 |
--- a/chrome/browser/ui/passwords/manage_passwords_bubble_model.cc |
+++ b/chrome/browser/ui/passwords/manage_passwords_bubble_model.cc |
@@ -9,6 +9,7 @@ |
#include "chrome/browser/ui/browser_finder.h" |
#include "chrome/browser/ui/passwords/manage_passwords_ui_controller.h" |
#include "chrome/browser/ui/passwords/password_bubble_experiment.h" |
+#include "chrome/browser/ui/passwords/password_manager_url_collection_experiment.h" |
#include "chrome/grit/generated_resources.h" |
#include "components/password_manager/core/browser/password_store.h" |
#include "components/password_manager/core/common/password_manager_ui.h" |
@@ -34,12 +35,15 @@ int GetFieldWidth(FieldType type) { |
: kPasswordFieldSize); |
} |
+Profile* GetProfileFromWebContents(content::WebContents* web_contents) { |
+ if (!web_contents) |
+ return nullptr; |
+ return Profile::FromBrowserContext(web_contents->GetBrowserContext()); |
+} |
+ |
void RecordExperimentStatistics(content::WebContents* web_contents, |
metrics_util::UIDismissalReason reason) { |
- if (!web_contents) |
- return; |
- Profile* profile = |
- Profile::FromBrowserContext(web_contents->GetBrowserContext()); |
+ Profile* profile = GetProfileFromWebContents(web_contents); |
password_bubble_experiment::RecordBubbleClosed(profile->GetPrefs(), reason); |
} |
@@ -50,6 +54,13 @@ base::string16 PendingStateTitleBasedOnSavePasswordPref( |
: IDS_SAVE_PASSWORD); |
} |
+void RecordURLSCollectionExperimentStatistics( |
+ content::WebContents* web_contents) { |
+ Profile* profile = GetProfileFromWebContents(web_contents); |
+ password_manager::urls_collection_experiment::RecordBubbleClosed( |
+ profile->GetPrefs()); |
+} |
+ |
} // namespace |
ManagePasswordsBubbleModel::ManagePasswordsBubbleModel( |
@@ -80,6 +91,7 @@ ManagePasswordsBubbleModel::ManagePasswordsBubbleModel( |
} else if (password_manager::ui::IsCredentialsState(state_)) { |
title_ = l10n_util::GetStringUTF16(IDS_MANAGE_PASSWORDS_CHOOSE_TITLE); |
} else if (password_manager::ui::IsAskSubmitURLState(state_)) { |
+ RecordURLSCollectionExperimentStatistics(web_contents); |
title_ = |
l10n_util::GetStringUTF16(IDS_MANAGE_PASSWORDS_ASK_TO_SUBMIT_URL_TITLE); |
} else { |
@@ -161,6 +173,9 @@ void ManagePasswordsBubbleModel::OnCollectURLClicked() { |
// User interaction with bubble has happened, do not need to show bubble |
// in case it was before transition to another page. |
state_ = password_manager::ui::ASK_USER_REPORT_URL_BUBBLE_SHOWN_STATE; |
+ ManagePasswordsUIController* manage_passwords_ui_controller = |
+ ManagePasswordsUIController::FromWebContents(web_contents()); |
+ manage_passwords_ui_controller->SendURLFeedback(); |
} |
void ManagePasswordsBubbleModel::OnDoNotCollectURLClicked() { |