| Index: chrome/browser/ui/passwords/manage_passwords_ui_controller.cc
|
| diff --git a/chrome/browser/ui/passwords/manage_passwords_ui_controller.cc b/chrome/browser/ui/passwords/manage_passwords_ui_controller.cc
|
| index b0f2016be1ada815a13120d6e886559d22f2f29c..398fe97f42e333001105d2c6932a4b525f62944a 100644
|
| --- a/chrome/browser/ui/passwords/manage_passwords_ui_controller.cc
|
| +++ b/chrome/browser/ui/passwords/manage_passwords_ui_controller.cc
|
| @@ -92,6 +92,12 @@ void ManagePasswordsUIController::UpdateBubbleAndIconVisibility() {
|
| #endif
|
| }
|
|
|
| +void ManagePasswordsUIController::OnAskToReportURL(const GURL& url) {
|
| + origin_ = url;
|
| + state_ = password_manager::ui::ASK_USER_TO_REPORT_URL_STATE;
|
| + UpdateBubbleAndIconVisibility();
|
| +}
|
| +
|
| void ManagePasswordsUIController::OnPasswordSubmitted(
|
| scoped_ptr<PasswordFormManager> form_manager) {
|
| form_manager_ = form_manager.Pass();
|
| @@ -251,6 +257,16 @@ void ManagePasswordsUIController::DidNavigateMainFrame(
|
| if (timer_ && timer_->Elapsed() < base::TimeDelta::FromSeconds(1))
|
| return;
|
|
|
| + // This allows "Allow to collect URL?" bubble to outlive the coming
|
| + // navigation.
|
| + if (state_ ==
|
| + password_manager::ui::ASK_USER_TO_REPORT_URL_AFTER_NEXT_LOAD_STATE) {
|
| + // TODO(melandory): Substitute this with a proper solution using
|
| + // provisional_save_manager.
|
| + state_ = password_manager::ui::ASK_USER_TO_REPORT_URL_AND_BUBBLE_STATE;
|
| + return;
|
| + }
|
| +
|
| // Otherwise, reset the password manager and the timer.
|
| state_ = password_manager::ui::INACTIVE_STATE;
|
| UpdateBubbleAndIconVisibility();
|
|
|