Index: chrome/browser/password_manager/password_manager_test_base.cc |
diff --git a/chrome/browser/password_manager/password_manager_test_base.cc b/chrome/browser/password_manager/password_manager_test_base.cc |
index 603875a3f57841450c603520b1f186826bf66962..5a5fa13b05aef0ff361691e09bc91027a60704bf 100644 |
--- a/chrome/browser/password_manager/password_manager_test_base.cc |
+++ b/chrome/browser/password_manager/password_manager_test_base.cc |
@@ -65,6 +65,9 @@ class CustomManagePasswordsUIController : public ManagePasswordsUIController { |
private: |
// PasswordsClientUIDelegate: |
+ void OnPasswordSubmitted( |
+ std::unique_ptr<password_manager::PasswordFormManager> form_manager) |
+ override; |
bool OnChooseCredentials( |
std::vector<std::unique_ptr<autofill::PasswordForm>> local_credentials, |
const GURL& origin, |
@@ -106,6 +109,17 @@ void CustomManagePasswordsUIController::WaitForState( |
run_loop_->Run(); |
} |
+void CustomManagePasswordsUIController::OnPasswordSubmitted( |
+ std::unique_ptr<password_manager::PasswordFormManager> form_manager) { |
+ if (target_state_ == password_manager::ui::PENDING_PASSWORD_STATE) { |
+ run_loop_->Quit(); |
+ run_loop_ = nullptr; |
+ target_state_ = password_manager::ui::INACTIVE_STATE; |
+ } |
+ return ManagePasswordsUIController::OnPasswordSubmitted( |
+ std::move(form_manager)); |
+} |
+ |
bool CustomManagePasswordsUIController::OnChooseCredentials( |
std::vector<std::unique_ptr<autofill::PasswordForm>> local_credentials, |
const GURL& origin, |
@@ -234,6 +248,15 @@ void BubbleObserver::WaitForManagementState() const { |
controller->WaitForState(password_manager::ui::MANAGE_STATE); |
} |
+void BubbleObserver::WaitForSavePrompt() const { |
+ if (passwords_ui_controller_->GetState() == |
+ password_manager::ui::PENDING_PASSWORD_STATE) |
+ return; |
+ CustomManagePasswordsUIController* controller = |
+ static_cast<CustomManagePasswordsUIController*>(passwords_ui_controller_); |
+ controller->WaitForState(password_manager::ui::PENDING_PASSWORD_STATE); |
+} |
+ |
PasswordManagerBrowserTestBase::PasswordManagerBrowserTestBase() |
: https_test_server_(net::EmbeddedTestServer::TYPE_HTTPS), |
web_contents_(nullptr) {} |