| 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 d572f6e3cc078e4ebffe186b539f8d326e7d59ee..a9aca15480dfbe1c4b258687df9c12fcabcf529c 100644
|
| --- a/chrome/browser/ui/passwords/manage_passwords_bubble_model.cc
|
| +++ b/chrome/browser/ui/passwords/manage_passwords_bubble_model.cc
|
| @@ -54,6 +54,7 @@ ManagePasswordsBubbleModel::ManagePasswordsBubbleModel(
|
| ManagePasswordsUIController* controller =
|
| ManagePasswordsUIController::FromWebContents(web_contents);
|
|
|
| + origin_ = controller->origin();
|
| state_ = controller->state();
|
| if (password_manager::ui::IsPendingState(state_))
|
| pending_password_ = controller->PendingPassword();
|
| @@ -71,6 +72,9 @@ ManagePasswordsBubbleModel::ManagePasswordsBubbleModel(
|
| l10n_util::GetStringUTF16(IDS_MANAGE_PASSWORDS_CONFIRM_GENERATED_TITLE);
|
| } else if (password_manager::ui::IsCredentialsState(state_)) {
|
| title_ = l10n_util::GetStringUTF16(IDS_MANAGE_PASSWORDS_CHOOSE_TITLE);
|
| + } else if (password_manager::ui::IsAskSubmitURLState(state_)) {
|
| + title_ =
|
| + l10n_util::GetStringUTF16(IDS_MANAGE_PASSWORDS_ASK_TO_SUBMIT_URL_TITLE);
|
| } else {
|
| title_ = l10n_util::GetStringUTF16(IDS_MANAGE_PASSWORDS_TITLE);
|
| }
|
| @@ -135,12 +139,34 @@ void ManagePasswordsBubbleModel::OnBubbleHidden() {
|
| if (dismissal_reason_ == metrics_util::NOT_DISPLAYED)
|
| return;
|
|
|
| + if (password_manager::ui::IsAskSubmitURLState(state_)) {
|
| + state_ =
|
| + password_manager::ui::ASK_USER_TO_REPORT_URL_AND_PENDING_BUBBLE_STATE;
|
| + }
|
| metrics_util::LogUIDismissalReason(dismissal_reason_);
|
| // Other use cases have been reported in the callbacks like OnSaveClicked().
|
| if (dismissal_reason_ == metrics_util::NO_DIRECT_INTERACTION)
|
| RecordExperimentStatistics(web_contents(), dismissal_reason_);
|
| }
|
|
|
| +void ManagePasswordsBubbleModel::OnCollectURLClicked() {
|
| + dismissal_reason_ = metrics_util::CLICKED_COLLECT_URL;
|
| + RecordExperimentStatistics(web_contents(), dismissal_reason_);
|
| + // 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_TO_REPORT_URL_AND_PENDING_BUBBLE_STATE;
|
| +}
|
| +
|
| +void ManagePasswordsBubbleModel::OnDoNotCollectURLClicked() {
|
| + dismissal_reason_ = metrics_util::CLICKED_DO_NOT_COLLECT_URL;
|
| + RecordExperimentStatistics(web_contents(), dismissal_reason_);
|
| + // 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_TO_REPORT_URL_AND_PENDING_BUBBLE_STATE;
|
| +}
|
| +
|
| void ManagePasswordsBubbleModel::OnNopeClicked() {
|
| dismissal_reason_ = metrics_util::CLICKED_NOPE;
|
| RecordExperimentStatistics(web_contents(), dismissal_reason_);
|
|
|