Chromium Code Reviews| 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( |
|
dvadym
2017/05/23 14:59:52
Why do we need this, it looks that this method is
vasilii
2017/05/24 12:48:36
It's how WaitForSavePrompt() is implemented. This
|
| + 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) {} |