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 83cea52299c5eaa94235f1a69fc2a6d49926f61f..d80c04f4cc4d88b64f1c26f993a80f3db01ab6bf 100644 |
--- a/chrome/browser/ui/passwords/manage_passwords_bubble_model.cc |
+++ b/chrome/browser/ui/passwords/manage_passwords_bubble_model.cc |
@@ -120,9 +120,9 @@ ManagePasswordsBubbleModel::ManagePasswordsBubbleModel( |
origin_ = controller->origin(); |
state_ = controller->state(); |
- if (password_manager::ui::IsPendingState(state_)) |
+ if (state_ == password_manager::ui::PENDING_PASSWORD_STATE) |
pending_password_ = controller->PendingPassword(); |
- if (password_manager::ui::IsCredentialsState(state_)) { |
+ if (state_ == password_manager::ui::CREDENTIAL_REQUEST_STATE) { |
local_pending_credentials_.swap(controller->local_credentials_forms()); |
federated_pending_credentials_.swap( |
controller->federated_credentials_forms()); |
@@ -130,14 +130,14 @@ ManagePasswordsBubbleModel::ManagePasswordsBubbleModel( |
best_matches_ = controller->best_matches(); |
} |
- if (password_manager::ui::IsPendingState(state_)) { |
+ if (state_ == password_manager::ui::PENDING_PASSWORD_STATE) { |
title_ = PendingStateTitleBasedOnSavePasswordPref(never_save_passwords_); |
} else if (state_ == password_manager::ui::BLACKLIST_STATE) { |
title_ = l10n_util::GetStringUTF16(IDS_MANAGE_PASSWORDS_BLACKLISTED_TITLE); |
} else if (state_ == password_manager::ui::CONFIRMATION_STATE) { |
title_ = |
l10n_util::GetStringUTF16(IDS_MANAGE_PASSWORDS_CONFIRM_GENERATED_TITLE); |
- } else if (password_manager::ui::IsCredentialsState(state_)) { |
+ } else if (state_ == password_manager::ui::CREDENTIAL_REQUEST_STATE) { |
title_ = l10n_util::GetStringUTF16(IDS_MANAGE_PASSWORDS_CHOOSE_TITLE); |
} else if (password_manager::ui::IsAskSubmitURLState(state_)) { |
title_ = |
@@ -164,7 +164,7 @@ ManagePasswordsBubbleModel::~ManagePasswordsBubbleModel() {} |
void ManagePasswordsBubbleModel::OnBubbleShown( |
ManagePasswordsBubble::DisplayReason reason) { |
if (reason == ManagePasswordsBubble::USER_ACTION) { |
- if (password_manager::ui::IsPendingState(state_)) { |
+ if (state_ == password_manager::ui::PENDING_PASSWORD_STATE) { |
display_disposition_ = metrics_util::MANUAL_WITH_PASSWORD_PENDING; |
} else if (state_ == password_manager::ui::BLACKLIST_STATE) { |
display_disposition_ = metrics_util::MANUAL_BLACKLISTED; |
@@ -175,7 +175,7 @@ void ManagePasswordsBubbleModel::OnBubbleShown( |
if (state_ == password_manager::ui::CONFIRMATION_STATE) { |
display_disposition_ = |
metrics_util::AUTOMATIC_GENERATED_PASSWORD_CONFIRMATION; |
- } else if (password_manager::ui::IsCredentialsState(state_)) { |
+ } else if (state_ == password_manager::ui::CREDENTIAL_REQUEST_STATE) { |
display_disposition_ = metrics_util::AUTOMATIC_CREDENTIAL_REQUEST; |
} else { |
display_disposition_ = metrics_util::AUTOMATIC_WITH_PASSWORD_PENDING; |
@@ -196,16 +196,21 @@ void ManagePasswordsBubbleModel::OnBubbleShown( |
} |
void ManagePasswordsBubbleModel::OnBubbleHidden() { |
- if (password_manager::ui::IsCredentialsState(state_) && web_contents()) { |
+ ManagePasswordsUIController* manage_passwords_ui_controller = |
+ web_contents() ? |
+ ManagePasswordsUIController::FromWebContents(web_contents()) |
Mike West
2015/02/16 11:45:33
Does `::FromWebContents()` not return `nullptr` in
vasilii
2015/02/16 11:51:44
It returns "null pointer exception" via go/crash i
|
+ : nullptr; |
+ if (state_ == password_manager::ui::CREDENTIAL_REQUEST_STATE && |
+ manage_passwords_ui_controller) { |
// It's time to run the pending callback if it wasn't called in |
// OnChooseCredentials(). |
- ManagePasswordsUIController* manage_passwords_ui_controller = |
- ManagePasswordsUIController::FromWebContents(web_contents()); |
manage_passwords_ui_controller->ChooseCredential( |
autofill::PasswordForm(), |
password_manager::CredentialType::CREDENTIAL_TYPE_EMPTY); |
state_ = password_manager::ui::INACTIVE_STATE; |
} |
+ if (manage_passwords_ui_controller) |
+ manage_passwords_ui_controller->OnBubbleHidden(); |
if (dismissal_reason_ == metrics_util::NOT_DISPLAYED) |
return; |
@@ -248,7 +253,7 @@ void ManagePasswordsBubbleModel::OnDoNotCollectURLClicked() { |
void ManagePasswordsBubbleModel::OnNopeClicked() { |
dismissal_reason_ = metrics_util::CLICKED_NOPE; |
RecordExperimentStatistics(web_contents(), dismissal_reason_); |
- if (!password_manager::ui::IsCredentialsState(state_)) |
+ if (state_ != password_manager::ui::CREDENTIAL_REQUEST_STATE) |
state_ = password_manager::ui::PENDING_PASSWORD_STATE; |
} |