Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4406)

Unified Diff: chrome/browser/ui/passwords/manage_passwords_ui_controller.cc

Issue 2036323002: Implement the UI logic behind the Sign In promo in the password bubble (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: comments Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 2f79b8736960f8a13c857fac51ce85343db017a5..e1b9ea854d6f7adaa73ff3ac7367cda3b2c261e0 100644
--- a/chrome/browser/ui/passwords/manage_passwords_ui_controller.cc
+++ b/chrome/browser/ui/passwords/manage_passwords_ui_controller.cc
@@ -244,12 +244,15 @@ void ManagePasswordsUIController::OnBubbleShown() {
}
void ManagePasswordsUIController::OnBubbleHidden() {
+ bool update_icon = (bubble_status_ == SHOWN_PENDING_ICON_UPDATE);
bubble_status_ = NOT_SHOWN;
if (GetState() == password_manager::ui::CONFIRMATION_STATE ||
GetState() == password_manager::ui::AUTO_SIGNIN_STATE) {
passwords_data_.TransitionToState(password_manager::ui::MANAGE_STATE);
- UpdateBubbleAndIconVisibility();
+ update_icon = true;
}
+ if (update_icon)
+ UpdateBubbleAndIconVisibility();
}
void ManagePasswordsUIController::OnNoInteractionOnUpdate() {
@@ -281,7 +284,9 @@ void ManagePasswordsUIController::SavePassword() {
DCHECK_EQ(password_manager::ui::PENDING_PASSWORD_STATE, GetState());
SavePasswordInternal();
passwords_data_.TransitionToState(password_manager::ui::MANAGE_STATE);
- UpdateBubbleAndIconVisibility();
+ // The icon is to be updated after the bubble (either "Save password" or "Sign
+ // in to Chrome") is closed.
+ bubble_status_ = SHOWN_PENDING_ICON_UPDATE;
}
void ManagePasswordsUIController::UpdatePassword(
@@ -327,6 +332,10 @@ void ManagePasswordsUIController::NavigateToPasswordManagerSettingsPage() {
chrome::kPasswordManagerSubPage);
}
+void ManagePasswordsUIController::NavigateToChromeSignIn() {
+ // TODO(http://crbug.com/615825): do the job.
+}
+
void ManagePasswordsUIController::OnDialogHidden() {
dialog_controller_.reset();
if (GetState() == password_manager::ui::CREDENTIAL_REQUEST_STATE) {
@@ -397,7 +406,7 @@ void ManagePasswordsUIController::DidNavigateMainFrame(
// It is possible that the user was not able to interact with the password
// bubble.
- if (bubble_status_ == SHOWN)
+ if (bubble_status_ == SHOWN || bubble_status_ == SHOWN_PENDING_ICON_UPDATE)
return;
// Otherwise, reset the password manager.

Powered by Google App Engine
This is Rietveld 408576698