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..962507d435c4a6cd99b765b4f2880fc4d8f60a20 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_REPORT_URL_BEFORE_LOAD_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_REPORT_URL_AFTER_LOAD_STATE) { |
vabr (Chromium)
2014/12/05 13:43:22
Apparently, ASK_USER_REPORT_URL_AFTER_LOAD_STATE i
melandory
2014/12/05 14:22:56
Done.
|
+ // TODO(melandory): Substitute this with a proper solution using |
+ // provisional_save_manager. |
+ state_ = |
+ password_manager::ui::ASK_USER_TO_REPORT_URL_AND_PENDING_BUBBLE_STATE; |
+ return; |
+ } |
+ |
// Otherwise, reset the password manager and the timer. |
state_ = password_manager::ui::INACTIVE_STATE; |
UpdateBubbleAndIconVisibility(); |